vit_r: default (vit_r)
[personal profile] vit_r
In SCRUM we trust SCRUM is great: you don't have to measure quality and the Product Owner is a scapegoat for all epic failures.

Продолжение отходов от споров с агилитятами.

Я люблю SCRUM. Это гениальное нововведение. У него есть очень много несомненных достоинств:

1. Программисты рады и активно участвуют во всех ритуалах. (Не все, конечно, но для scrum это и не важно.)

2. Отпала потребность измерять качество. Если раньше было техзадание, пункты которого надо выполнить, то теперь можно заниматься планированием чисто в тушкочасах.

3. Клиент платит за всё. Буквально за всё. Могут быть, конечно, какие-нибудь защищающие клиента метрики вроде компилируемости кода на конце цикла, но это совсем не значит, что код этот должен ратать, а исправленные ошибки не должны возвращаться. Грубо говоря, исполнитель каждый цикл начинает новый проект. С чистого листа. А куда всё это заведёт, не его забоата, а головная боль клиента.

4. Можно избавиться от вредных наглых думающих инженеров. Никому ни нужны ни архитектура системы, ни прототипы для проверки, ни просто попытки подумать дальше выполнения конкретного пункта.

5. Всё это выглядит как работающая и успешная система. Даже провалы и идиотизм переносятся в балансе в графу будущих задач.

6. Всё чудесным образом горит. Если не делать бильды каждую неделю, проблема спокойно может полежать до момента, когда ответственный человек придёт и решит её правильно. Когда работают короткими итерациями, каждый раз идёт увлекательный бой неумеющего с непонятным.

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

8. Никого не надо ничему обучать. Не надо думать о выборе технологий. Да и вообще планировать не надо. На это есть Product Owner, который обычно не разбирается ни в предметной области, ни в процессах производства.

9. Можно быть гордым. Даже в случае водопада бывает agile третьего уровня (иначе просто результатов не получалось бы никогда, что совсем не правда), а в тех работах, в которых классические модели вводятся, присутствуют итеррации и описано как бороться с бюрократизацией и негибкостью процесса.

Но проповедникам знать это совершенно не обязательно. Раньше всё было плохо. Очень плохо. Просто ужасно и кошмарно. Но потом пришёл великий scrum и указал людям дорогу к свету.

10. Умникам, кстати, можно ещё и отомстить. Это раньше людей оценивали по результатам. Сейчас важна модность методик. (К тому же системы измерения этих самых результатов просто отменены.) Впрочем, умники уйдут сами, не выдержав напора прогрессивных методов.

11. Можно развести любую бюрократию. Можно даже довести agile процессы первого уровня до состояния культов. Если это названо agile, любые, пусть самые дурацкие требования становятся оправданными и логичными. Просто потому, что таков ритуал. Или понимание этого ритуала сбрендившим scrum мастером.

Короче, Да здравствуют новые светлые времена!

До scrum:
Клиент:
Сделайте мне машину как BMW
Исполнитель:
У нас вот такой бюджет получается. И нужно ещё то и то узнать. И со сроками вот так-то.

Scrum:
Клиент:
Сделайте мне машину как BMW
Исполнитель:
Без проблем! Мы по самой современной методике работаем. Вот вам самокат. Теперь сидите с нами и говорите, что добавить, а мы будем переделывать и каждую неделю вам новый результат для дальнейшего движения показывать.

Впрочем, иногда лучше делать дело.

Конкретный пример. В отличие от теоретической scrum болтологии совершенно реальный.

Планируется выход стартапа в сеть к числу Х. Его выпуск сопряжен с кучей различных мероприятий: за несколько недель до начала начинается бетта-тест, к выпуску купленные блоггеры пишут в сеть, договор идёт с рекламным агенством, пресса приглашается.

Мы с ответственными обсуждаем выпуск релиза. Я достаю бумажку и говорю:

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

- А это точно?

- Вот график.

- Хорошо. Когда мы можем выходить онлайн?

- Вот тут асимптота уходит в нуль. Здесь я бы заморозил разработку. Отсюда отложил бы неделю на тестирование и неожиданности.

- Хорошо, к этому прибавим ещё неделю. Вот здесь точно всё будет нормально? Ты за это отвечаешь?

- Да. Мы идём по графику с минимальными отклонениями. С таким запасом всё точно будет нормально.

ВСЁ.

Люди перепланируют. Переносят. Готовят нормально. И к назначенному моменту всё работает.

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

Да, в коротких циклах нельзя исправить ошибки в архитектуре. Даже простая задача «Пройтись по всему коду и вычистить определённый ляп» может подвесить систему на пару недель.

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

