#проектирование #agile #scrum #project_management
Один участник нашего Стэк Оверфлоуа в комментарии сказал такую фразу: По поводу ситуации когда требования доконца не ясны, это работа бизнес аналитика, он просто обязан подготовить ЧТЗ к которому не подкопаться, а эта работа занимает иногда даже несколько лет. В зависимости от масштаба проекта конечно. На протежении всей работы аналитика постоянно вносятся хотелки, в зависимости от погружения в процесс, вообщем эта работа довольно сложная, но на выходе качественная продукция. Ну и естественно ни каких еженедельных релизов, это самое большое зло которое выдумали на западе. Заинтересовал этот вопрос. С одной стороны, как мне кажется, раз подходы Agile или SCRUM практикуются, то значит им есть место быть. Слышал о примерах удачных исходов, тогда как до применения Agile были провалы, а с ними все отлично сложилось. С другой стороны, действительно, задаешься вопросом, может ли такая переменчивость направления породить хороший продукт, который годится и со внутренней и с внешней стороны. Понятно, что если речь идет о чем-то совсем не сложном по своему строению, то можно без проблем выкинуть какой-нибудь модуль и написать другой. Но если проект комплексный, сложный, со взаимосвязанными частями... Не получается ли так, что: сначала реализуются одни требования -> потом приходят новые -> ломается часть сделанного -> на этой уже кривой основе строится что-то новое -> и в итоге получается "крокодил"? Еще, при Agile наверняка необходим "начальный капитал", то есть какой-то уже готовый фреймворк, в который остается только добавлять функционал. Так? Вопрос. При каких условиях (тип проекта, окружающая среда ведения проекта, вовлеченные участники разработки, и т.д.) подход Agile имеет преимущества над классическими или другими подходами? Интересны мнения людей с опытом участия в различных проектах. Update: Вытекающий/дополняющий вопрос: Как реализовать подход Agile чтобы качество организации кода было приемлемым?
Ответы
Ответ 1
Аджайл работает только если заказчик готов таким образом работать. Плюсы в том, что он видит, что происходит и способен вмешаться/остановить, если поймёт, что делается вовсе не то, что ему надо. С одной стороны, такая разработка может потребовать больше времени из-за того, что требования меняются. Но с другой - заказчик-то в итоге получает именно то, что ему надо, а не то, что по его описанию подумал аналитик. Но если заказчик так работать не готов, то лучше и не связываться.Ответ 2
Во всех более-менее крупных разработках я только пару раз работал не с Agile (хотя, фактически этот термин нигде ни разу не применялся), когда заказчик выдавал действительно законченные ТЗ. Один раз с Honeywell (FVS File Versioning System) -- требовалось сделать аналог DEC CMS (Code Management System) для работы в сети из разных компов (Ultrix, SunOS, NT, VAX/VMS). И второй раз для Mentor Graphics нужно было сконвертировать форматы файлов с одних станков печатных плат для других. Во всех остальные работах что-то постоянно менялись (иногда сильно, вплоть до смены архитектуры управляющей машины комплекса, иногда слабо и в лучшую сторону -- выбросили поддержку Х.400 при разработке шлюза почты ЦБ РФ) в ходе работы с непосредственным заказчиком.
Комментариев нет:
Отправить комментарий