Онлайн
библиотека книг
Книги онлайн » Литература » Скрам: Правила игры. Карманное руководство - Гюнтер Верхеен

Шрифт:

-
+

Закладка:

Сделать
1 2 3 4 5 6 7 8 9 10 ... 20
Перейти на страницу:
предшественников аджайла в своей книге «Аджайл и итеративная разработка» (Agile & Iterative Development).

Но официальное название «аджайл» родилось в начале 2001 года, когда 17 лидеров по разработке программного обеспечения собрались на горнолыжном курорте Сноубёрд в штате Юта. Они обсуждали свои взгляды на разработку ПО в то время, когда неработающий водопадный подход был заменен тяжеловесной методологией RUP[6], но и она не привела к лучшим результатам по сравнению с традиционными процессами. Лидеры разработки шли различными путями и использовали разные методы, каждый из которых был воплощением новой парадигмы: скрам, экстремальное программирование, адаптивная разработка ПО, Crystal, разработка, управляемая функциональностью (Feature driven development), метод разработки динамических систем (DSDM) и другие.

В результате этой встречи было решено объединить общие принципы, убеждения и методы под одним названием «аджайл». Они были опубликованы как «Аджайл-манифест».

Слишком часто слышно о желании использовать аджайл. И слишком часто это желание подразумевает поиск волшебного решения, еще одного универсального решения для всех проблем. Именно поэтому я утверждаю, что «аджайла не существует». Аджайл – это не какой-то фиксированный процесс, метод или практика. Аджайл – это совокупность общих принципов, которые свойственны всем методам гибкой разработки ПО. Аджайл – это мышление, убеждения и предпочтения, выраженные в аджайл-манифесте.

Манифест помогает понять идеи, на которых основан аджайл. Если вы используете его как источник более глубокого понимания аджайла, я рекомендую посмотреть на 12 принципов[7], которые стоят за формулировками четырех ценностей.

1.3. ОПРЕДЕЛЕНИЕ АДЖАЙЛА

В отсутствие четкого определения я предпочитаю описывать аджайл с помощью трех его ключевых характеристик. Эти черты общие для всех гибких методов и типичны для данного способа работы:

■ движимый людьми;

■ итеративно-инкрементальный процесс;

■ мера успеха – ценность.

1.3.1. Движимый людьми

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

В аджайле не бывает так, чтобы различные типы промежуточных результатов передавались в разные специализированные отделы и каждый из них работал отдельно от остальных.

Аджайл – это постоянное сотрудничество людей из всех необходимых отделов: ИТ, маркетинг, продажи, поддержка пользователей, и др. Аджайл, конечно, не признает традиционные разногласия между бизнесом и ИТ. Они оба необходимы для создания пригодного к использованию, полезного, обладающего ценностью ПО.

Чтобы сотрудничество, взаимодействие и общение были эффективными, нужен другой стиль управления. Например, когда командам ставятся цели и указывается направление, а далее происходит самоуправление в определенных границах. Контроль происходит за счет установки границ.

Сотрудничество и фасилитация заменяют традиционные командно-административные механизмы ежедневного инструктирования людей, которые бездумно исполняют микрозадания, и тоталитарных руководителей, которые осуществляют всепроникающий контроль.

Аджайл – это когда людей уважают за их креативность, интеллигентность и способность к самоорганизации. Их уважают за готовность понимать и решать проблему без церемоний и бюрократии. Обилие церемоний лишь заменяет интеллектуальное сотрудничество, инновацию и ответственность людей на бюрократию, результаты на бумаге, перекладывание задач с одного ответственного на другого и административные отговорки.

Людей уважают за то, что они могут работать в устойчивом темпе бесконечно долго. Работа в аджайле организована без авралов, поэтому темп может быть примерно одинаковым, устойчивым, сколь угодно долго.

1.3.2. Итеративно-инкрементальный процесс

Аджайловые процессы – это не игра без правил. Эти процессы определенны и требуют высокой дисциплины.

Продукты создаются слой за слоем, в этом заключается «инкрементальность» процесса: каждый новый слой создается из расширений, улучшений, удалений и модификаций. Уже созданные слои и продукт целиком часто пересматриваются, чтобы удостовериться в целостности продукта, – это «итеративность».

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

Итеративно-инкрементальный процесс необходим, так как требования и реализация – независимо от того, сколько времени, энергии и денег потрачено на то, чтобы предсказать их изначально, – подвержены изменениям. Назовем лишь несколько причин: рынки и конкуренты развиваются; пользователи начинают понимать, что им действительно нужно, только тогда, когда получают это в свои руки; корпоративные стратегии изменяются. Все это требует осознанности и открытости к изменениям.

В противоположность традиционному процессу, изменения не исключаются из гибкого процесса. Новые идеи, меняющиеся точки зрения и приоритеты – сердце аджайла. Суть аджайла в расширении, развитии и последующем постепенном изменении требований, планов, идей, архитектуры и дизайна. Изменение не разрушительно, потому что оно составляет естественную часть гибкого способа работы. Аджайл поощряет изменения, так как это источник инноваций и улучшения.

1.3.3. Мера успеха – ценность

Прогресс при разработке софта не может быть измерен или гарантирован простым соответствием предустановленным планам и вехам, документам, подписями, согласованиями и другими церемониальными обязательствами, как это бывает в индустриальной парадигме. Аджайл вводит новые способы измерения успеха и продвижения в работе.

В аджайле успех и степень продвижения при разработке софта могут быть определены только путем частых проверок работающих версий софта (а не его промежуточных описаний) и фактической ценностью, которую продукт представляет для использующих его людей.

Естественной составляющей продуктовой разработки является то, что люди становятся уверены в удобстве продукта и его пригодности только тогда, когда попробуют его в действии. Никакая письменная документация или виртуальный процесс не заменят этого. Поэтому так важен итеративно-инкрементальный процесс с регулярной обратной связью с пользователями: измерением воздействия продукта на них, их оценки. Циклы обратной связи выступают как источник входной информации для дальнейшего развития продукта.

1.4. ИТЕРАТИВНО-ИНКРЕМЕНТАЛЬНЫЙ КОНТИНУУМ

При гибком подходе время делится на интервалы – итерации, периоды с фиксированными датами начала и завершения. У техники тайм-боксинга есть много преимуществ, одно из главных – фокус. Благодаря этой технике тайм-менеджмента можно пережить поворотные моменты или резкие изменения. Во время регулярных проверок учитываются извлеченные уроки и работа представляет собой непрерывный поток от итерации к итерации. Основная цель каждой итерации – создание обладающих ценностью работающих версий продукта не позднее чем в конце итерации и получение быстрой обратной связи.

В аджайле вся разработка организована таким образом, чтобы оптимизировать способность отвечать на бизнес-вызовы и использовать их.

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

1 2 3 4 5 6 7 8 9 10 ... 20
Перейти на страницу: