"Время — деньги. Создание команды разработчиков программного обеспечения" - читать интересную книгу автора (Салливан Эд)
Модель организационной структуры компании NuMega
Программы, как правило, создаются коллективами, а не одиночками. Команда разработчиков — это группа людей с различными техническими навыками, работающих над реализацией общего проекта. Поскольку разработать ПО довольно сложно, в команде требуются специалисты с самыми разными навыками и способностями, необходимыми для создания продукта. Вот какие специалисты должны быть в группе:
• основной состав группы — специалисты, полностью занятые в создании нового программного продукта:
— менеджеры проекта;
— программисты;
— тестировщики;
— разработчики документации;
— инженерные психологи;
— технологи по разработке ПО;
• вспомогательная группа — специалисты, не занимающиеся созданием программ, но, тем не менее, играющие важную роль в реализации проекта:
— группа менеджмента и маркетинга продукта;
— специалисты по технической поддержке ПО;
— администраторы бета-тестирования.
Очень важно, чтобы перечисленные функциональные подразделения участвовали в работе над проектом с самого начала. Чем раньше люди смогут понять суть требований к продукту и принять участие в их критическом анализе, тем лучше подготовятся к исполнению собственной миссии и ощутят свой вклад в успех проекта. Кроме того, чтобы завершить создание продукта в срок, все перечисленные подразделения должны работать параллельно на протяжении всего цикла разработки. Решение этой задачи будет описано в главе 11 — там мы рассмотрим включение в график проекта взаимно скоординированных во времени промежуточных этапов.
С другой стороны, если при подборе кадров какие-либо функциональные подразделения будут не (недо-) укомплектованы, то реализовать такие важные условия разработки ПО, как глубокое понимание задач, синергизм в работе и постепенный прогресс, будет невозможно. Я не настаиваю на том, чтобы все подразделения были полностью укомплектованы к первому дню работы над проектом, но по крайней мере их представители (хочется надеяться, что это будут ведущие специалисты) должны работать над проектом с самого начала. Нельзя недооценивать как важность этого требования, так и трудность его реализации.