Agile software development
Dec. 21st, 2010 12:51 pmКогда в открытой аудитории начинается обсуждение проблем проектирования, то весьма часто к обсуждению присоединяются сторонники подхода Agile. И, обычно, говорят, что проблемы от того, что традиционное проектирование плохое, а в Agile никаких проблем не будет, потому что Agile хорошее.
У меня же Agile вызывает стойкую ассоциацию с бегом курицы без головы. Если отойти от того, что сама ассоциация неприятна, то определяет она вполне характерное движение. Бег не потому, что в этом движении есть смысл или польза, а потому что помимо головы ещё есть ноги, рефлексы и реакции.
Можно сказать, что Agile является формой естественного эскапизма, когда необходимая, но сложная или неинтересная работа заменяется не бездельем, а другой [как бы] работой, более простой или интересной. Безделье само по себе тягостно, к тому же требует оправдания. А тут все работают.
Помимо психологического фактора, Agile своеобразно соответствует нескольким, в том числе современным, особенностям индустрии. Тезисно, можно посмотреть на следующие направления.
Проектирование – это тоже сложная деятельность, результат которой можно оценить. Успешное проектирование ценится не слишком хорошо, на уровне «само собой разумеется», в то время как провалы в проектировании наглядно портят весь проект. Используя Agile, сама деятельность по проектному управлению сохраняется, но переводится в спонтанную категорию (ad hoc) где её качество становится смутно оцениваемым.
Второе, на мой взгляд, выдающееся качество -- ответственность практически полностью перекладывается на заказчика, особенно в областях не входящих в компетенцию заказчика. Вот это последнее особенно ценно. Это позволяет почти любую проблему исполнителя документально обосновать запросами заказчика.
Этим же подходом качество архитектурных решений и общая системотехника так же переводится в смутную область.
Обходится проблема массового привлечения персонала недостаточной квалификации. Задача формулирования заданий и контроля исполнения сводится к утилизации простейших доступных навыков исполнителей. Результат неквалифицированного труда так же представляется как результат выполнения запроса.
Процесс выполнения работ неявно приводится к схемам Time&Material и Outstaffing. Собственно, проблема тут в неявности, поскольку контроль, в том числе и времени и состава аренды, остаются у исполнителя.
Или кратко, Agile позволяет переложить на заказчика проблемы проектирования, архитектуры и общей низкой квалификации производителей работ и исполнителей.
PS: Прочитав этот текст должен признать его видимую черствость к сторонникам Agile, это уже моя проблема формы изложения, а не отношение к людям.
У меня же Agile вызывает стойкую ассоциацию с бегом курицы без головы. Если отойти от того, что сама ассоциация неприятна, то определяет она вполне характерное движение. Бег не потому, что в этом движении есть смысл или польза, а потому что помимо головы ещё есть ноги, рефлексы и реакции.
Можно сказать, что Agile является формой естественного эскапизма, когда необходимая, но сложная или неинтересная работа заменяется не бездельем, а другой [как бы] работой, более простой или интересной. Безделье само по себе тягостно, к тому же требует оправдания. А тут все работают.
Помимо психологического фактора, Agile своеобразно соответствует нескольким, в том числе современным, особенностям индустрии. Тезисно, можно посмотреть на следующие направления.
Проектирование – это тоже сложная деятельность, результат которой можно оценить. Успешное проектирование ценится не слишком хорошо, на уровне «само собой разумеется», в то время как провалы в проектировании наглядно портят весь проект. Используя Agile, сама деятельность по проектному управлению сохраняется, но переводится в спонтанную категорию (ad hoc) где её качество становится смутно оцениваемым.
Второе, на мой взгляд, выдающееся качество -- ответственность практически полностью перекладывается на заказчика, особенно в областях не входящих в компетенцию заказчика. Вот это последнее особенно ценно. Это позволяет почти любую проблему исполнителя документально обосновать запросами заказчика.
Этим же подходом качество архитектурных решений и общая системотехника так же переводится в смутную область.
Обходится проблема массового привлечения персонала недостаточной квалификации. Задача формулирования заданий и контроля исполнения сводится к утилизации простейших доступных навыков исполнителей. Результат неквалифицированного труда так же представляется как результат выполнения запроса.
Процесс выполнения работ неявно приводится к схемам Time&Material и Outstaffing. Собственно, проблема тут в неявности, поскольку контроль, в том числе и времени и состава аренды, остаются у исполнителя.
Или кратко, Agile позволяет переложить на заказчика проблемы проектирования, архитектуры и общей низкой квалификации производителей работ и исполнителей.
PS: Прочитав этот текст должен признать его видимую черствость к сторонникам Agile, это уже моя проблема формы изложения, а не отношение к людям.
no subject
Date: 2010-12-21 06:03 pm (UTC)no subject
Date: 2010-12-22 02:49 pm (UTC)Опять же кто и что пишет? Когда пишет? Кто и когда читает? Пишет кодер после беседы с заказчиком? Ведь беседа кодера с каким-то представителем заказчика -- это то, что если не диктует, то продвигает Agile?
Если нет ролей да и людей в штате, если нет таймслотов, если банально нет технологии и управления документирования, то откуда возмётся документация? Как говорил один персонаж "порнография сама себя не скачает. :)
no subject
Date: 2010-12-22 03:57 pm (UTC)no subject
Date: 2010-12-23 08:16 am (UTC)no subject
Date: 2010-12-23 08:19 am (UTC)Scrum это больше даже не про коммуникации, а про способ не заниматься лишним бумаготворчеством всем составом команды. Что на мой взгляд (про весь состав) есть большое благо для любого проекта.
no subject
Date: 2010-12-23 08:20 am (UTC)no subject
Date: 2010-12-23 10:06 am (UTC)no subject
Date: 2010-12-23 11:59 pm (UTC)no subject
Date: 2010-12-23 10:02 am (UTC)При этом я считаю, что орудием инженера является слово. :)
no subject
Date: 2010-12-24 12:05 am (UTC)Фокус в том, что заставлять команду писать еженедельные отчеты - херовый способ потратить время. Хороший способ - ежедневная летучка на 10-15 минут во время которой отвечается только на три вопроса "что сделано?", "что запланировано?", "что мешает?".
Во-первых, команда оказывается в курсе того, что делают остальные. Во-вторых, ничего не успело забыться. В третьих, обеспечивается хорошая скорость реакции на проблемы. В четвертых, руководитель проекта каждый день знает в каком состоянии проект.