Версия для печати


Легко ли делать Agile?

Agile, особенно SCRUM – отличный способ организовывать разработку. Agile прост и элегантен, быстр и дешев. Он позволяет делать продукты, максимально близкие к ожиданиям Заказчика. Но это сложно. Да, это сложно! Первая статья в серии про agile – почему это не так просто, как кажется...

 На очередной выездной сессии обнаружил у коллег страшное заблуждение – многие считают, что agile – это очень просто, гораздо проще чем например RUP. И раз это очень просто, то делать agile в распределенной среде – это тоже очень просто. Караул!

Разбираемся по порядку – первая часть заблуждения: agile – это очень просто (про вторую напишу отдельную статью).

Давайте будем мыслить инженерно. У всего на свете есть смысл (даже если кажется, что его нет). В чем смысл Менеджера Проекта?

Команда проекта нужна, чтобы делать продукт «софт». Зачем нужен менеджер? Поставить (произвести) продукт «процесс», по которому делается софт. Соответственно «процесс» – это продукт, производимый Менеджером Проекта. Соответственно чем процесс легче, мощнее, быстрее – тем он лучше: тем совершеннее будет «софт».

Дальше – отделим процесс как продукт от его «производства». Соответственно производство должно быть простым, легко организуемым, не требующим большого объема знаний (в таком случае говорят, что производство технологично). За «производство» продукта «Процесс» отвечает Менеджер Проекта.

Рис. 1. Команда делает софт, Менеджер делает процесс, по которому делается софт.

А теперь внимание. Посмотрите на картинку внизу – что проще?

Рис. 2. Какой из этих двух усилителей проще?

Микросхема – устроена просто, легче, удобнее, быстрее, мощнее. Как продукт она безусловно совершеннее. Ламповый усилитель – устроен сложно, тяжелее, неудобнее, медленнее, слабее. Как продукт он безусловно хуже.

Понимаете, о чем я говорю? Результирующий продукт микросхемы – эффективней по всем параметрам, но чтобы произвести его, требуется гораздо большая сумма знаний, технологий и оборудования. Agile – он как эта микросхема. Он отличный, замечательный – но в состоянии ли вы его сделать своими руками?

Традиционные итеративные подходы – они почти всегда хуже. Но зато у них есть огромное преимущество - ламповый усилитель вы при желании легко соберете дома.

Так что получается что agile – да, во многих случаях он лучше. Дешевле  и эффективней. При условии, что вы обладает набором необходимых знаний, технологий и оборудования – иначе попытки его использовать - это бесплодные фантазии. То есть для того, чтобы agile заработал, вы должны иметь быть в состоянии его запустить – а значит, обладать большими, нет, БОЛЬШИМИ знаниями во всех областях, связанных с его запуском. В первую очередь это управление ожиданиями заказчика, работа с требованиями, SCM, тестирование. Ну и конечно - плюс требования к знаниям команды, Заказчика и конечно – технологии.

Мой совет – пока не научились работать традиционным итеративным подходом и давать устойчивый результат – не трогайте agile. Разберитесь в принципах работы усилителей, прежде чем пытаться создать компоненты для них.

И еще одно – не используйте слово agile для обозначения бардака. Потрудитесь открыть любую книжку по любому agile-методу – там есть довольно большой требований, которые нужно выполнить, чтобы вы могли сказать «мы работаем по XP» или «мы работаем по SCRUM».

 

Денис Петелин,

  воскресенье, 26 августа 2007 г.

Статьи на эту тему

Нет статей.

 

 
   © 2005 SEADMEX. Все права защищены.