Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Берлинский К.Набор серебряных пуль.Сборник удачных проектных решений при разработке ПО.2004.pdf
Скачиваний:
45
Добавлен:
17.08.2013
Размер:
506 Кб
Скачать
☆

7.1.7.Планирование

Первое правило планирования – используйте его, каким бы бессмысленным оно вам не казалось.

У большинства разработчиков ПО сложился весьма заметный пессимизм по отношению к планам (и совсем пренебрежительное отношение к людям, занимающимся планированием). Программирование

– это не строительство, где точно известно, что кирпичную стену размером 5м2 строитель сложит за час, а раствор марки Х застывает за 10 минут.

Слишком много взаимосвязанных факторов нелинейно влияющих на общий результат. У меня, например, получилась такая формула: задача занимает в 2-3 раза больше времени (ближе к 2-м), чем рассчитываешь на неё потратить, в случае, если всё пойдет как надо. Т.е. найдутся все нужные компоненты, быстро будет придуман алгоритм, не будет ошибок в используемых модулях и, наконец, самое главное – удастся сконцентрироваться на задаче и не отвлекаться.

Цель планирования – «Знать, на сколько проект отстаёт и вовремя перераспределить задачи, чтобы пусть и с меньшей функциональностью, но уложиться в график» – см. книгу [16]

Большие и детально проработанные планы, как правило, проваливаются – слишком велика погрешность в каждой компоненте графика. Поэтому, я считаю рациональным практику «маленьких победоносных войн» (итеративная разработка), когда определяются наиболее приоритетные задачи, выполнимые в пределах 1-4-

х недель и команда планирует и старается выполнить их в заявленные малые сроки.

39

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

7.1.8.Организация процесса

Конечно, для стандартизации процесса разработки ПО уместно создание методики – перечня правил, фиксирующего основополагающие

моменты всех этапов жизненного цикла программного продукта. Сам факт того, что в организации используют такую методику (или пытаются её создать) говорит о высокой степени зрелости ИТ-компании.

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

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

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

Еще хуже, когда чересчур жесткая фиксация

процесса разработки мешает эффективной разработке проекта, «не влезающего» в рамки, очерченные методикой. Как правило, каждый проект уникален, поэтому я считаю рациональным использовать набор УПР, и гибко их использовать в той или иной ситуации.

Как можно понять из книги [4], «главное – отрубить противнику руку, а не воспользоваться определенным боевым стилем».

Главная черта успешной ИТ-компании, занимающейся коммерческой разработкой ПО, по моему мнению, является гибкость в вопросах «настройки» под различные типы клиентов (проектов, предметных областей), а не сертификаты на соответствие «N-го» уровня CMM (см статью [8]).

40

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

7.1.9.Функции разработчиков

Хорошая армия нуждается во многих родах войск: пехоте, авиации, разведке, морском флоте и многих других. Кроме наличия видов вооружений, основная цель состоит в том, чтобы наладить их эффективное и выгодное взаимодействие.

Я не буду с этим спорить. Но я считаю, что

есть одно важное различие между ведением военных действий (и их успешным завершением) и разработкой программных проектов. Оно заключается в том, что люди на войне (по мнению штаба) взаимозаменяемы. Т.е. ради захвата района Х, можно пустить на «пушечное мясо» дивизию Y, а

потом провести мобилизацию и заново создать дивизию Y”.

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

Существует такой вопрос: «Сколько разработчиков должен задавить грузовик, чтобы проект провалился? Худший ответ - одного». То

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

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

вижу только в обеспечении разностороннего профессионального роста и ротации сотрудников в различных функциональных подразделениях.

41

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

7.1.10. Обучение персонала

Новый человек, пришедший в проект, возможно будущая звезда компании. Поэтому не

нужно жалеть времени на интеграцию его в коллектив, обеспечение всеми необходимыми

материалами и отрывать ведущих разработчиков на общение с новичком и его обучение.

«Новый человек» в начале своей работы

нуждается в благоприятном окружении и чувстве связности своей работы c работой остальной компании. Этого можно добиться путем участия новичка в обсуждениях текущих проектов (даже не имеющих отношения к основной работе, поставленной перед сотрудником). Главное –

добиться ощущения единой команды и её усиления посредством использования знаний, опыта и вообще эффекта «свежей головы» новичка.

Вопрос о «новых людях» в проекте тесно связан с другим вопросом: «Когда их нужно и выгодно принимать в проект?». Как сказано в книге [6] добавление людей в проект, находящийся на

стадии завершения только удлинит срок реализации, т.к. много времени будет потрачено на введение новичков в контекст, информационное окружение рабочего проекта».

Иногда руководство видит единственное решение в «спасении проекта» только в добавлении новых людских ресурсов. В таких случаях, я считаю, необходимо проанализировать, на что тратят время ключевые разработчики, и поставить перед ними только приоритетные задачи (доработку проекта), а второстепенные задачи передать на исполнение другому персоналу, в т.ч. новичкам.

42

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

Соседние файлы в предмете Радиоэлектроника