ithr-school

 Части разработки. Виды проектов.
  Методологии в разработке

Кто я такой

Дима Богер

Back-end Team Leader,

Cindicator.com

А почему я?

Много повидал

 

(а ещё у меня есть брат-мотиватор)

Фрилансил

Заказы на телеграм-ботов и небольшие сайты

Писал в опенсорс

Решал проблемы студенческих процессов и надеялся что мне кто-нибудь поможет

Разрабатывал удалённо

LionsDigital — делали продукты для мед.вузов

Разрабатывал в большой компании

Selectel — было странно

Тимлидил стартап из студентов

Otters Team — было очень весело

Менторил начинающих

Django Girls — воркшопы для вовлечения женщин в разработку

Вернулся в разработку

Cindicator one ❤️

Ещё раз стал тимлидом

Cindicator one ❤️❤️❤️

Каждый месяц делаю митап

Для питонистов: PiterPy Meetup

slides.com

Разработка как процесс

и кто что в этом понимает

Какая разработка бывает?

 

По степени очности

 

Фриланс

  • Пришла задача
  • Оценил решение
  • Получил оффер
  • Сделал задачу
  • Получил деньги

Удалёнка

  • Постоянная работа
  • Команда часто распределённая
  • Большинство процессов асинхронные
  • Нужен кабинет
  • Интернациональная
  • Требуется дополнительная социализация

Офис

  • Понятный рабочий день
  • Легкая социализация
  • Дополнительный комфорт
  • Отсутствие свободы перемещений

По степени инициативности

 

Заказная разработка

  • Проекты приходят снаружи
  • Нужно чётко оценивать и фиксировать время и траты
  • Отсутствие прикреплённости к проекту
 

Продуктовая разработка

  • Можно прямо влиять на продукт
  • Жизнь продуктом
  • Разнообразные модели управления процессами
 

Ситуация смешения

По типам/платформам продуктов

 

Мобильные приложения

  • Часто требуют бекенд для своей работы
  • Ограниченный набор языков и возможностей
  • Нужно подстраиваться под требования магазинов приложений
 

Веб-приложения

  • Часто требуют бекенд для своей работы
  • Ограниченный набор языков и возможностей
  • Большая свобода взаимодействия с пользователем, доступность из любого утюга
  • Ограничены браузером и не могут делать системные штуки
 

Десктопные приложения

  • Часто оперируют с локальными данными на компьютере
  • Реализуют стандартный интерфейс системы
  • Часто используются "на местах": операторы оборудования и всего такого
 

Обработка данных/утилиты

  • По сути своей небольшие программы с минимальным интерфейсом
  • Выполняют обработку и преобразование данных
  • Используются как промежуточные звенья в разных процессах
 

Internet of Things (IoT)

  • Программы, работающие на небольших устройствах
  • Часто требуют "мастер-сервер", что-то, что будет их координировать и хранить данные
  • Умные дома, носимые гаджеты, чайники, роутеры, квадрокоптеры, ...
 

Ситуация смешения

Роли в IT-процессах

 

Роли в IT-процессах

  • разработчики всех типов, реализующие функциональность продукта
  • тимлиды, выстраивающие технически и не только процессы внутри команды
  • продакт-менеджеры, выбирающие путь проекта
  • эйчары, поддерживающие комфортную атмосферу и развивающие культуру
  • аналитики, предлагающие гипотезы
  • исследователи, изучающие новые возможности для продукта
 

Роли в IT-процессах

  • продажники, находящие клиентов
  • поддержка, помогающая клиентам пользоваться продуктом
  • администраторы, поддерживающие запущенные технические процессы
  • контент-мейкеры, наполняющие продукт контентом
  • дизайнеры, делающие дизайн
  • высшие человеки, решающие что делать с компанией и продуктом вообще
 

Фокус

  • разработчики
  • аналитики
  • исследователи
  • администраторы
 

Один человек  одна роль

Роли  Люди

Некритичные роли прикольно аутсорсить

Из чего состоит IT-продукт?

 

Бекенд

Фронтенд

Среда исполнения

Методологии разработки

Waterfall

Модель водопада

Гибкие методологии

Scrum

Lean

Kanban

eXtremal Programming (XP)

XP

  • Экстремальное программирование
  • парное программирование
  • полное покрытие автоматическими тестами
  • исключение "ненужных" фич
  • плоская структура менеджемента
  • прямая коммуникация между разработчиком и заказчиком

Joint Application Development (JAD)

  • собрать всех в одном месте
  • воркшопы
  • встречи
  • лекции
  • постоянные эффективные совещания

Rapid Application Development (RAD)

  • когда ничего непонятно
  • но нужно быстро сделать
  • зафиксировать ресурсы, изменять функциональность

Из чего состоит разработка

By b0g3r

Из чего состоит разработка

Ну так, в целом

  • 165