vit_r: default (vit_r)
[personal profile] vit_r
One of the key principles in the Agile Manifesto is to have working software at the end of every sprint. Yet, only 20% of teams that call themselves ’agile’ actually do this.
Из рекламы вебинара

Они не могут даже этого...

На самом деле, это враньё. Если рассматривать манифест не с точки зрения Эффективных Менеджеров™, а с точки зрения инженеров, если к концу спринта рабочая версия не будет готова, надо сдвинуть сроки, а если направление развития выбрано ошибочно, то вообще выбросить неправильные части и всё перепланировать заново.

Date: 2014-11-08 11:43 am (UTC)
From: [identity profile] orleanz.livejournal.com
Vit's Kampf gegen Agile goes on

Date: 2014-11-08 11:45 am (UTC)
From: [identity profile] orleanz.livejournal.com
это я безоценочно, просто наблюдение

Date: 2014-11-08 04:06 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Это я просто весёлые наблюдения.

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

Зарабатывая деньги в ИТ, глупо начинать борьбу с такой дойной коровой.
Edited Date: 2014-11-08 04:07 pm (UTC)

Date: 2014-11-08 03:27 pm (UTC)
From: [identity profile] sab123.livejournal.com
Нет, надо просто добавлять новое, не ломая старое. А фичи со структурными изменениями делить на две части:

1. Расширяем инфраструктуру, не меняя функциональность
2. Расширяем функциональность

В обоих этапах старая функциональность должна продолжать работать.

Date: 2014-11-08 03:59 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Нет, надо просто добавлять новое, не ломая старое.

Угу. Добавить к самокату ещё четыре колеса и мотор, чтобы оно стало мотоциклом класса Harley Davidson

В любом софте всегда будут ошибки. Причём, не просто программные ляпы, но и архитектурные заблуждения. Их надо исправлять, а не ставить на "почти работающем" софте новые заплатки.

Date: 2014-11-09 03:16 am (UTC)
From: [identity profile] sab123.livejournal.com
> Угу. Добавить к самокату ещё четыре колеса и мотор, чтобы оно стало мотоциклом класса Harley Davidson

А что, у мотоциклов нынче 6 колес? Но вообще принцип именно такой. Менять постепенно, а не переписывать с нуля.

> В любом софте всегда будут ошибки. Причём, не просто программные ляпы, но и архитектурные заблуждения. Их надо исправлять, а не ставить на "почти работающем" софте новые заплатки.

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

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

Date: 2014-11-09 09:03 am (UTC)
From: [identity profile] vit-r.livejournal.com
Сначала меняем внутреннюю архитектуру, не меняя функциональность

Когда тут перестраивают старые дома, оставляют только фасад, а всё за ним разрушают и делают заново.

Date: 2014-11-10 05:26 am (UTC)
From: [identity profile] sab123.livejournal.com
Программа - не дом, а ЧЕРТЕЖ дома. Дом - это то, что программа делает.

И да, именно так, оставляют видимое пользователем, а остальное меняют. Потому что для видимого пользователем есть тесты. Которые позволяют удостовериться, что измененная внутренняя структура ничего не испортила.

Date: 2014-11-10 06:15 am (UTC)
From: [identity profile] vit-r.livejournal.com
Основные архитектурные ошибки идут из ошибок в ТЗ. То есть, как раз из "видимого пользователем"

Date: 2014-11-12 03:10 am (UTC)
From: [identity profile] sab123.livejournal.com
А это - вторая часть, расширение/изменение функциональности в пределах имеющейся архитектуры. Что действительно просиходит более часто. Архитектуру приходится менять только когда она дальше не растягивается.

Date: 2014-11-12 07:22 am (UTC)
From: [identity profile] vit-r.livejournal.com
Архитектуру надо менять не когда "приходится", а когда её растягивание начинает пожирать ресурсы. А так, знаю проекты, где практически вся работа уходила в это "растягивание".

Но большинство программистов не умеет считать деньги.

Date: 2014-11-08 03:31 pm (UTC)
From: [identity profile] sab123.livejournal.com
То есть, добавлю, "код всегда работает" - это то самое, что позволяет сдвигать сроки. Какая-то фича не готова к релизу? Ну и фиг с ней, можно сделать релиз без нее, а ее код пусть пока посидит неиспользуемым и недокументированным (и, возможно, заглушенным). А когда она доделается до конца - тогда и станет официальной частью релиза.

