НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Аджайл-Манифест справил десять лет

На февраль 2011-го пришелся юбилей Манифеста гибкой разработки, на котором собрались как некоторые из оригинальных 17-ти авторов воззвания, так и новые вдохновители мирового agile-движения. Отпразднован он был под деловому: участники провели микро-аджайл, сформулировали ситуацию as is и подвели некоторые итоги.

[spoiler]О юбилейной встрече изданию DrDobbs рассказал Scott Ambler, автор упрощенной и расширенной версий RUP-а, ныне возглавляющий agile-отдел в департаменте методологий IBM.

Аджайлисты традиционно придерживаются четырех ключевых принципов в своей деятельности:
1. повышать технический опыт;
2. содействовать индивидуальным изменениям и возглавлять изменения организационные;
3. организовывать "знаниевость" и улучшать образование;
4. повышать отдачу на протяжении всего процесса.
Эти довольно абстрактные и слегка бессмысленные тезисы в контексте agile-движения нуждаются, очевидно, в более детальном разъяснении, что Ambler и делает.

1. Это рефлексия по поводу того, что мы имеем (точнее, что мы гораздо чаще не имеем) на практике. Согласно Манифесту, технический опыт критичен для успеха проекта. Да, средний уровень команд достаточно высок, однако качество и глубина освоения конкретных аджайлов и практик, от TDD до рефакторинга, оставляют желать лучшего.

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

3. Умение находить, вычленять и использовать нужные знания особо актуально сегодня, когда в Сети настоящая какофония мнений, среди которых немало и авторитетных. Как минимум, необходимо сформировать Agile Book of Knowledge (ABoK) по аналогии с Software Engineering Body of Knowledge.

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

Мировой цвет agile-движения во главе с Алистером Коберном, едва собравшись на юбилейную тусовку, тут же организовал свою деятельность в лучших традициях своей веры. Разбившись на семь групп, они накинулись на семь тематических топиков (отдача от работы; ретроспектива; технический/гибкий процесс; бизнес/корпоративный и иной процесс; культура; образование/тренинг;  будущее), и все выбранные темы по agile-технологиям были тщательно проанализированы, оценены, изучены и оприоритезированы. Например, все согласились с необходимостью тщательнее обсуждать роль архитектуры в проекте, и так же единодушно отметили, что традиционная для многих компаний оценка сотрудников по их сертификатам и знаниям никогда не войдет в agile-практики.

Основные результаты работы семи групп будут приведены в завтрашнем посте. Много материалов, обсуждения и рефлексию по прошедшим 10 agile-годам можно найти на сайте 10yearsagile.org.

И еще, реплика в продолжение обсуждения аджайла TDD (разработка, управляемая тестированием) -- оказалось, что если классические unit-тесты выявляют 35% дефектов, то подход TDD (сперва пишем тесты, потом код) не шибко эффективнее -- он выявляет всего 40% багов!
Capers Jones, участвовавший в обсуждении DrDobbs, предлагает свою версию TDD, которая учитывает недостатки механического подхода к тестированию. Он предлагает хорошо забытое старое -- приемочные тесты.
-- они фокусируются на нуждах пользователя;
-- они тестируют не код, который может быть правильным, но делать не то, что надо пользователю, а функциональность, которая может быть ошибочной при корректном коде;
-- они хорошо документируют проект.
Аджайлы на базе приемочных тестов естественно мигрируют в сторону методологий BDD и ATDD, упоминавшихся в том же посте.