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