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