Welcome to TechNet Blogs Sign in | Join | Help

Новая agile методика разработки софта - AIM

AIM - хорошее слово, но это далеко не единственное, что есть в этой новой agile методике разработки софта. Интересная деталь ее состоит в том, что это не придумка, созданная в академической среде, а результат наблюдения над реальными успешными проектами в течении более двух десятилетий. Каким-то мистическим путем все успешные менеджеры софтверных продуктов, за редчайшими исключениями, в той или иной мере всегда повторяли одни и те же шаги, а все неуспешные менеджеры обычно пропускали какие-то из этих шагов. Теперь эта мощная и хорошо работающая методика представляется вашему вниманию.

A.I.M. расшифровывается как Agile Insanity Management. Вообще-то, ее следовало бы назвать Agile Management by Insanity, но маркетинг счел, что такое название вряд ли найдет поддержку в корпоративной среде, к тому же сокращение AIM звучит куда лучше чем AMI или AMbI. Откуда столь своеобразно название станет ясно чуть позднее.

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

AIM Step 1 

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

Это фаза на которой работает материал ДеМарко. Это фаза на которой реально создается продукт, поскольку на следующих фаза создавать что-либо будет все сложнее и сложнее...

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

AIM Step 2

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

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

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

Результат? Как и в механической системе под воздействием двух сил, действующих на нее на разрыв, где-то посреди команды появляется линия напряжения.

AIM Step 3

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

AIM Step 4

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

AIM Step 5

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

Результат? Вполне предсказуемый. Разрыв команды на две части - менеджмент и собственно команда, создающая продукт.

AIM Step 6 

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

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

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

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

Результат? Увы, опять предсказуемый:

AIM Step 7

Можно ли что-то с этим разрывом сделать? Снизу - нельзя. То есть временно можно, но пожертвовав своей карьерой. А когда с вами "разберутся", все пойдет опять по накатанной колее с незначительной задержкой. А сверху... а почему бы вы хотели бы это предотвратить сверху? Если вы не из породы "железных феликсов" и "железных леди", которые могут пожать плечами и выпустить продукт с вопиющими дырками... как еще вы создадите вокруг себя иллюзию, которая даст вам мужество нажать кнопку "Release"?

Люди слабы.

Начальники удивительно слабы.

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

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

Главная мысль тут, что между общей готовностью продукта, готовностю продукта в голове начальника и "идеальной" готовностью продукта имеются своеобразные "пропасти". Вторую - к "идеальному" продукту - пересечь просто невозможно. Ну, нет таких продуктов, которые это сделали ли бы. Возьмите даже не Windows, а Mac OS X или любой Линакс - никто эту вторую пропасть пересечь не смог. А вот первая вполне преодолима. Результатом является то, что выпуск продукта в какой-то момент обязательно осуществляется по причинам, не имеющим отношения к качесту продукта или его реальной готовности, а исключительно по причинам в виртуальной реальности, созданной для менеджмента корпоративными паразитами. И в конечном итоге является результатом некоторой гранд-иллюзии.

Собственно, я подозреваю, что AIM работает не только в разработке софта, но и вообще в менеджменте чего бы то ни было. Равно как и то, что изобретен он был отнюдь не мной, а десятилетия, если не века назад. Не верите? Взгляните на вот эту вот картинку. Выглядит знакомо?

AIM Results

О, последняя деталь. Те читатели, которые совсем уж зануды, могут спросить: "Так это настоящая agile методика разработки софт или это ты так подкалывался над корпоративной культурой?" Вы знаете? Я сам до конца не уверен. Нет, честно. Выглядит это и правда как подколка, но я лично наблюдал AIM успешно работающим в течении более двадцати лет в самых различных фирмах и даже в разных странах. Нет, правда. Работает!

Published Sunday, October 28, 2007 11:17 PM by EldarM

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Новая agile методика разработки софта - AIM

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

Monday, October 29, 2007 1:44 PM by tum0rc0re

# re: Новая agile методика разработки софта - AIM

Спасибо, обзор методики очень понравился. :)

Но хотя AIM работает, я считаю, что лучше ко второму этапу просто не переходить (т.е. команду не расширять). Гораздо эффективнее отбросить ненужную функциональность, и сохранить прежнюю команду и простоту продукта.

Monday, October 29, 2007 6:22 PM by Powerman

# re: Новая agile методика разработки софта - AIM

Хорошо структурировало мои представления о процессе работы

