ЧТО ОЗНАЧАЕТ ТЕРМИН AGILE В ЭТОМ КОНТЕКСТЕ
Слово agile имеет латинское происхождение, и его примерные значения «делать» или «действовать». Как уже было сказано, эта методология основана на 12 принципах agile-манифеста [3] Agile-манифест разработки программного обеспечения. http://agilemanifesto.org .
.
Суть agile-манифеста в следующем: мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь им непосредственно и помогая в этом другим. Благодаря проделанной работе мы смогли осознать, что:
• люди и взаимодействие важнее процессов и инструментов;
• работающий продукт важнее исчерпывающей документации;
• сотрудничество с заказчиком важнее согласования условий контракта;
• готовность к изменениям важнее следования первоначальному плану.
Иными словами, не отрицая важности того, что записано справа, мы все-таки больше ценим то, что слева.
Соответствующие 12 принципов выглядят так:
1. Наивысшим приоритетом для нас является удовлетворение потребностей заказчика благодаря регулярной и ранней поставке ценного программного обеспечения.
2. Изменение требований приветствуется даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
5. Над проектом должны трудиться мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
6. Непосредственное общение – наиболее практичный и эффективный способ обмена информацией как с самой командой, так и внутри нее.
7. Работающий продукт – основной показатель прогресса.
8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
9. Непрерывное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
10. Простота – искусство минимизации лишней работы – крайне необходима.
11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Как видите, некоторые из принципов непосредственно нацелены на разработку программного обеспечения. Однако большинство можно легко применять и в других областях. Аgile-манифест основан на фундаментальной идее о том, что мы живем в сложном и непредсказуемом мире. Так что создание детального плана проекта на несколько лет или даже месяцев вперед не имеет смысла. Как известно большинству людей, которые когда-либо составляли план проекта, после очень короткого времени он лишь отдаленно соответствует реальности.
Agile-разработчики понимают эту ситуацию и стараются минимизировать ее эффект, используя короткие циклы обратной связи и тесно сотрудничая с заказчиком.
На основе agile-манифеста были разработаны различные структуры и процессы. Среди них XP, DSDM, Open UP и, конечно же, очень популярный сегодня Scrum. В то же время идеи agile-разработки программного обеспечения распространились и на другие сферы.
Например, в своей книге The Leader’s Guide to Radical Management Reinventing the Workplace for the 21st Century («Руководство лидера по радикальному управлению: переосмысление рабочего места в XXI веке») [4] Steve Denning. The Leader’s Guide to Radical Management: Reinventing the Workplace for the 21st Century. San Francisco, CA: Jossey-Bass, 2010.
Стивен Деннинг описывает применение идей agile-манифеста в области управления.
Ретроспектива новогодней ночи
Несколько лет назад мы с семьей придумали интересную традицию и назвали ее предновогодней ретроспективой. Она проходит очень весело и помогает скоротать время до полуночи (особенно с детьми). Выглядит это так: сначала мы вместе смотрим фотографии и несколько коротких видео (флешку с ними я готовлю заранее), которые сняли в течение года. Этот этап всегда сопровождается весельем и смехом.
Затем мы обсуждаем наши главные результаты и гипотезы за год. Это важно, потому что только так можно понять, имели ли решения, принятые в прошлом году, желаемый эффект. Если нет, то мы обсуждаем, остается ли тема актуальной, и выбираем новые действия. Перебрав гипотезы, начинаем вспоминать, что из прошлогодних событий особенно запомнилось. Мы используем три категории:
Читать дальше