Date: 2014-08-14 08:55 am (UTC)
From: [identity profile] old-radist.livejournal.com
Конечно. При этом как правило оказывается, что "сначала" написанные ТЗ и архитектура заказываются под фестпрайс. Далее оказывается, что практически не бывает, что ТЗ и архитектура были фестпрайс, а сама разработка, наоборот, Т&М. То есть в нормальных ситуациях и скрам тоже загоняется в рамки, а не становится золотоносной курицей.

Date: 2014-08-14 09:12 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Вот в итоге и получается, что весь scrum это технически профанация :) И банально это просто короткие релизные циклы :)

Date: 2014-08-14 09:19 am (UTC)
From: [identity profile] orleanz.livejournal.com
" это просто короткие релизные циклы

ну и прекрасно. что плохого в коротких релизных циклах? решаются сразу две проблемы - быстрее выявляются технически-обусловленные и всякие другие блокеры, и из заказчика вытягивается информация о том, что ему нужно (которую ты часто никаким другим способом не вытащищь - послать к клиенту человека с тетрадкой куда будут записаны все его мечты и желания - обычно не помогает, он сам не знает что хочет пока не видит прототип).

Date: 2014-08-14 09:26 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Они отличны. Особенно когда заказчик не понимает, что хочет от системы. Это позволяет экономить время как себе так и им. Но перед этим обязательно должна быть фаза начального проектирования с закладыванием легкого расширения и легкого изменения приложения. Причем сейчас с этим проще, можно брать фреймворки с поддержкой слабой связности и все довольно неплохо. Но к сожалению я такого не видел, для РСУБД. Т.е. есть классика вида третья нормальная форма и т.п. Но при возникновении ошибки проектирования БД, будет существенно больнее, чем при ошибке при проектировании приложения на базе фреймворка. Да эти штуки завязаны друг на друга, но в случае приложения часто исправить бывает проще.

Date: 2014-08-14 10:00 am (UTC)
From: [identity profile] vit-r.livejournal.com
Волшебным образом ситуация "из заказчика вытягивается информация" может быть решена не ваянием тонн бесполезного софта, а простым разговором с участием ручки и бумаги.

Date: 2014-08-14 10:09 am (UTC)
From: [identity profile] norguhtar.livejournal.com

Волшебным образом ситуация "из заказчика вытягивается информация" может быть решена не ваянием тонн бесполезного софта, а простым разговором с участием ручки и бумаги.

В любом случае идет общение с ручкой и бумагой. Проблема в том что часто заказчик не может выразить идею целиком. И я тоже не могу ее предложить так-как к примеру не владею полностью предметной областью или же мои предложения не нравятся заказчику. Что делать тогда в этом случае? До посинения добиваться от заказчика полной информации? Чаще проще выделить конкретный понятный сейчас заказчику законченный функционал и сделать его. Далее когда заказчик после использования этого софта понимает, что ему нужно еще раз выделяем ему законченный функционал. Да я в курсе что это фактически классический водопад :)

Date: 2014-08-14 10:15 am (UTC)
From: [identity profile] vit-r.livejournal.com
Вообще-то про Requirements Engineering полно книг. Некоторые из них, даже, полезные.

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 10:21 am (UTC) - Expand

Date: 2014-08-14 10:17 am (UTC)
From: [identity profile] orleanz.livejournal.com
" Проблема в том что часто заказчик не может выразить идею целиком.

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

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 10:29 am (UTC) - Expand

(no subject)