Tuesday, October 30, 2007 3:26 AM by влад

# re: Новая agile методика разработки софта - AIM

Статья отличная, многое из описаного очень знакомо.

А вам не приходило в голову, что поскольку существует четкая привязка вас (как разработчика) и определенного продукта Майкрософт, подобная статья может быть в некотором роде антирекламой?  :)

Tuesday, October 30, 2007 5:27 AM by marss

# re: Новая agile методика разработки софта - AIM

Powerman: мечты-мечты. Для этого надо переходить от индустриального менеджмента к новому сетевому. А это уже надо не методики, а Карла Маркса вспоминать...

Marss: А может быть и рекламой. Вот, в других фирмах таких вещей не понимают, а только страдают от них, а тут вот, понимают, так что может и бороться умеют?

Tuesday, October 30, 2007 2:52 PM by EldarM

# re: Новая agile методика разработки софта - AIM

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

Tuesday, October 30, 2007 3:24 PM by YogSagot

# re: Новая agile методика разработки софта - AIM

Безусловно, это касается абсолютно любого менеджмента, в т.ч. госуправления. Ф точку!

Wednesday, October 31, 2007 2:58 AM by Smit

# The Yarantsau Blog » Blog Archive » ???????????????????? ???????????????????? ???? ??????????????

# re: Новая agile методика разработки софта - AIM

великолепно :), наблюдаю такую методику постоянно, скоро сложится мнение, что это единственно возможная методология разработки.

Wednesday, October 31, 2007 1:40 PM by Ив

# А где рецепт?

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

По-моему, написанное выше отнюдь не методика, а просто описание вполне естественных процессов в неуспешном проекте.. Или нет?

Но за подробное описание этих самых процессов и хорошие схемы большое спасибо! Лишний раз упорядочилось все в голове. :)

Thursday, November 01, 2007 7:29 AM by Jane L

# re: Новая agile методика разработки софта - AIM

А с чего вы взяли что неуспешных?

Thursday, November 01, 2007 5:00 PM by EldarM

# re: А где рецепт?

А почему Вы отвечаете вопросом на вопрос? Мне, например, не важно, по сути, какой проект, успешный или нет... В чем смысл, Вы так и не объяснили :(

Wednesday, November 07, 2007 3:55 PM by Jane L

# re: Новая agile методика разработки софта - AIM

Смысл в том, что это пост рассчитан на то, что человек сам еще своей головой подумает. Причем разные люди могут немного разные вещи для себя увидеть. И для каждого это будет что-то интересное или полезное. А если для вас оказалось неполезным или неинтересным, жаль, конечно. Но я и не рассчитывал, что всем это будет интересно. Но обьяснять вам - портить всем остальным удовольствие. Тем, для кого это было написано. Так что, извините, Джейн, но при всей симпатии я этого не хочу делать. По крайней мере публично в комментариях. Хотите - спросите по мылу (ссылочка для этого справа вверху), поговорим.

Wednesday, November 07, 2007 11:53 PM by EldarM

# re: А где рецепт?

Я Вас уже поблагодарила за хороший пост, в плане наглядности бъяснения текущих процессов (см. выше). Это и без схем многие поймут сами, если хорошенько пораскинут мозгами.

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

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

Не сердитесь на критику. С большим уважением.

Friday, November 09, 2007 4:23 AM by Jane L

# re: Новая agile методика разработки софта - AIM

Джейн, будь вы менеджером, вы бы методику увидели :-)

Friday, November 09, 2007 11:13 PM by EldarM

# re: А вот рецепт

Jane L, извините, что вмешиваюсь в разговор, но EldarM, как мне кажется, имел ввиду, что весь этот процесс и есть методика. Никто специально ее не воспризводит. Большие успешные компании сами собой приходят к этой методике. Об этом автор пишет в самом начале. С точки зрения разработчика, это очень не приятно (я бы даже сказал блевать тянет порой), но с точки зрения мэнеджера - выход. Единственный реальный выход.

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

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

Респект автору

Saturday, November 10, 2007 8:14 AM by Pelya

# IT для бизнеса: it4business.ru » Новая agile методика разработки софта - AIM

# re: Новая agile методика разработки софта - AIM

По-моему, эта метода называется "борьба за доступ к телу".

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

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

Wednesday, November 14, 2007 10:07 PM by Oleg

# re: Новая agile методика разработки софта - AIM

