О разделении труда - Программный продукт

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

В российских фирмах очень редко группы проектирования доводят проекты до такой стадии, что людям, пишущим команды, нечего делать, кроме тривиального преобразования. Когда такая точка достигается, человек, пишущий команды, уже не выполняет никакого проектирования и становится кодировщиком. Во многих российских фирмах, в силу нескольких причин, программисты не подразделяются на разработчиков и кодировщиков. А легендарная программа ЛЕКСИКОН вообще создавалась одним человеком, ее автором, нынешним техническим директором Микроинформа Евгением Веселовым.

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

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

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

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

Похожие статьи




О разделении труда - Программный продукт

Предыдущая | Следующая