Date: 2014-11-08 03:55 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Какая-то фича не готова к релизу? Ну и фиг с ней, можно сделать релиз без нее,

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

Date: 2014-11-08 10:55 pm (UTC)
From: [identity profile] l-yara.livejournal.com
Ээээ,мсье не умеет в приоритеты задач? Так это проблемы не Agile.

Не то, чтобы я этот набор карго-культов защищал, Б-женька упаси. Но ИМХО Agile как раз сейчас (по ощущениям, последние года два-три, может, и поболее) довели до необходимого и достаточного набора шаманских слов и ритуалов - такого чтобы перед ним благоговейно затыкались "менеджеры среднего звена". "У нас теперь есть Scrum Master! Дипломированный, с кучей аттестатов и сертификатов! Ужо он нма теперь все настроит и организует!"
При этом вменяемые инженеры (при наличии таковых в команде) прикрыты от дурной инициативности начальства и получают возможность заниматься делом. Да, приходится платить временем (убивая его на дурь вроде Spring Retrospective Meeting или Spring Planning II), но ведь это - вполне умеренная плата за то, что каждое чмо в вертикали теперь не дергает по три раза на дню "ну, как там задача 12.1/4 на Critical Path? Освоена на 28 процентов? Хорошо, а когда будет на 31?". А если вменяемых инженеров в команде нет - так ей ни Agile, ни черт в ступе не помогут и не помешают.

Зато как замечательно становится: как только манагер проникается идеей CI, он готов молиться на индикатор Build Passed / Failed в Дженкинсе. Буквально за кофеем бегает, "ты только не отвлекайся, дорогой Developer, чини билд изо всех сил!"
Edited Date: 2014-11-08 10:57 pm (UTC)

Date: 2014-11-08 11:30 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Так это проблемы не Agile.

Это, именно, проблемы того, что продаётся под этим лейблом.

но ведь это - вполне умеренная плата за то, что каждое чмо в вертикали теперь не дергает по три раза на дню "ну, как там задача 12.1/4 на Critical Path? Освоена на 28 процентов? Хорошо, а когда будет на 31?".

Нифига себе! И где такая дыра, где кнопкатыкателей настолько за людей не считают и менеджерам настолько нефиг делать?

Date: 2014-11-09 12:55 pm (UTC)
From: [identity profile] l-yara.livejournal.com
>> Так это проблемы не Agile.

> Это, именно, проблемы того, что продаётся под этим лейблом.

"Позвольте с Вами не согласиться"(С). Это проблема того, кто не умеет готовить именно эту кошку. Расстановка приоритетов - одна из немногих задач, решаемых руководством (ну, назовите этих людей Project Owner'ами для пущей Аджайлости или Architect'ами для ISO-шности, сути это не меняет).

Или Agile у нас разных систем, такое тоже возможно.

> Нифига себе! И где такая дыра, где кнопкатыкателей настолько за людей не считают и менеджерам настолько нефиг делать?

В абсолютно любой конторе на абсолютно любом проекте где появилось хоть немного условно-свободных денег и начальство мгновенно забронзовело для того, чтобы самолично заниматься разработкой day-to-day. Обычно при сем нанимают какого-нибудь шустрого пацана на должность вроде Project Manager, "и все заверте...". Ему ж надо красивые задоприкрывательные графички/диаграммки рисовать, вот и старается человек. Он обычно не злобен, просто дурноват, нагловат и дворняжьей властью наделен.
А при правильном употреблении от него даже польза бывает - отчетики те же нарисовать, Minutes of Meeting составить, комнату для совещаний забронировать / подготовить. Agile такому вполне способствует.

Date: 2014-11-09 03:49 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Расстановка приоритетов - одна из немногих задач, решаемых руководством

Это тоже иллюзия. Приоритеты нельзя "расставить". Система всегда оптимизируется по тем параметрам, которые измеряют.

А основная проблема агилят в отсутствии того, что обычно называют Requirements Engineering.

Date: 2014-11-10 09:22 am (UTC)
From: [identity profile] l-yara.livejournal.com
> Это тоже иллюзия. Приоритеты нельзя "расставить". Система всегда оптимизируется по тем параметрам, которые измеряют.
Ааа, так у вас кнопкодавы считают, что их дело - кнопкодавствовать, а что и для чего - "пусть у манагеров голова болит"? Ну, в таком проекте хоть Аджайл, хоть RUP, хоть Водопад - любой набор заклинаний обречен, тут не спорю.

> А основная проблема агилят в отсутствии того, что обычно называют Requirements Engineering.
"Ну почему же, дорогая?" (С). Это совершенно ортогональные вещи: где есть - там есть, где нету - там нету. В последние несколько лет я видел с полдесятка команд и проектов с разной степенью Agile'нутости, нигде этот деликатный вопрос на самотек не оставляли. Вообще успех _любого_ проекта зависит (но не определяется) вменяемостью и грамотностью руководства, а уж какой цвет обложки будет у документа с требованиями или какие буковки будут на той обложке - дело вторичное.

Вообще у меня такое впечатление что мы о разных вещах говорим. У Вас такого не возникло?

Date: 2014-11-10 09:28 am (UTC)
From: [identity profile] vit-r.livejournal.com
"Ну почему же, дорогая?" (С).

Потому что так написано в программных документах, этим объясняются все заскоки и вся система построена именно на этом.

Date: 2014-11-09 02:34 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
>где такая дыра, где кнопкатыкателей настолько за людей не
считают

Вы из нее уехали.

Date: 2014-11-09 03:20 am (UTC)
From: [identity profile] sab123.livejournal.com
Если она не готова, то не готова. Ее так или иначе применять нельзя. Придется ждать, когда она доделается. Но в это время ничто не мешает начинать пользоваться фичами, которые готовы.

Я, кстати, карго-культ не защищаю. Все эти скрамы - говно полнейшее. Что не отменяет настоящего самолета, по мотивам которого они строят соломенный.

Date: 2014-11-09 08:59 am (UTC)
From: [identity profile] vit-r.livejournal.com
Но в это время ничто не мешает начинать пользоваться фичами, которые готовы.

Вот и основная ошибка кнопкодавов: Пользователям нафиг не нужны "фичи". Им нужно решение их задач.

Что не отменяет настоящего самолета, по мотивам которого они строят соломенный.

А был ли мальчик?

Date: 2014-11-10 05:29 am (UTC)
From: [identity profile] sab123.livejournal.com
В системах не совсем крохотного размера есть множество задач, которые надо решать. И среди которых можно рассталвлять приоритеты. Но девять женщин все равно не могут выносить ребенка за один месяц.

Date: 2014-11-10 06:16 am (UTC)
From: [identity profile] vit-r.livejournal.com
Основной приоритет в скрумном agile - отчитаться за очередной спринт.

Date: 2014-11-10 09:23 am (UTC)
From: [identity profile] l-yara.livejournal.com
Ээээ, отчитаться кому перед кем? "Команде" перед "Product Owner"? Ну, если на этом интерес "команды" и заканчивается - значит, РО, как бы это сказать, не вполне адекватен занимаемой должности, что ли.

Date: 2014-11-10 09:27 am (UTC)
From: [identity profile] vit-r.livejournal.com
Вообще-то, бизнес - это продажа того, за что платят деньги. Если платят деньги за спринты, то продаются они, а не что-то теоретическое насчёт должностей и их занимания.

Date: 2014-11-10 09:38 am (UTC)
From: [identity profile] l-yara.livejournal.com
Совсем Вы меня запутали. Вам платят за спринт, НЕ за работающий софт? Так почему эта проблема конторы или ее начальника касается собственно Agile? Замените AGile на что угодно - результат будет ровно тем же.
Или Вы утверждаете, что если бы платили не "за спринты", а "за успешное завершение Стадии 4.1/3а на Этапе Эскизного Проектирования согласно Watefall по ГОСТ 1234234.34", а не за работающий софт, то вероятность создания работающего софта была бы выше? Сомневаюсь. А вот манаджерских заскоков, подозреваю, было бы на порядок поболее (впрочем, тут не настаиваю - эмпирика штука опасная).

Date: 2014-11-10 10:56 am (UTC)
From: [identity profile] vit-r.livejournal.com
Так почему эта проблема конторы или ее начальника касается собственно Agile?

Потому что такова реальность Agile

В теории оно может быть и хорошо, а практика показывает грубые факты.

Сомневаюсь

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

Замените AGile на что угодно - результат будет ровно тем же.

Нет, конечно.

Date: 2014-11-10 08:49 pm (UTC)
From: [identity profile] l-yara.livejournal.com
> Я видел как реально работают разные системы в реальных условиях. И я знаю, почему они так работают. А теоретических сомнений можно настроить сколько угодно. Особенно, если нет результатов измерений.

"Коллега, мы же с Вами профессионалы. Давайте просто снимем штаны и сравним." (С) - бородатый уже анекдот. Я так понимаю, достоверной статистики у Вас тоже нет, иначе Вы бы меня уже ею завалили (у меня нет, я от входа предупреждал).
Дабы не раздражать, повторюсь: я утверждаю, что большинство проектов в современном ИТ обречены с момента их начала. Им не помогут ни Agile, ни RUP с MSF. На водопаде они, скорее всего, рухнут быстрее, но я не уверен что это было бы хорошо. Вменяемый же проект (т.е. организованный и возглавляемый адекватными людьми, которые _думают_ и сопоставляют прежде чем с радостным визгом тащить в проект свежевычитанные откровения очередного гуру), при наличии грамотных инжеренов с адекватным количеством кнопкодавов взлетит при любой методологии (тут, конечно, существуют граничные условния - разрабатывать САУ для марсианской экспедиции любой итеративной методологией все-таки не станут, но тут см. пункт про адекватный менеджмент). Точно так же НЕ взлетит проект, в который набрали ТОЛЬКО студентов и поставили над ними свежего выпускника курсов "Супер-пупер методология НАСА по разработке софта для лунного модуля для чайников за 24 часа с перерывом на обед и двумя перекурами". Надеюсь, по этому вопросу мы все-таки согласны друг с другом?

Теперь о грустном. Я давно почитываю Ваш журнал, и Ваша одержимость идеей "Аджайл - говно и Requirement Management в нем нет" стала неприятным сюрпризом - настолько, что я аж влез в разговор. Вторая посылка как минимум формально неверна - ну, хотя бы вот по этой ссылке гляньте, что ли: http://agilebench.com/blog/the-product-backlog-for-agile-teams. Но это - мелочи, главный вопрос - зачем столько желчи на этих, в общем-то безобидных, тварей? Аджайл ведь во многом уже стал _очередной_ религией для менеджеров-недоучек и их начальников, они только что не молятся на нодопонятые и с-пятого-на-десятое-недочитанные идеи из умных книг основателей. Вы бы слышали их "производственные совещания" - ни дать не взять теологические диспуты: "В книге с синей обложкой сказано, что Sprint Planning Meeting дожен проводиться не позднее второго дня от начала предыдущего спринта! - Да, но вот в статье на сайте Джона Пальцато сказано, что они использовали этот ресурс для Technical-Backlog-чем-то-обо-что-то-Retrospective! - А вот на курсах нам рассказывали, что ... " - это ж обхохотаться. Так чего ж Вы на убогих сердитесь? Они ж Вам в руки дают такое шикарное средство управления (или, как минимум, сведения ущерба от их дури к приемлемому уровню) - пользоваться надо, а не брюзжать.
Проводя аналогию - Вас вот Библия или Тора с Кораном не раздражают? А меж тем люди, буквально следующие этим писаниям, настолько предсказуемы и удобны в использовании, что только умиляешься. Так почему адепты одной книги Вас цепляют, а другой - нет?

Date: 2014-11-10 12:07 pm (UTC)
From: [identity profile] z-kir.livejournal.com
Добрый день.

А они там не пишут что такое работающий софт (working software)?
Который можно ставить клиенту (клиентам, если их тысячи)? Новая версия, которую можно ставить в production неглядя вместо предыдущей?
Который проходит текущий набор эталонных тестов?
Которая просто собралась в инсталяционный пакет и ее можно тестировать?

Имхо, если каждые четыре недели есть версия, которая прошла тестирования и ее не стыдно показать кому-нибудь за пределами RnD, это уже не так уж плохо.
(Знаю людей для которых и ежедневный билд является откровением)
Edited Date: 2014-11-10 12:07 pm (UTC)

Date: 2014-11-10 02:50 pm (UTC)
From: [identity profile] vit-r.livejournal.com
А они там не пишут что такое работающий софт (working software)?

Исходя из практического опыта это означает "удалось скомпилировать без ошибок".

Profile

vit_r: default (Default)
vit_r

June 2025

S M T W T F S
12345 6 7
8 910 11 12 1314
15 161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 17th, 2025 04:15 am
Powered by Dreamwidth Studios