ИМХО, "корпоративные паразиты" - это не отдельно взятые люди, отдельно взятые "мысли" или "настроения", которые могут посещать любых людей.

Поясню свою мысль. Взаимодействие внутри организации осуществляется по определённым каналам, к которым имеют доступ далеко не все и/или не постоянно. Это обосновано иерархической структурой подразделений, где за коммуникации между отделами отвечают как правило руководители этих отделов. Получается, что они же и являются "корпоративными паразитами". В таком случае корпоративный паразит и менеджер - это синонимы :o)) Именно поэтому паразиты - это не отдельно взятые люди, а некоторые тендеции, настроения, сомнения и т.п., которым подвержены менеджеры, поскольку они тоже люди.

Мне кажется в этой статье Вы объяснили процесс, который приводит к отрыву менеджмента от реальности - не более и не менее. Объяснили в общем достаточно доходчиво.

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

Sunday, November 18, 2007 3:27 AM by Alexander

# re: Новая agile методика разработки софта - AIM

Александр: нет, менеджер и паразит это далеко не всегда синонимы, хотя и есть некоторая тенденция к слиянию, особенно в больных организациях. Хотя опять же, не знаю как это поисходит в России. Большая часть этой статьи основана на американском материале.

Sunday, November 18, 2007 9:54 PM by EldarM

# Откуда берутся корпоративные паразиты – 4, или работаем на паразита

«Да, выходит пели мы задаром, Понапрасну ночь за ночью жгли...» Из песни «Дорогой длинною» Я уже писал

# Word2007, AIM ?? blogging | ?? ?????????? ???? ??????????

Friday, December 21, 2007 10:33 AM by Word2007, AIM ?? blogging | ?? ?????????? ???? ??????????

# Word2007, AIM ?? blogging | ?? ?????????? ???? ??????????.

Thursday, January 24, 2008 7:03 AM by Word2007, AIM ?? blogging | ?? ?????????? ???? ??????????.

# re: А может все же есть выход?

А может есть смысл в дроблении таких проектов на как можно более независимые подпроекты.

Допустим есть проект, в котором моя команда отвечает за серверную часть, есть удаленные команды дизайнеров и фронтенд программистов. Допустим есть предварительно согласованный план проекта (фича - дата релиза - ответвенность).

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

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

Wednesday, January 30, 2008 5:49 PM by Kos

# re: А может все же есть выход?

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

На практике видел как в целом хороший менеджер "заигрался" и превратился в закоренелого паразита (даже не ставив такой цели).

Обычно это происходит когда у компании/команды нет четких _желанных_ целей (анонс цели без ее поддержки = нежеланная цель, а паразитное "а как же! конечно мы за!").

Выход? Отслеживать сплоченность команды (легко сказать).

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

Выход я вижу это в выращивании молодых менаджеров и попробовать с ними нечто типа SCRUM. И конечно же, убирать стресс из работы (стресс - плодородная почва для "паразитов").

У меня основная проблема в том, что мало кто хочет быть менаджером.

А описаная методология (AIM) - это похоже на эволюционный процесс деградирования менеджмента (команда растет, а реальных толковых менеджеров больше не становится).

Monday, March 10, 2008 2:04 PM by Sondag

# re: Новая agile методика разработки софта - AIM

Зонтаг, ну, да, люди - очень контекстно-зависимые существа.

Monday, March 10, 2008 10:15 PM by EldarM

# Word2007, AIM ?? blogging | ?? ?????????? ???? ??????????.

# re: Новая agile методика разработки софта - AIM

Здорово!

Теперь понятна стратегия Сталина с его "чистками". Таким образом он системно избавлялся от корпоративных паразитов. Причем система работала очень и очень успешно. Если, конечно, отвлечься от взгляда изнутри этой системы.

Принцип "бурно развивающаяся система нуждается в частых и радикальных чистках".

Thursday, June 05, 2008 1:22 AM by Leonid Ganeline

# re: Новая agile методика разработки софта - AIM

Кстати, да! Хотя я и не надеялся, что это кто-то поймет. Он получил от ленинских большевиков систему состоящую исключительно из паразитов, и сумел ее дочистить до работоспособной, хотя и весьма жесткими методами...

Thursday, June 05, 2008 2:37 AM by EldarM

# re: про Сталина

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

Thursday, July 03, 2008 2:12 AM by Poudy

# re: Новая agile методика разработки софта - AIM

Ну, и в чем возражение?

Thursday, July 03, 2008 9:25 PM by EldarM

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker