Просто ли делать Agile?

Agile, особенно SCRUM – отличный способ организовывать разработку. Agile прост и элегантен, быстр и дешев. Он позволяет делать продукты, максимально близкие к ожиданиям Заказчика. Но это сложно. Да, это сложно! Первая статья в серии про agile – почему это не так просто, как кажется. На очередной выездной сессии обнаружил у коллег страшное заблуждение – многие считают, что agile – это очень просто, гораздо проще чем например RUP. И раз это очень просто, то делать agile в распределенной среде – это тоже очень просто. Караул! Разбираемся по порядку – первая часть заблуждения: agile – это очень просто (про вторую напишу отдельную статью). Давайте будем мыслить инженерно. У всего на свете есть смысл (даже если кажется, что его нет). В чем смысл Менеджера Проекта? Команда проекта делает продукт «софт». Зачем нужен менеджер? Поставить (произвести) процесс. Соответственно «процесс» – это продукт, производимый Менеджером Проекта. Соответственно чем процесс легче, мощнее, быстрее – тем он лучше: тем совершеннее будет «софт». Дальше – отделим процесс как продукт от его «производства». Соответственно производство должно быть простым, легко организуемым, не требующим большого объема знаний (в таком случае говорят, что производство технологично). За «производство» продукта «Процесс» отвечает Менеджер Проекта. (см. Иллюстрацию ниже – команда производит продукт по процессу, менеджер производит процесс для команды (или помогает команде его произвести).

Рис. 1. Команда делает софт, Менеджер делает процесс, по которому делается софт. А теперь внимание. Посмотрите на картинку внизу – что проще?

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

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

Материал с www.seadmex.ru

Tags:

Post Author

This post was written by who has written 29 posts on Agile.by.

  • http://yuri.shilyaev.com Yuri Shilyaev

    Наш RSS-ридер под названием “встречи в Лидо” работает просто отлично. 🙂 Денис, спасибо за метафору.
    На этой неделе я нашел еще одну хорошую метафору, когда читал семинар по Agile для нашей команды проекта. Аджайл это как игра в футбол. Тренер не может руководить когда кому бежать, кому подавать пас и т.п. Игрокам приходится согласно выработанной стратегии самостоятельно принимать решения, никто за них матч не сыграет.
    Есть одна оговорка: к играм российском сборной эта метафора отношения не имеет. ;)))

  • http://pveller.blogspot.com/ Pavel Veller

    Мне еще нравится метафора джаз сессии. Вот уж где самоорганизованность и commitment высшего класса. А в роли тренера – солист.