schegloff (![]() @ 2006-12-21 11:56:00 |
Entry tags: | ТССУ |
Как ускорить разработку затормозившего проекта?
Из "библии" Брукса, вообще говоря, следует, что поскольку наем новых программистов тормозит дальнейшую разработку, ускорить ее можно, уволив лишних. До сегодняшнего дня я полагал, что это чисто теоретический парадокс. Ага, как же:
1994. "Udall" [Co98]. Успешно завершен. Поначалу работала большая команда разработчиков, и потерпела неудачу. Успех обусловлен тем, что "начали с нуля и сделали из плохой большой команды маленькую, но хорошую".
Хочешь быстрее - избавляйся от тормозов!
![]() | ![]() 2006-12-21 07:32 am UTC (link) |
Рост "команды" идёт по своим законам - и никак не связан с увеличением, или уменьшением фронта работ (из законов Паркинсона) ;) В условиях полного отсутствия менеджеров (предельный случай :) ), двое разработчиков будут тратить на согласование от одного до десяти процентов рабочего времени (это зависит даже не столько от характера работы, как от их опыта, умения, сработанности). Причём, время, уходящее на "организационные вопросы, включая выработку стандартов) будет расти экспоненциально - с числом разработчиков. Максимальные затраты на согласование могут достигнуть ста процентов (полный останов работ) уже в коллективе до десяти человек. Минимальное - в коллективе более дюжины (гарантированное отсутствие результативности). Но это, напоминаю - в условиях отсутствия менеджмента. Руководитель группы из трёх-пяти разработчиков может взять на себя все "расходы на согласования" - кроме одного-десяти процентов времени каждого из своих разработчиков - потраченных на совещания и "беседы" с самим руководителем. Цена, кроме зарплаты руководителя группы - вдвое возросшее минимальное - и вчетверо - максимальное разумное время согласование простой детали, или изменения проекта. Руководитель отдела, куда входят три-пять групп разработчиков - может взять на себя все "расходы на согласования" - кроме одного-десяти процентов времени каждого из своих руководителей групп. Время согласования одной детали/изменения - растёт ещё на пятьдесят процентов. И так далее. Модель - скалируемая. - А где же в модели - теневые связи и структуры? - Они, пока, не учтены. Каждая теневая структура не только лишает формальное описание проекта подобия практической ценности. Она ещё и удваивает долю времени каждого своего члена, потраченную на "согласования". При этом, она уменьшает время согласования одной детали. Иногда. Немного. Если на это согласование ещё осталось время в расписании... (Reply to this) (Thread) |
![]() | ![]() 2006-12-21 07:35 am UTC (link) |
Вот. Кажется, я численно обосновал закон Паркинсона для величины комитетов ;) (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 09:43 am UTC (link) |
Угу. Только не существует единиц измерения сложности проблемы и эффективности согласований. Поэтому мат модель можно составить сколь угодно точную, только подставлять значения придется либо "с потолка", либо "задним числом" пересчитывая измеренное время. :) (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 10:12 am UTC (link) |
Вы не обратили внимание на самый изящный момент данной мат. модели ;) Дело в том, что в ней наблюдается логарифмическая зависимость максимального размера, после которого деятельность не отягощённой уровневым менеджментом группы парализуется - от процента рабочего времени, который тратится двумя "членами" :) на согласования. Иными словами, точная величина этого параметра - не суть важна. Мало влияет на результат. (Reply to this) (Parent) |
![]() | ![]() 2006-12-21 10:25 am UTC (link) |
Забавно, что один из частных выводов модели - вполне тривиален. Что произойдёт с армией, солдату которой несложно выйти на генерала с "важным вопросом"? Правильно, генерал - убьёт себя ап стену, спятив от недосыпания ;) Короче говоря, и без этой модели интуитивно ясно, что главная угроза неформальных связей в системе - расход всего времени менеджмента на эти самые связи. (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 10:50 am UTC (link) |
Еще один момент. Согласовывая менеджмент автоматически оказывается в курсе происходящего. Получая таким образом обратную связь от руководимого процесса, что позволяет оперативно управлять. В случае большого числа горизонтальных связей - руководство оказывается информационно полностью изолировано от коллектива и процесса. Процесс начинает вести себя сам. (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 11:06 am UTC (link) |
Определённо. Хотя... информационная изоляция начальства неизбежна и при строго иерархичной модели. Каждый менеджер решает, о чём именно и в каком свете стоит информировать начальство. Для того, чтобы пробить этот "заговор молчания" высокое начальство измышляет соверешнно безумное количество форм, которые следует заполнять календарно (регулярно) и при выполнении каждой операции ;) На заполнение отчётности, в итоге, тратится большая часть времени и энергии. А "производится" этой отчётности столько, что всё, что с ней можно сделать - позволить компу переработать её в статистические сводки... (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 12:39 pm UTC (link) |
Так хоть менеджер, непосредственно руководящий имеет всю полноту информации для принятия решений. В случае коллектива пронизаного горизонтальными связями даже непосредственный начальник не в курсе процессов в коллективе. Т.е. информационная задача встроена в протокол обмена и происходит в фоновом режиме. Соответственно разделить эти задачи, на коммуникацию между звеньями и нформационную для оперативного руководства. Может получится, что выигрыш времени от упрощения комуникации нивелируется увеличинными затратами на донесение информации "вверх" Считаем элементарный трехзвеник: информация I идет от А к В через начальника С. Принимаем, что для коммуникации и сообщения положения дел время требуется одинаковое Т. Получаем А->С за (Т) С->В за (Т) ; А(I),В(I),С(I) знают I за время 2Т Без начальника А->В за (Т); А->С за (Т), В->С за (Т); результат А(I),В(I),С(I), но времени затрачено 3Т (запись вида А(I) означает А знает информацию I) Ы? Причем информирование начальства работникам кажется ИЗЛИШНЕЙ работой. Т.е. в случае если не требуется стратегическое руководство проектом, экономится 50% ресурсов если требуется то тратится на 33% больше. Это для коллектива из двух подчиненных и одного начальника. Дальше считать бум? :) (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 06:30 pm UTC (link) |
можно построить вполне формальную модель. И замерить характеристики по реальному процессу. Спасибо директорское от меня. Строить будем, зело нужно. А то я временами выпадаю, однако, из процесса, что не есть хорошо. А насчет малой командой... - так это прием такой. Там, где лопухнулся коллектив ставят фермера, культура, профессионализм и свобода рук которого выше, чем у любого в коллективе, да и всего коллектива в целом. (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 06:31 pm UTC (link) |
А по итогам работы такого фермера, когда процесс формализован, можно опять ставить сугубых исполнителей. (Reply to this) (Parent) |
![]() | ![]() 2006-12-21 08:19 pm UTC (link) |
Тут еще интересней. Если продолжить развитие этой идеи, то можно попробовать обсчитать, что то аналогичное "группам Ассура" из теоретической механики. Выделить возможные элементарные сочетания работников и начальников. Обсчитаь параметры, каждой из групп. Прикинуть, как из этих элементов строятся макрогруппы, какой "валентностью" обладают элементарные группы. Как они сочетаются. Какими преобразованиями любой коллектив раскладывать для анализа на составные множители. И вуаля, за нобелевкой в очередь. :) (Reply to this) (Parent) (Thread) |
![]() | ![]() 2006-12-21 09:28 pm UTC (link) |
Нобелевку дают за заслуги при наличие знакомств к ноб-комитете. Проверено. Очередь не помогает. А на самом деле действительно все так и можно сделать. Да еще замерить по чатам время контактов - если заставить их решать вопросы через сеть и письма. (Reply to this) (Parent) |
![]() | ![]() 2006-12-22 02:10 am UTC (link) |
"Дальше считать бум?" Дальше всё расписано - ещё Паркинсоном ;) А я, вот, даже численную модельку прилепил. Вывод - очень прост. В коллективе от дюжины человек и выше, в отсутствие менеджера, на коммуникацию тратится ВСЁ время. НИЧЕГО кроме коммуникации - не происходит :) (Reply to this) (Parent) |