От проектов на заказ к конфигурируемому продукту:...
TRANSCRIPT
От проектов на заказ к конфигурируемому продукту
Работа над ошибками
Литвинова Екатерина
ua.linkedin.com/in/katerynalitvinova Киев, Украина
2
• 8 лет практического опыта в
продуктовых компаниях
• Из них 6 лет в качестве бизнес-консультанта и
функционального аналитика
• Участие более чем в 40 проектов
различных отраслей
Пару слов о себе
3
• Разработка ПО для бизнеса•Более одного проекта в отрасли•Средне- и долго-срочные проекты
Повысить эффективность разработки путем
повторного использования программного
кода
Контекст компании
Стратегическая задача компании
4
Предыстория
Требования пересекаются
Код разны
й
Сроки независимые
5
•5 заказчиков –> 5 систем –> 5 команд
• Команды с разным опытом•Одна фича –> 5 вариантов реализации
–> 5 затрат на реализацию
–> 5 затрат на сопровождение
Проблематика
6
Общий код!Конфигурирование!
7
Что такое общий код?
Общий программный
код
Кастомная логика
проекта 1
Кастомная логика
проекта 2
Конфигурация проекта 2
Система 1
Система 2
Конфигурация проекта 1
8
Ожидаемый выигрыш
• Однократная качественная разработка
• Ускорение разработки в целом• Обмен опытом• Экономия на сопровождении• Экономия на запуске
новых проектов
9
Но что нас ждало на пути?
10
Кого коснулись изменения?
ЗаказчикиКоманды
11
Все началось с аналитиков
…у нас много вредных привычек
12
Привычка думать только про свой проект
Заказчик 1 Требование Аналитик 1 Спецификация 1
Заказчик 2 Требование Аналитик 2 Спецификация 2
Суть однаРеализация
разная
13
Эгоистам вход воспрещен
Заказчик 1 Требование Аналитик 1
Заказчик 2 Требование Аналитик 2
Спецификация
14
• Собрать единый список
потребностей•Ежедневные stand-up встречи
• Встречи аналитиков•Проактивный обмен знаниями
Инструменты (1)
15
• Ответственность по разделам системы, не по
проектам•Показ фич до реализации
• Презентация реализации
Инструменты (2)
16
Непривычка думать о многих заказчиках
Заказчик 1 Требование Аналитик Спецификация
Заказчик 2 Разработчик
Общий код
17
Наберитесь терпения
Заказчик 1 Требование Аналитик
Заказчик 2 Архитекторы
Руководители проектов
Заказчик 3
Умею руководить!
18
• Проактивный подход• Коммуникации
…устные…письменные…и, обязательно, письменные итоги
Инструменты
19
Непривычка делить требования
Требование 1 и его
конфигурация
Требование 2 и его
конфигурация
Требование N и его
конфигурация
…
Общий программный
код
Кастомная логика
проекта 1
Кастомная логика
проекта 2
Конфигурация проекта 2
Конфигурация проекта 1
20
Досталось не только аналитикам
21
•Уйти от хардкода
• Быстро конфигурировать• Стать заказчиком для
аналитика•Иногда переделывать
Разработчик, будь готов!
22
Двойная порция для тестировщиков
Система 1
Система 2
Общий программный
код
Кастомная логика
проекта 1
Кастомная логика
проекта 2
Конфигурация проекта 2
Конфигурация проекта 1
23
• Как минимум не должен ощутить
ухудшений
• Должен получить конфету за каждую
пилюлю
•Не обязательно должен переехать на
общий код сразу
И, кстати, Заказчик…
24
• Идем к цели постепенно•Непрерывно обмениваемся
информацией• Думаем обо всех Заказчиках сразу• Смотрим в будущее• Рефакторим спецификации, код, тесты
•Учимся без остановки всей командой
Итак, внимание
Благодарю за внимание!
Время для ваших вопросов…
ua.linkedin.com/in/katerynalitvinova