FDD, Waterfall и lean относятся к гибким методологиям разработки программного обеспечения. Каждая из перечисленных методологий оценивается специалистами на практике, что позволяет определить ее реальные «плюсы» и «минусы». Как с их помощью можно оптимизировать процессы в своей компании?
Методология FDD или Feature Driven Development
Специалисты отмечают, что FDD объединяет в себе лучшие практики и рассчитана на долгосрочные проекты. В основе этой методологии заложено принцип, согласно которому внимание разработчиков сосредоточено именно на функциональных элементах, определяемых заказчиком. Комбинация пяти основных этапов позволяет достичь успеха проекта:
на 1 этапе разрабатывается общая модель определенной задачи;
на 2 — создается перечень полезных заказчику функций;
на 3 — планируются основные процессы с учетом рисков и нагрузок на рабочие группы во избежание возможных критических ситуаций.
4 этап — выполняется разработка, тестирование кодов и модулей, дизайн в установленные сроки, а на 5 — создается сам продукт.
Как видим, «минус» в том, что практически все этапы зависят от действий ведущего специалиста команды программистов, так как он по этой методологии должен совмещать в себе должности не только руководителя, но и аналитика. К «плюсам» FDD относят наличие отчетной документации по всем выполненным процессам. Благодаря этому можно:
- лучше понять требования к проекту, ожидания заказчика;
- легко выявить какие-либо ошибки, сбои;
- своевременно обновить выполняемый проект;
- привлечь к работе новых специалистов;
- предоставить заказчику актуальную на конкретный момент информацию о проекте.
Традиционная методология Waterfall
Данную методологию специалисты также относят к каскадным моделям, так как каждая отдельная фаза разработки представляет собой определенный завершенный этап. Ее основной принцип – не переходить на следующий этап, пока не завершен предыдущий. В отличие от FDD эта методология не определяет точное количество фаз-этапов. Главное, чтобы учитывались следующие моменты:
- понимание четкой структуры проекта;
- анализ требований;
- документирование всех фаз проекта;
- создание ПО на основе утвержденного прототипа.
Несомненный «плюс» Waterfall в том, что рабочий процесс всегда предсказуем, поэтому можно оценить затраты на проект еще до начала его выполнения. Огромный недостаток этой методологии – продукт проходит тестирование в конце жизненного цикла, когда возможность что-либо исправить появляется только после выпуска готового ПО.
«Бережливая разработка» Lean
Еще одна методология, заслуживающая внимания, — это Lean. Отличается от FDD и Waterfall своими основными принципами:
- добиться полномасштабного видения проекта;
- убрать все бесполезное;
- наладить постоянную связь с заказчиком;
- осуществлять цикличность и целостность разработки;
- принимать решения на основании фактических результатов.
Подобные принципы позволяют вносить изменения в проект, если от этого будет польза. Результат: минимум затрат финансов, времени, быстрый релиз продукта. Как «плюсом», так и «минусом» можно считать жесткий контроль со стороны, который не позволяет разработчикам отойти в сторону от первостепенных задач.
About The Author
Виктор Карабедянц
ИТ директор (CIO), руководитель нескольких DevOps команд. Профессиональный руководитель проектов по внедрению, поддержке ИТ систем и обслуживанию пользователей.