суббота, 15 марта 2014 г.

[prog.management] Маленькая команда - большие риски, большая команда - ...

Лично я всегда был приверженцем небольших проектных команд. Имхо, единственный шанс сделать что-то быстро и качественно -- это посадить на задачу двух или трех хороших спецов. Если же у них еще и есть опыт совместной работы или они представляют из себя естественным образом самоорганизовавшуюся команду, то это просто большая удача. Тут вопрос будет стоять не столько в том, успеют или не успеют в срок. Сколько о том, чтобы вовремя их остановить и не обогнать свое время :)

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

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

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

Защититься от такого риска можно всего двумя путями.

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

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

Очевидно, что оба этих пути тем или иным образом ведут к двум последствиям: увеличению сроков и стоимости проектов. Сроки увеличиваются из-за появления дополнительных активностей (документирование, коммуникации, обучение и контроль качества, ...). Стоимость увеличивается не только из-за удлинения сроков, но и за счет ЗП и административных расходов на дополнительных разработчиков (тестировщиков, внедренцев, писателей, техподдержки).

Кроме того, чем больше проектная команда, тем сложнее укомплектовать ее сотрудниками высокой квалификации. Да что там квалификации: когда речь заходит о проектной команде из 20 человек, вряд ли приходится рассчитывать на то, что все члены команды будут одинаково ответственно подходить к своей работе. Следовательно, неизбежно будет падать качество, острее будет потребность в серьезном тестировании, больше будет проблем со внедрением и т.д. Что автоматически будет означать увеличение штата тестировщиков и внедренцев. Но ведь и там всплывут те же самые проблемы с квалификацией и отношением к работе! И все, круг замкнется.

Чем это чревато для компании? Сроки реализации проектов и их стоимость будут расти. Качество будет снижаться, пока не стабилизируется на каком-то более-менее среднем уровне. Ну и инновации в продуктах будут встречаться все реже и реже. Зато рисков с разработкой будет намного меньше. Практически любой проект будет завершаться более-менее успешно, более-менее в срок и более-менее в рамках бюджета. Если компания монополист на рынке или же конкурирует с другими такими же крупными производителями, то на какое-то время ей ничего не угрожает. Аналогия из мира фото: Canon и Nikon, доминирующие на рынке фотокамер, редко выпускающие что-то прорывное, но которым ничего не угрожает со стороны конкурентов вроде Pentax, Olympus, Fujifilm или Sony. Правда, маленький пушной зверек может подкрасться незаметно с совершенно неожиданной стороны. Как это недавно было с фотографией, когда цифра почти убила пленку (где сейчас знаменитый когда-то Kodak?). А современные смартфоны убивают фотокамеры-мыльницы.

Комментариев нет: