Анархия Хороша

admin 3 октября 2007

Эта почта - синтез и продолжение некоторых идей, которые были покрыты другими должностями на этом блоге: Почему изменчивые инвестиции сосут, 85/95 правило управления проектом, и диаграммы Гэнтта против базы данных связи с общественностью. Если Вы прочитали все те должности, то то, что следует, могло бы иметь смысл Вам. В противном случае тогда я предполагаю, что мы будем видеть только, насколько хороший автор я. If you have read all of those posts, then what follows might make sense to you. If not, then I guess we'll see just how good a writer I am.

К немому это вниз несколько, я буду использовать одно из своих любимых литературных устройств: притча. Вот является история Ploddin' Полом менеджер проектов, который сталкивается с очень трудным управленческим решением. У него есть команда 5 разработчиков, из которых три старшие разработчики и способны к обработке с минипроектами самостоятельно. Их имена - Гянюс Гари, Инженер Эрик, и Связь Ларри. Here is the story of Ploddin' Paul the project manager who is faced with a very difficult management decision. He has a team of 5 developers, of which three are senior developers and are capable of handling mini-projects on their own. Their names are Genius Gary, Engineer Eric, and Liason Larry.

Проект - несколько опасный, но не чрезмерно так. Цель состоит в том, чтобы построить интерфейс архивирования к нескольким различным моделям лентопротяжного механизма так, чтобы у клиентов, регистрирующих в базу данных, был выбор отъезда их данных онлайн, экономии этого к лентопротяжному механизму, или восстановлению данных от ленты. Конечно, есть число других особенностей и конструктивных требований. Через 6 месяцев состоит в том, чтобы быть поставлен проект. Of course, there are number of other features and design requirements. The project is to be delivered in 6 months.

У команды есть три выбора: 1) Напишите, что кодекс на пустом месте 2) Переделывает некоторый существующий кодекс, который был произведен внутренний или 3) Работа с имеющим отношение к третьей стороне API, который обещает поставить большую часть функциональности (изданный продавцом по имени Бэбуза).

"ПЧЕЛА Babooza сосет классный, давайте сделаем это право. Напишите кодекс с нуля в C #," говорит Гянюс Гари, который является лучшим программистом партии, но имеет отношение, чтобы пойти с этим.

"Наименее опасный путь состоит в том, чтобы переделать нашу существующую кодовую базу," говорит Инженер Эрик. "Мы уже знаем, как трудный это должно работать с водителями на устройства ленты. Да, есть волосы в старой кодовой базе, но это - дьявол, которого мы знаем." Yeah, there's hair in the old code base but that's the devil we know."

"Через шесть недель Бэбуза говорит, что они поставят API, который заботится о большинстве из этого." говорит Связь Ларри. "Почему делают какое-либо из этого, если те парни сделают это для нас?" "Why do any of this if those guys will do it for us?"

"Трастовый Babooza? Вы являетесь чокнутыми. И наша старая кодовая база сосет. Все знают это. Пойдите новые." And our old code base sucks. Everybody knows that. Go new."
"Я согласился с Вами о Babooza. Но Вы хотите прыгнуть прочь в глубоководный без спасательного жилета. Пойдите старые." Go old."
"Но что, если Babooza поставляет что-то функциональное? Мы желание могло сделать, чтобы наши разработчики добавили больше опций и действительно хороший GUI вместо бездельничающего, попробовав, заставляем лентопротяжные механизмы архивировать.""

В этом пункте в беседе, примерно когда разработчики собираются бежать на их рабочий стол и уладить вопрос, играя deathmatch на "Нереальном Турнире," Ploddin' Пол говорит:

"Ларри, что Вы думаете, что разногласия имеют Babooza, предоставляющий API вовремя и это являющийся usuable?"

"Ах, я dunno, возможно 50 %"

И Эрик и Гари ведут разговоры, и Пол отмечает это к 25 % в его голове.

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

"Naw, слишком большая работа, я нуждался бы, по крайней мере, в другом парне."

"Что, если я дал Вам парня три месяца в? Возможно два.""

"Хорошо, 80%-ый шанс того, чтобы быть сделанным вовремя."

Теперь это - Эрик и очередь Ларри закатить их глаза. Таким образом, Пол отмечает разногласия к 40 % в его голове.

"Эрик?"

"C'mon Пол, дайте мне целую команду и девяносто процентов, уверенные, что это собирается быть поставленным."

"Более волосатый чем спина гориллы," говорит Гари громким шепотом Ларри. "Думайте спагетти.""

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

"Продвиньтесь, больше более веселое. Собирается быть большая отладка.""

"Вы получаете одного парня пока, с возможно больше через три месяца. Так Вы все еще 90%-ый уверенный процент?""

"Ах, никакие обещания," говорит Эрик

Пол мысленно отмечает разногласия к 50-50. Он взглянул на кодекс. Это ужасно. It's terrible.

Пол принимает свое решение. "Все уходят и делают их собственную вещь. Мы возвратимся через три месяца и обзор." Все кивают их головой и уходят. Это всегда походило на это с Полом, никогда не принимающим решение на заключительном пути взять до самого последнего возможного момента. Это вело некоторых из разработчиков абсолютно чокнутыми иногда с нечетным ворчанием, что группа всегда, кажется, находится на краю полной анархии. Но Пол ДЕЙСТВИТЕЛЬНО позволял всем пробовать их собственный путь большую часть времени, таким образом, люди были самыми счастливыми. Это только казалось настолько неэффективным... We'll come back in three months and review." Everybody nods their head and walks off. It was always like that, with Paul never making a decision on the final path to take until the very last possible moment. It drove some of the developers completely nuts sometimes, with the odd grumble that the group always seem to be on the verge of complete anarchy. But Paul DID let everybody try their own way most of the time, so people were most happy. It just seemed so inefficient...

***************************************************************************

Так, на прочитанном первом это похоже, что Пол нарушает одно из золотых правил управления проектом, которое является, всегда упорно трудятся, чтобы измениться, Ваши 85 к 95 (то есть всегда пробуют к Вашему нечетному из успеха, независимо от того насколько возрастающий это может быть). Пол оставляет некоторые пути, которые обещают 90%-ые шансы на успех процента и разрешение разработчикам преследовать некоторые рискованные подходы. Кроме того, я должен сказать, что этот подход был бы похож на дерьмо, если бы Вы подбросили это на диаграмме Gantt: Вместо чистого небольшого бара, показывая пяти разработчикам, сотрудничающим как команда к общей цели, у Вас есть три бара, работающие параллельно к той же самой цели. В некоторый момент в диаграмме, Вы должны закончить две из тех задач со всей тратой ресурсов, которая подразумевает (В случае Пола, момент принятия решения является лежащим на полпути в проект или три месяца). Also, I have to say that this approach would look like crap if you threw it up on a Gantt chart: Instead of clean little bar showing five developers working together as a team towards a common objective, you've got three bars working in parallel towards the same goal. At some point in the chart, you've got to end two of those tasks, with all the waste of resources that implies (In Paul's case, the decision point is halfway into the project or three months).

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

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

Один путь: 90 % успеха.
Три пути: 25 % + 40 % + 50 % = 115 % успеха!!

Конечно, 115 % не означают, что проект абсолютно уверен быть законченным успешно и вовремя. Эти проценты - проценты игрока, означая, что сумма - добавление серии ставок для данной выплаты. Метафорическая история могла бы сделать вещи более ясными. A metaphorical story might make things clearer.

Давайте притворимся, что мы находимся в казино, а не в окружающей среде разработки программного обеспечения. У Вас есть 500$ в Вашем кармане, и приз... О, я dunno... совершенно новый Ipod (Лучшая версия, тот с 40 концертами. Тот, который моя жена не будет позволять мне покупать 'причину, у меня нет работы, даже при том, что это сделало бы меня действительно, действительно счастливым, если я мог).Oh, I dunno... an brand new Ipod (The best version, the one with 40 gigs. The one my wife won't let me buy 'cause I don't have a job, even though it would make me really, really happy if I could).

Вы можете поместить все свои деньги в одну ставку и иметь шанс на победу на девяносто процентов. Или Вы можете сделать более сложную серию ставок как Пол, сделал: Вы подавляете 100$ и имеете 25%-ый шанс на победу. Вы также одновременно подавляете 200$ и имеете 50%-ый шанс на победу и подавляете еще 200$, чтобы иметь 40%-ый шанс на победу. You put down $100 and have a 25% chance of winning. You also simultaneously put $200 down and have 50% chance of winning and put down another $200 to have a 40% chance of winning.

И вот то, где забава входит: С первой ставкой есть одно вращение колеса, и Вы знаете, являетесь ли Вы победителем или проигравшим. Если оценка развития правильна, Вы - победитель девять раз из десять. If the estimate of the development is correct, you are a winner nine times out of ten.

Но с тремя сценариями ставки, у Вас есть три вращения колеса, и если одно из вращений подходит победитель, Вы получаете половину Ваших денег назад от других двух ставок. Например, если бы одна из ставок за 200$ подходит победитель, Вы возвратили бы 150$ (50 % 100$ и 200$). То есть, если подход Гари надеется быть победителем после трех месяцев в проект, то Вы можете оставить подход Эрика и Ларри.

Но что происходит, если ни одна из ставок не подходит победитель? Ага, хорошо если это произойдет, то казино позволит Вам сгибать свою ставку и вращение снова, беря половину полной суммы Ваших ставок (250$) и разрешая Вам вращаться снова (С шансами на успех не знают, пока первые 3 вращения не закончены). То есть, если после трех месяцев, API от Babooza полностью сосет, и команда Гари не может даже сделать, ежедневная газета строит без компилятора, входящего в истерику, то Пол может принять решение бросить всех на проекте Эрика переделать старую кодовую базу. That is to say, if after three months, the API from Babooza totally sucks, and Gary's team can't even do a daily build without the compiler going into hysterics, then Paul can make the decision to throw everybody on Eric's project to rework the old code base.

Вкратце комплекс, почти хаотическое распределение ресурсов в окружающей среде разработки программного обеспечения учитывает лучший шанс проекта, заканчиваемого, и для более эффективного использования ресурсов разработчика. Я наткнулся через это открытие главным образом случайно, когда я ворчал о несоответствии диаграмм gantt, чтобы точно описать то, что действительно входит в истинную среду проектирования. Наверняка, я не ожидал находить математическое доказательство для поведения, что я видел в PWS (программное обеспечение) подразделение Creo. For sure, I didn't expect to find a mathematical proof for the behavior that I saw in the PWS (software) division of Creo.

Anyways, для меня, это - действительно прохладное открытие, потому что он утверждает всех, работают вокруг и делают Вашу собственную вещь и давайте примем решение более поздний подход. Ну, я подразумеваю, что математика утверждает теорию. Hmmm, я не знаю, был ли бы я, чтобы попытаться "продать" этот подход в собеседовании или чем-то как этот. Hmmm, I don't know if I would to try to "sell" this approach in a job interview or something like that.

Приветствия, Ди-джей

P.S. Если в литературе разработки программного обеспечения кто-либо столкнулся с идеями similiar тем представленным выше, пожалуйста, понизьте меня электронная почта, таким образом, я могу связаться с нею. Это довольно возможно (возможно даже вероятный), что эта "Анархия - Хорошая" теория, был уже обнаружен, и я только неосведомлен об этом. Thx. It's quite possible (maybe even probable) that this "Anarchy is Good" theory has already been discovered and I am just ignorant of it. Thx.

Содержание для этого веб-сайта обеспечено www.bluebutterfly

Поставки потребности? Контроль Брат LC-21C Голубой Чернильный картридж (Брат LC21C) Brother LC-21C Cyan Ink Cartridge (Brother LC21C)
Предварительно нажмите на Паломника

Предварительно нажмите на Паломника

Оставьте Комментарий