![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
IT does not have objective productivity metrics. We can compare similar projects in stable conditions but we cannot measure effects of fundamental changes.
Consequently people cannot prove their statements about architecture, design and technologies with facts and numbers. They describe advantages and disadvantages in the way they would speak about poetry or paintings.
Consequently people cannot prove their statements about architecture, design and technologies with facts and numbers. They describe advantages and disadvantages in the way they would speak about poetry or paintings.
Это из поста в другом месте. Но здесь будет про водопад и agile. Частично скопировано из ответов на наезды. (Я имею ввиду существенную часть, без наводящих вопросов.)
В принципе, всё уже было тут. Иногда, намёками. Просто соберу в одном месте.
(И аккуратно обойду серьёзные темы. Незачем пугать людей. Если напишу всё подробно, буду проклят по всей индустрии. Причём, не только в русскоязычном сегменте. По этой причине попридержал писанину по качеству. Надо сначала найти тихое место, где можно спокойно пересидеть до пенсии. Лучше всего, на какой-нибудь пасеке, разводя пчёлок.)
Текст частично написан на английском, чтобы не размножать термины. Частично на русском, чтобы не привлекать ненужного внимания. Английский на уровне быстрого письма между делом, так что могут быть ошибки.
Для начала определимся с правильными обозначениями.
Process models describe not the creative, productive or qualitative aspects but the budget planning strategies. The correct names would be:
- Moneyfall instead of Waterfall
- Golden Stairway instead of Spiral
- Hamster Wheel instead of Sprint
Note: agile is not a model but a set of banal principles that are commonly misunderstood and misused.
Люди, написавшие Agile Manifesto, тем более, создавшие agile methodologies, - консультанты. Не надо верить им на слово, у них коммерческие интересы. (Сейчас, кстати, пришла пора менять парадигму и появились голоса, сообщающие, что agile is dead.)
Плюс при введении «Agile Processes» (кто читал манифест этих жуликов, поймёт оксюморн) уходят лучшие. А остающиеся кидают им вслед банановые шкурки.
The following text contains dangerous ancient knowledge. Read it at your own risk. Parts that are not written in English must not be translated.
Я на самом деле не советую затрагивать эту тему на публике, даже если удасться разглядет структуру под стоящим ниже. Эффект будет не лучше, чем от объяснений законов Кепплера на отчётном собрании испанской инквизиции.
Программисту, чтобы стать человеком, надо идти сначала подмастерьем к инженеру. К нормальному инженеру-конструктору. Даже можно к инженеру-электрику. Но к электронщику уже не стоит.
Не увидев реальной жизни, Специалист по Информационным Технологиям живёт в мире розовых пони и воздушных замков. (А сам изображает благородного рыцеря в картонных латах на белом пингвине.)
А теперь серьёзно.
Moneyfall
Я не знаю, в чью больную голову пришла идея разделить Development и Testing. Понятно, что в древние времена, когда мигрантов из инженеров и физиков в индустрии было больше, чем людей с красивыми дипломами компьютерных учёных и прочих неучей, все прекрасно понимали, что скрывается за названиями. Для планирования бюджетов было пофиг, как обозначены фазы проекта, гораздо важнее было правильно распределить людей и выделить деньги.
Но в эту область пришли менеджеры с консультантами, приняли стоящее в книжках за истину в последней инстанции и начали строить самолёты из соломы.
The correct names for Moneyfall stages are:
- Component Development instead of Development
- (In House) Integration and (Field Test and) Adaptation instead of Testing
Если кто-то понял, как правильно называются предыдущие фазы, может молча взять с полки пирожок. Об этом будет в другом месте и в другое время.
Представляя эту модель потоком каких-то работ, мы получим встроенные друг в друга циклы с обратным течением (исправление ошибок и отсылка дефектных результатов предыдущих этапов на доработку. С тестированием и отсылкой обратно кода - думаю понятно. С техзаданием и архитектурой во время разработки то же самое, только в нынешние сказочные времена об этом «специалисты» напрочь забыли.)
С точки зрения бизнеса Moneyfall - это процесс, когда на выходе нужен определённый результат (например, мост, соединяющий два берега реки, или робот, высадившийся на спутнике Сатурна).
Для того, чтобы планировать бюджет и выдерживать сроки, создание результата разделено на фазы. На конце каждой находится не отчёт или успешная компиляция, а Decision Point. Фазы можно разбивать на более мелкие отрезки, если это имеет смысл или снижает риск.
Decision Point is a project state where it is possible to gather correct and unambiguous measurement results that are sufficient to make a decision about:
- continuation of the project according to the existing plan,
- budget extensions,
- deadline shifts,
- feature reductions, additions and changes,
- quality criteria degradations,
- or an urgent project termination.
Как видно из определения, замороженная часть в Moneyfall - это только лог прошлого выполнения. Всё, находящееся в будущем, - адаптируемо и подстраеваемо под ситуацию. При этом, заказчик видит, за что он платит деньги, сколько это будет стоить и когда ждать результата.
Исполнитель видит, что он должен сделать, когда это должно быть готово, в каком качестве, и за что он отвечает своим кошельком.
Decision Points могут быть не запланированы, но они всё равно есть, потому что это не назначенное заседание с отчётами, а появление объективных условий. Просто, если такие проверки не планировать изначально, это происходит в виде «Опа! Как же мы не заметили!»
Decision Points - это моменты, когда решения должны быть неизбежно приняты. И они принимаются. В нормальном проекте путём переговоров и оптимизации, в условиях карго-культа путём рытья кротовьих нор под официальной бюрократией.
Про это я рассказывать сейчас не буду, просто упомяну, что задача планирования переходит в область махинаций. Что с этим делать, напишу как-нибудь в другой раз, сидя посреди цветов и ульев.
Golden Stairway
В том, что по историческому недоразумению называют спиралью, ничего кругового нет.
Если нам не надо посадить человека на Луну и вернуть обратно, причём живым, а задача состоит в создании какой-нибудь банковской системы, рисковать можно не большой горой денег по принципу «всё или ничего», а путём достижения мелких целей и добавки (необязательных) расширений в будущем.
Golden Stairway is the risk reduction strategy where the global goal to be achieved is divided into a queue of smaller goals. This also allows to make smaller budget allocations and to generate money early by using partial solutions in the production.
Обычно это удорожает путь к главной цели и оттягивает счастливый конец, но потери из-за фундаментальных ошибок при этом ограничены меньшими бюджетами.
Возникновение Учения о Спирали связано в основном с ухудшением качества человеческого материла по сравнению с возросшей сложностью задач.
Do not mistake the Golden Stairway for Pathfinder projects that search for unknown solutions of unknown problems.
Hamster Wheel
Деградация программистов шла дальше. Постепенно выяснилось, что слишком много коллективов не могут вообще ничего путного выдать, а просто сжигают деньги.
Нужно было или совершать качественный переход, или избавить исполнителя от ответственности за качество результата.
Первый подход интересен очень немногим. Элементарная логика на уровне детского сада показывает, что большинство из тех, кто занят в этой индустрии, заинтересованы в раздувании бюджетов. Это относится как ко всем кормящимся в структуре исполнителя, так и к менеджерам заказчика, чья власть и сила зависят от объёмов идущих через них бюджетов.
Тут на горизонте засветилось слово «Agile».
The game in the Hamster Wheel model is simple. The key feature is the money squeezing cycle: a hamster turns the weel and gets a grain.
Do not mistake the Hamster Wheel for Pathfinder projects that strive for knowledge and throw out wrong results and prototypes instead of calling them "partial solutions" and "investments".
Не надо рассказывать сказки про планирование в Scrum (тем более тут). Я читал всё это враньё.
Также как и про качество программистов или их заинтересованность в чём-то кроме показателей у менеджера на мониторе.
Пока полная конечная цель не определена, её качество не зафиксировано, а козёл отпущения по имени Product Owner отвечает за все косяки, любые способы установки целей и планирования - просто нахождение отмазок для списания денег. К тому же, исправление багов, особенно в архитектуре и техзадании, - это тоже «доставка фичи». Как писал, такие проекты быстро выходят на уровень насыщения, когда скорость внесения косяков достигает скорости их исправления. Пока идиоты за такое платят, можно выжимать деньги.
(Какие есть этому способы противодействия и как заказчик может играть в agile в свою пользу - тоже в другой раз в другом месте.)
Фраза дня
Date: 2016-05-06 03:48 pm (UTC)no subject
Date: 2016-05-06 05:38 pm (UTC)Появилась конкретика - стало интересно.
Когда слышишь от менеджеров, что нужно в ходе планирования активностей "привнести немного аджайла", невольно понимаешь, это второй тревожный звоночек. Надо срочно принимать меры, чтобы не допустить беды.
Когда проект разбит на фазы, которые стартуют в жёсткие дни. И задержки в фазе Build не влекут за собой delay фазы Testing. Возникает "тестирование того, что есть". Это увлекает и поглощает, снижает качество кода.
Может, пересечёмся IRL в Швейцарии? Мне интересно было послушать про то, что ещё не написано, и то, за что заклюют. В свою очередь и сам, возможно, смогу рассказать что-то интересное.
no subject
Date: 2016-05-06 06:04 pm (UTC)Просто было такое настроение, что решил оставить тут несколько определений, на которые можно потом ссылаться, вместо того, чтобы глубокомысленно поднимать палец к небу.
С восприятием тестирования, в принципе, верно, но всё сложнее. Про то, насколько сложнее, надо книжку писать.
Про Швейцарию ничего не известно, кроме того, что переезжаем летом и будем жить около Цюриха.
no subject
Date: 2016-05-06 06:25 pm (UTC)no subject
Date: 2016-05-06 07:52 pm (UTC)no subject
Date: 2016-05-06 05:47 pm (UTC)no subject
Date: 2016-05-06 06:10 pm (UTC)В принципе, это из заметок к третьей запланированной книжке. Точнее, уже к четвёртой, потому что перед управлением проектами, качеством и requirements engineering внезапно влезла тема по HCI, которую решил поднять первой.
no subject
Date: 2016-05-06 08:06 pm (UTC)no subject
Date: 2016-05-06 08:54 pm (UTC)no subject
Date: 2016-05-06 10:38 pm (UTC)хоть и выглядит от как тизер чего-то, что появится не раньше моего выхода на пенсию и мне будет уже все равно
> Если напишу всё подробно, буду проклят по всей индустрии.
очень сомневаюсь
основной принцип функционирования сетей распространения информации http://lurkmore.to/%D0%92%D1%81%D0%B5%D0%BC_%D0%BF%D0%BE%D1%85%D1%83%D0%B9
посмотрите на гомеопатов
> Надо сначала найти тихое место, где можно спокойно пересидеть до пенсии.
даже если гипотетическая книга или что там еще произведет эффект и вас проклянут все продавцы змеиного масла, то все равно найдутся люди, которые захотят нанять именно вас и предложат хорошие условия
вот есть такой Michael O. Church - чувак годами вскрывал гнилую суть венчурно-стартапной индустрии и ее ключевых персон (с обнажением их личностных черт на публику - те целенаправлено наживал врагов). ну и что же с ним такого ужасного произошло? забанили на кворе и сразу разбанили, омг! уехал из долины в чигаго, нашел работу не в стартапе, живет не тужит
no subject
Date: 2016-05-07 07:50 am (UTC)Сейчас при деловых контактах ищут информацию о людях. Мне не надо, чтобы находили что-то лишнее.
то все равно найдутся люди, которые захотят нанять именно вас и предложат хорошие условия
У людей может не быть денег, или условия будут не такие хорошие. И я предпочитаю найти что-то там, где мне надо, а не в какой-нибудь Австралии.
Я уже давно пытался посмотреть в сторону консалтинга, но выяснил, что это здесь никому не нужно, потому что все и так умные. Ищут только людей, которые продают Волшебную Кнопку, которая всё сделает хорошо.
no subject
Date: 2016-05-07 02:36 am (UTC)А если рассматривать методологии разработки с практической точки зрения, просто как разные способы организации работы номальной команды - то реальность выглядит совсем не так :-)
no subject
Date: 2016-05-07 07:53 am (UTC)Меня убеждают в этом на каждом углу. Но стоит только взять лупу, выясняется, что у людей нет реального опыта, а есть одни отчёты, в которые много чего не попадает.
А как выглядит реальность из начальственного кресла - мне пофиг.
no subject
Date: 2016-05-07 03:10 pm (UTC)Реальность подобных вещей лучше всего видна тем людям которые этим всем занимаются, причем лучше всего это видно людям которые организуют работу команд - т.е. уровень дев менеджер, директор девелопмента и т.п., с опытом хотя бы лет в 10 (чтобы застал разные этапы эволюции этих дел).
Если есть интерес обсудить сами методики софтверного девелопмента и их плюсы-минусы - то давайте обсудим, если есть желание просто пожаловаться на несправедливость мира и жизни - тоже можно, я поддержу :-)
no subject
Date: 2016-05-07 03:43 pm (UTC)Нет, конечно. Ещё Вайнберг писал, что для того, чтобы узнать правду, надо снять пиджак.
Доказать, почему это так, труда не составляет, но, как писал, беседа тут некоторые вещи затрагивать не будет.
И, прежде чем говорить со мной о софте, надо хотя бы поучаствовать в разработке механики, электрики или чего-то подобного. Причём, своими руками, а не на уровне начальников.
no subject
Date: 2016-05-07 03:52 pm (UTC)>>>Нет, конечно. Ещё Вайнберг писал, что для того, чтобы узнать правду, надо снять пиджак.
Одно никак не противоречит другому. Почти любой дев менеджер/директор оф дев прошел все ступени, начиная с кодера. Собственно хороший дев менеджер обычно и сам не чурается делать код ревью.
Так что "реальность на земле" дев менеджеры знают очень хорошо, но они еще и видят лес за деревьями. Собственно - они и отвечают за этот самый лес, и прекрасно знают плюсы и минусы разных методик.
Это рядовому бойцу простительно не видеть леса, а лесник просто обязан это знать.
>>>И, прежде чем говорить со мной о софте, надо хотя бы поучаствовать в разработке механики, электрики или чего-то подобного. Причём, своими руками, а не на уровне начальников.
Это крайне странное утверждение, если сказать это в мягкой форме :-)
no subject
Date: 2016-05-07 03:55 pm (UTC)no subject
Date: 2016-05-07 04:03 pm (UTC)Я собственно тоже практик в этом деле, и более чем хорошо знаком с плюсами и минусами разных методологий разработки.
no subject
Date: 2016-05-07 04:11 pm (UTC)no subject
Date: 2016-05-07 04:23 pm (UTC)Аналогичная штука происходит и с аналитиками Гартнера и подобных контор - их рассказы и обобщения интересны, но реально каждая компания решает что и как делать сама. Слушать советы людей из гартнера при этом противопоказано, хотя послушать их рассказы стоит.
Реально интересен опыт практиков. Скажем если мне нужно нанять дев менеджера, то я буду выбирать среди людей с подходящим опытом, а вовсе не среди консультантов.
no subject
Date: 2016-05-07 04:33 pm (UTC)Нет, конечно. Понимают-то они гораздо больше, если это на самом деле консультанты и взгляд у них со стороны. Другое дело, подводить под это теории они могут совершенно разные.
А менеджмент притупляет мозги. Практиков проще поставить командовать, но учиться у них чему-то абсолютно не стоит.
no subject
Date: 2016-05-07 04:42 pm (UTC)Консультанты _думают_что_понимают_, но реально они имеют некую картинку в своей голове которая может быть близка к реальности, а может быть и очень далека от нее.
Фокус в том что критерий истины есть только один - практика. Без этого самые лучшие теории остаются изящными (или не очень изящными) умозрительными конструктами.
Именно поэтому реальные воплощения agile и подобных вещей обычно существенно отличаются от теории. Но если сидеть на достаточно высокой кочке и если есть возможность сравнить опыт разных команд применяющих agile - то становится хорошо видно что работает а что нет.
>>>А менеджмент притупляет мозги.
За время проведенное в занятиях софтом я общался с очень многими людьми профессионально занимающимися этими вещами, и мой опыт как раз прямо противоположный - идиотов среди успешных дев менеджеров и директоров нет.
Точнее - идиоты не становятся успешными, это в консалтинге можно засрать мозги клиенту и получить деньги, а в реальной индустрии если не можешь выдать результаты то никакая демагогия не поможет.
no subject
Date: 2016-05-07 06:28 pm (UTC)Ох, ну кто Вам сказал такую глупость? Люди сейчас исследуют дальний космос и историю древних народов.
Если сидеть на высокой кочке, тебе будут много-много врать. Так что, большие знания не о реальности, а о воздушных замках и розовых пони.
И смотрите, о чём можно разговаривать, если "притупляет мозги" превращается в "идиотов", причём, измерения только по критерию "Я"?
no subject
Date: 2016-05-08 01:04 am (UTC)Действительно, разговаривать в общем-то не о чем.
Судя по всему подход у вас основан на миниатюре Жванецкого "стиль спора", а мне такие вещи не интересны.
Успехов.
no subject
Date: 2016-05-09 01:55 pm (UTC)Любому же, у кого есть мозги и глаза, очевидно, что скрам/аджайл не имеет никакого отношения ни к архитектуре, не к проектированию, ни к способам кодирования, ни к долгосрочному планированию, ни к чему, что составляет суть производства ПО.
Наоборот, скрам/аджайл пытается от всего этого абстрагироваться. Менеджер должен от всего абстрагироваться, и дать команде самоорганизоваться, и там глядишь кривая вывезет.
no subject
Date: 2016-05-09 02:42 pm (UTC)no subject
Date: 2016-05-12 09:34 am (UTC)Что ещё есть для ликбеза по этой теме? Очень надо. Спасибо.
no subject
Date: 2016-05-12 12:09 pm (UTC)Наиболее близко - книги Weinberg из серии "Quality Software Management" (в новой редакции просто "Quality Software"). Но там многие вопросы даны намёками. Совсем чтобы то, о чём я тут пишу, ни у кого не встречал.
no subject
Date: 2016-06-18 03:29 pm (UTC)