Гибкие методологии разработки в последние годы завоевали мир, и это объяснимо: потребительские вкусы и привычки меняются постоянно, разнообразие технологических решений растет, и для того, чтобы продукт был современным, качественным и соответствовал потребностям пользователей, цикл разработки должен быть максимально коротким, а у заказчика должна быть возможность менять требования на протяжении проекта.
Считается, что методология Agile не работает, если речь идет о продуктах, регулируемых жесткими отраслевыми стандартами, или если над проектом работает географически распределенная команда. Мы готовы с этим поспорить! В нашей практике гибкие методологии работают даже на проектах по разработке медицинских приборов или автомобильных систем. Методологии разработки, которые мы используем при работе с разными клиентами, могут иметь как хорошо известные, официальные названия (например, Extreme Programming, Scrum, KANBAN), так и гибко подстроиться под требования проекта заказчика для достижения максимальной эффективности. Как правило, мы используем следующие методы:
- Короткие итерации с фиксированным объемом работ
- Постоянный тесный контакт с заказчиком
- Прямые непосредственные коммуникации на всех уровнях
- Частые упрощенные проверки и контроль процессов
- Разработка через тестирование (test-driven development)
- Рецензирование, совместная работа, коллективное владение
- Привлечение инженеров к оценке трудозатрат для повышения их вовлеченности в проект
- Планирование и оценка на основе предыдущего опыта
- Строгое следование принципу KISS («проще - лучше») для задач по дизайну и рефакторингу