From: [identity profile] orleanz.livejournal.com - Date: 2014-08-14 12:41 pm (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 12:45 pm (UTC) - Expand

(no subject)

From: [identity profile] anonim-legion.livejournal.com - Date: 2014-08-14 03:39 pm (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 03:45 pm (UTC) - Expand

(no subject)

From: [identity profile] anonim-legion.livejournal.com - Date: 2014-08-14 03:48 pm (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 04:02 pm (UTC) - Expand

Date: 2014-08-14 10:14 am (UTC)
From: [identity profile] orleanz.livejournal.com
Вообще-то аджайл-скрам и придумали после того, как убедились, что у них описанный тобой трик у них не получается.

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

Date: 2014-08-14 10:19 am (UTC)
From: [identity profile] vit-r.livejournal.com
В мире полно людей, которые могут разговаривать с заказчиками и формулировать ТЗ. Этому, даже, можно обучать.

Но это не выгодно. Проще поставить заказчика на деньги и гнать фигню. За которую тоже не надо отвечать, потому что сравнение качества идёт с ТЗ, которого в данном случае нет.

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

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 10:27 am (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 10:38 am (UTC) - Expand

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 10:46 am (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 10:55 am (UTC) - Expand

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 11:04 am (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 11:07 am (UTC) - Expand

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 11:22 am (UTC) - Expand

Date: 2014-08-14 09:40 am (UTC)
From: [identity profile] vit-r.livejournal.com
Наверху написано, чем плохи короткие циклы.

Но на самом деле в этой религии гораздо больше проблем.

из заказчика вытягивается информация

А вот это уже иллюзия.

С заказчиком говорить должны не прототипы, а правильно обученные люди.

Date: 2014-08-14 09:48 am (UTC)
From: [identity profile] norguhtar.livejournal.com

Наверху написано, чем плохи короткие циклы.

Это про то что каждый такой цикл фактически новый проект?


А вот это уже иллюзия.
С заказчиком говорить должны не прототипы, а правильно обученные люди.

Не правильно выразился. Бывает, что люди вообще не понимают как у них что работает или вообще нет выстроенного процесса. Вытягивание из них всего и сразу, может приводить к очень долгому процессу написания спецификаций и ТЗ. В итоге когда уже это все сделано, заказчик может заявить: "а мне это не надо было". Когда же с заказчиком разговаривают на на макроуровне, а на микроуровне коммуникация может идти эффективнее. Но тут есть свои проблемы. И первая из них разработчик системы, должен весьма аккуратно стыковать такую функциональность с друг с другом. А это далеко не у всех хорошо получается.

Date: 2014-08-14 10:11 am (UTC)
From: [identity profile] vit-r.livejournal.com
Вытягивание из них всего и сразу, может приводить к очень долгому процессу написания спецификаций и ТЗ

При правильном подходе этот "долгий процесс" всё равно быстрее и выгоднее любого кодописания вслепую.

При неправильном фигня выйдет в любом случае.

Date: 2014-08-14 10:17 am (UTC)
From: [identity profile] norguhtar.livejournal.com

При правильном подходе этот "долгий процесс" всё равно быстрее и выгоднее любого кодописания вслепую.

Конечно. Но это довольно муторно для заказчика. Он может понимать, что это надо, но может и не гореть желанием это делать.

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2014-08-14 10:29 am (UTC) - Expand

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 10:51 am (UTC) - Expand

Date: 2014-08-14 09:34 am (UTC)
From: [identity profile] old-radist.livejournal.com
По большому счету это адаптация SW разработки под менталитет среднего американского программиста. Классическому немецкому инженеру скрам нафиг не нужен. А в Америке, чтобы массовая техническая инициатива снизу пошла, нужен хороший пиноккио под зад - в данном конкретном исполнении в виде, да, короткого цикла, перемешанных ролей, "невмешивание" менеджера етс..

Date: 2014-08-14 10:02 am (UTC)
From: [identity profile] vit-r.livejournal.com
Не надо только этих неквалифицированных людей называть программистами.

Date: 2014-08-14 10:19 am (UTC)
From: [identity profile] orleanz.livejournal.com
да-да, средний американский программист - "непрограммист". То-то я смотрю в плане софта США в хвосте планеты всей ....

Date: 2014-08-14 10:30 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Особенно клево читать список авторов ядра Linux. И задумываться, а чего там столько русских фамилий...

Date: 2014-08-14 09:22 am (UTC)
From: [identity profile] vit-r.livejournal.com
"Скрам загнанный в рамки" - это переводится только как "Конечно эта хрень не работает, но название очень хорошо для рекламы"

Date: 2014-08-14 09:27 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Как полный цикл разработки оно работать и не может. Так-как насколько я помню scram там банально нет фазы разработка ТЗ и архитектуры приложения.

Date: 2014-08-14 10:01 am (UTC)
From: [identity profile] vit-r.livejournal.com
Так проповедники утверждают, что это лишние вещи, которые надо выбросить на помойку истории.

Date: 2014-08-14 10:32 am (UTC)
From: [identity profile] norguhtar.livejournal.com
Дык эти хипстеры предлагают взять фреймворк и лабать на нем. К примеру тот жеж RoR по этой причине популярен. Хотя когда я в него посмотрел, я решил что лучше уж пешком в spring framework постою.

Date: 2014-08-14 12:46 pm (UTC)
From: [identity profile] orleanz.livejournal.com
" К примеру тот жеж RoR по этой причине популярен. Хотя когда я в него посмотрел, я решил что лучше уж пешком в spring framework постою.

ну это как сказать - посмотрел я на эти ваши модные Питоны, и решил что мне это не нада, буду по старинке на Си писать, выделяя и очищая память ручками, как деды и отцы делали.

(no subject)

From: [identity profile] norguhtar.livejournal.com - Date: 2014-08-14 12:54 pm (UTC) - Expand

Date: 2014-08-14 09:36 am (UTC)
From: [identity profile] old-radist.livejournal.com
Ну да, никто ж и не спорит.

Profile

vit_r: default (Default)
vit_r

June 2025

S M T W T F S
12345 6 7
8 910 11121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 11th, 2025 06:47 pm
Powered by Dreamwidth Studios