Выбор и внедрение процесса: от водопада до Kanban/XP/RUP Александр Сербул

advertisement
Выбор и внедрение процесса:
от водопада до Kanban/XP/RUP
Александр Сербул
Руководитель направления контроля качества интеграции и внедрений
@AlexSerbul
А нужен ли процесс?
Если проект маленький – можно сделать и
«на коленке»
Когда разработчиков >2-3 - процесс нужен
Когда проект объемный, сложный –
процесс нужен
Когда планируется поддерживать и
развивать веб-систему – процесс нужен
Как работать с проектами – решает
руководство компании либо менеджер
проекта.
Делаем «на коленке»
Согласуется расплывчатое ТЗ
Ничего не проектируется - зачем, все
понятно
Разработчик делает «лишь бы работало и
побыстрее»
Тестировщик покликал – вроде работает
Аврально вносятся изменения
Документация – а что это?
Этап сдан?
Делаем «на коленке»
Риски:
•
•
•
Систему все сложнее развивать (экспонента)
•
•
•
•
Веб-система монолитна - боится изменений
Новый программист пытается все переписать с нуля
Программист может и не разобраться в такой веб-системе
Никто не помнит, как все работает (даже Заказчик)
Любое изменение рождает много ошибок
Тестировщик не знает, как все проверить
Давайте все спроектируем
заранее!
Процесс – «Водопад», «Каскадная модель»:
•
Подробно все проектируем, рисуем интерфейсы,
описываем в ТЗ
•
•
•
•
•
Получаем ТЗ на 1000-2000 страниц
Кодируем
Проводим нагрузочные испытания
Тестируем
Сдаем проект Заказчику
Иногда работает на сложных, больших, специфических
проектах. Любое изменение требует больших затрат на
пересогласование, перепроектирование…
Давайте все спроектируем
заранее!
Итеративный процесс
Повторяем все фазы, но на каждом этапе
Улучшается обратная связь с Заказчиком – он принимает
каждый этап (итерацию)
Занимаемся самыми приоритетными задачам и рисками
Затраты на проект распределяются равномерно, а не в
конце проекта
Постоянное тестирование – в процессе, а не в конце
Эффективная загрузка команды
(+) Эффективно работает на сложных, больших проектах.
Изменения требований – можно пережить. RUP
(-) Много ролей, сложно настроить, внедрить, поддерживать
процесс.
Итеративный процесс, RUP
Agile
Agile – управление
требованиями
Agile - планирование
Agile – короткие итерации,
feedback
Agile – unit tests
Selenium
XP
Экстремальное программирование (extreme
programming) – 13 правил
Kanban
Цель - сократить время прохода задачи до
«готовности»
•
Задача = ММФ – минимальная маркетинговая фича
•
•
•
Уменьшение числа || выполняемых задач (“work in progress”)
Визуализация задач
Постоянное совершенствование производства
Система очень проста, удобна как для веб-студий, так и для
работы с фрилансерами.
Kanban
Kanban
Спасибо за внимание!
Вопросы?
Александр Сербул
serbul@1c-bitrix.ru
@AlexSerbul
Download