В дебрях водопада
Sep. 25th, 2014 06:35 pmРаз
cross_join выпытывает про три уровня, напишу немного подробнее.
Agile в изначальной концепции - это просто возможность адаптации процессов к команде, задачам и условиям.
Cockburn в «Agile Software Development» называет это третьим уровнем. (Насколько хороша книжка по Use Cases, настолько тупа книжка про Agile. Но иногда встречаются просветы вроде этих трёх уровней.)
Первый - это просто карго-культы.
Второй - это, когда приходит понимание, что карго-культы не работают и надо подстраивать их под реальность.
Естественно, у него это сформулировано по-другому, потому что он гуру и продаёт консультации. А про уровни, скорее всего, добавил для отмазки, на случай если серебряные пули не сотворят чуда. Точнее, если отсутствпие волшебного действия поймут осчастливленные новой мудростью.
В принципе, всё это дело должно строиться на психологии. Если перефразировать исходный манифест, получается прсото призыв понять, что люди - это люди, и лучше это учитывать, чем пытаться подавить.
Но в ИТ психологию никто не знает, все рассказывают, что мозги похожи на компьютер, токарный станок или сборочный конвейер. (При этом гуры плохо понимают, как это всё на самом деле внутри работает. Включая и компьютер.)
Agile Process - это что-то вроде твёрдой воды и холодного огня. То есть, сделать можно, но смысла нет. Потому что любая фиксация формальностей сразу убивает возможность изменений.
Любой процесс в какой-то мере водопад. По крайней мере, когда деньги кончаются, игра завершается.
Любой процесс в какой-то мере спираль. Потому что никогда ничего не бывает готовым абсолютно полностью и совершенно без ошибок. Даже межпланетным аппаратам, летящим в космическом пространстве, дописывают софт.
Любой процесс в какой то мере agile (в изначальном понимании). Потому что делать всё формально и с полной документацией - это никаких ресурсов не хватит. Да и просто делать в объёмах, прописанных профессорами от софтостроения, занятие недешёвое и не очень осмысленное. Судьба Мотороллы тому наглядный пример.
Любой «agile process» на самом деле не очень agile, а часто и совсем не agile. Просто по определению.
По сути дела, стремиться надо не туда, а к пятому уровню по Crosby’s Quality Management Maturity Grid. Как туда идти в ИТ можно почитать у Gerald M. Weinberg в «Quality Software Management». Он не во всём прав, но прав во многом.
Настоящее надёжное управление получается не от того, что выполняются какие-то предписания, а когда люди понимают, что и зачем делают, могут это измерять, предсказывать и контролировать. В том числе, предсказывать и контролировать случайные параметры, недостаток информации и общую неопределённость.
Контроль, естественно, понимается не с точки зрения отчётности, а как способность адоптировать реальные процессы, метрики, способы измерения, цели, задачи и прочее.
На этом всё. Дальше надо книжку писать толстую. Причём, не пересказывающую упомянутые и не упомянутые источники, а только на них базирующуюся.
Agile в изначальной концепции - это просто возможность адаптации процессов к команде, задачам и условиям.
Cockburn в «Agile Software Development» называет это третьим уровнем. (Насколько хороша книжка по Use Cases, настолько тупа книжка про Agile. Но иногда встречаются просветы вроде этих трёх уровней.)
Первый - это просто карго-культы.
Второй - это, когда приходит понимание, что карго-культы не работают и надо подстраивать их под реальность.
Естественно, у него это сформулировано по-другому, потому что он гуру и продаёт консультации. А про уровни, скорее всего, добавил для отмазки, на случай если серебряные пули не сотворят чуда. Точнее, если отсутствпие волшебного действия поймут осчастливленные новой мудростью.
В принципе, всё это дело должно строиться на психологии. Если перефразировать исходный манифест, получается прсото призыв понять, что люди - это люди, и лучше это учитывать, чем пытаться подавить.
Но в ИТ психологию никто не знает, все рассказывают, что мозги похожи на компьютер, токарный станок или сборочный конвейер. (При этом гуры плохо понимают, как это всё на самом деле внутри работает. Включая и компьютер.)
Agile Process - это что-то вроде твёрдой воды и холодного огня. То есть, сделать можно, но смысла нет. Потому что любая фиксация формальностей сразу убивает возможность изменений.
Любой процесс в какой-то мере водопад. По крайней мере, когда деньги кончаются, игра завершается.
Любой процесс в какой-то мере спираль. Потому что никогда ничего не бывает готовым абсолютно полностью и совершенно без ошибок. Даже межпланетным аппаратам, летящим в космическом пространстве, дописывают софт.
Любой процесс в какой то мере agile (в изначальном понимании). Потому что делать всё формально и с полной документацией - это никаких ресурсов не хватит. Да и просто делать в объёмах, прописанных профессорами от софтостроения, занятие недешёвое и не очень осмысленное. Судьба Мотороллы тому наглядный пример.
Любой «agile process» на самом деле не очень agile, а часто и совсем не agile. Просто по определению.
По сути дела, стремиться надо не туда, а к пятому уровню по Crosby’s Quality Management Maturity Grid. Как туда идти в ИТ можно почитать у Gerald M. Weinberg в «Quality Software Management». Он не во всём прав, но прав во многом.
Настоящее надёжное управление получается не от того, что выполняются какие-то предписания, а когда люди понимают, что и зачем делают, могут это измерять, предсказывать и контролировать. В том числе, предсказывать и контролировать случайные параметры, недостаток информации и общую неопределённость.
Контроль, естественно, понимается не с точки зрения отчётности, а как способность адоптировать реальные процессы, метрики, способы измерения, цели, задачи и прочее.
На этом всё. Дальше надо книжку писать толстую. Причём, не пересказывающую упомянутые и не упомянутые источники, а только на них базирующуюся.
no subject
Date: 2014-09-25 07:12 pm (UTC)Напиши-напиши. Будет еще одна серебряная пуля. Даже если книга будет называться "почему не бывает серебряных пуль".
no subject
Date: 2014-09-25 08:51 pm (UTC)no subject
Date: 2014-09-25 10:15 pm (UTC)А модные технологии создаются в основном переписыванием старых книжек. Причём, то, что писали профессионалы, переписывают профессора, никогда в жизни не державшие в руках живого кода. Тем более, не опускающиеся то того, чтобы поговорить с практиками по душам.
Те же пять уровней CMMI выросли из пяти уровней Crosby. Только люди уже не понимали, как это работает в реале, зато добавили много наукообразных слов.
no subject
Date: 2014-09-26 08:04 am (UTC)В итоге все-таки нормальная адаптированная спиральная метода.
no subject
Date: 2014-09-26 09:44 am (UTC)Модель - это просто способ предсказания и ничего больше.
no subject
Date: 2014-09-26 09:52 am (UTC)no subject
Date: 2014-09-26 10:31 am (UTC)Смысла в этом названии нет, просто картинки красивые.
no subject
Date: 2014-09-26 10:31 am (UTC)no subject
Date: 2014-09-26 11:35 am (UTC)no subject
Date: 2014-09-26 11:59 am (UTC)По сути дела спираль - это свёрнутые в трубочку маленькие водопады. То есть, опять не учтены короткие циклы.
no subject
Date: 2014-09-26 12:06 pm (UTC)Слово "частями" означает обычно, что виток последний.
Дальше - сопровождение.
no subject
Date: 2014-09-26 12:10 pm (UTC)Модель спиральная этого не учитывает, потому что этапы завязаны не на качество, а на время.
no subject
Date: 2014-09-26 12:12 pm (UTC)no subject
Date: 2014-09-26 12:30 pm (UTC)Ладно, я на этом останавливаюсь, а то уже начался слив секретной информации.
(Естественно, модель называется не адаптивной, потому что это просто прилагательное.)
no subject
Date: 2014-09-26 01:14 pm (UTC)Прерывание в середине витка не выявляет проблем функциональной архитектуры, только технической да и то отчасти.
no subject
Date: 2014-09-26 01:20 pm (UTC)no subject
Date: 2014-09-26 01:24 pm (UTC)no subject
Date: 2014-09-26 01:27 pm (UTC)Не надо защищать модель в той области, где она не работает. Надеюсь, мне можно обойтись метафорами и нет нужды вытаскивать конкретные случаи из практики, вроде вылезших посреди разработки требований, в корне меняющих архитектуру.
no subject
Date: 2014-09-26 01:30 pm (UTC)То есть это другой процесс на других условиях, когда оплата работы зависит от времени, а не от требований и периметра.
no subject
Date: 2014-09-26 01:36 pm (UTC)Нет, конечно. Иначе это не требования, а бесполезные бумажки.
no subject
Date: 2014-09-26 01:46 pm (UTC)no subject
Date: 2014-09-26 02:03 pm (UTC)no subject
Date: 2014-09-26 02:06 pm (UTC)Вот они- - три ключевые модели, остальное - вариации между.
no subject
Date: 2014-09-26 02:14 pm (UTC)no subject
Date: 2014-09-26 02:16 pm (UTC)no subject
Date: 2014-09-26 02:18 pm (UTC)no subject
Date: 2014-09-26 02:21 pm (UTC)no subject
Date: 2014-09-26 02:39 pm (UTC)