УПРАВЛЕНИЕ И ВЕДЕНИЕ ПРОЕКТОВ ПО РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ


Глава 4. ПЛАНЫ И ПЛАНИРОВАНИЕ

AUTHOR: Richard E. (Dick) Fairley

ПЕРЕВОД: Кислян О.


Источник:
Richard E. (Dick) Fairley Managing and leading software projects // a John Wiley & Sons, inc., publication. – 2009.

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



Рисунок 1 - Модель рабочего процесса для программных проектов


    В худшем случае вам придется разработать ваш план проекта без каких-либо организационных структур и рекомендаций.
    Планирование проекта, как и всех элементов программного обеспечения, лучше всего осуществляется на постоянной основе, подробности будут добавлены по мере понимания.
    
ПРОЦЕСС ПЛАНИРОВАНИЯ


    Как показано на Рисунке 1 входы для планирования включают требования и ограничения заказчика, а также управленческие директивы и ограничения. Системные требования, системные цели и требования к программному обеспечению также могут быть в наличии или они разрабатываются в ходе реализации проекта. Как отмечалось, требования клиента включают оперативные функции, атрибуты качества и ограничения целей для предположения результата. Ограничения, введенные клиентом, могут включать ограничения и на результат, и на процесс.
    Ограничения на результат могут требовать, чтобы система была разработана с использованием указанной версии операционной системы или, чтобы новая или измененная система поддерживала SQL-интерфейс для существующей базы данных. Ограничения на процесс могут требовать, чтобы система представлялась в поэтапно возрастающих возможностях или чтобы исходные коды программного обеспечения, требования и проектная документация были переданы независимому представителю для окончательной проверки и одобрения.
    Директивы управления могут включать твердое утверждение, что все проекты должны производить проектную документацию и проверять ее на полноту, правильность и последовательность использования экспертных оценок. Управляющее ограничение может ограничить ваши ресурсы проекта в численности работников до 10 разработчиков программного обеспечения.
    Некоторые из ваших первых задач, в качестве менеджера проекта, заключаются в установлении непрерывной связи с уполномоченным представителем клиента (Вашей основной точкой контакта), и выяснением у него/ее/них операционных требований, разработанных ограничений и критериев для успеха проекта.
    Каждое из оперативных требований необходимо проранжировать как Необходимые, Желательные или Необязательные для содействия достижению баланса между требованиями, сроком и бюджетом. Достаточное время и ресурсы должны быть выделены для выполнения всех Необходимых требований и тех Желательных требований, которые хочет заказчик.
    В зависимости от характера и масштабов вашего проекта уточнение оперативных потребностей и разработка системных требований, архитектуры системы и программных требований может быть вашей задачей. Кроме того, вы может поручить это одному или нескольким членам вашей группы планирования, или их можно предоставить в качестве отправной точки для процесса планирования.
    Ваше понимание оперативных потребностей и текущих ограничений будет влиять на выбор модели развития, которая будет использоваться, и процедур, которым необходимо следовать.
  • Разработку системы, которая активно взаимодействует с пользователем, может требовать создания прототипа для объяснения оперативных требований и предоставления информации для проектирования пользовательского интерфейса.
  • Разработку программного обеспечения для встроенных систем может потребовать участия вас и вашего технического лидера в системе технической группы.
  • Поэтапную разработку возможностей системы на основе требований и стабильной архитектуры может означать необходимость стратегии поэтапного построения.
  • Разработку принципиально новой системы может потребовать стратегию эволюционного развития.
  • Гибкий процесс может быть неподходящим для развития и постоянного совершенствования веб-приложений или в случаях, когда появляются или стремительно меняются требования.


  •     Внешний клиент (покупатель), как правило, указывает сумму денег и время, отведенное для проекта, которые могут потребоваться в ходе переговоров для достижения равновесия в установленных требованиях. Внутренний клиент предоставляет или не предоставляет денежные средства и/или ресурсы для проекта, но, несомненно, указывает временные ограничения для завершения работы над проектом, которые могут оговариваться. В любом случае, договорное соглашение в форме заявления, работы или меморандума о взаимопонимании должно быть согласовано и принято вами и вашими клиентами. Другие мероприятия по планированию включают установление первоначальных базовых потребностей, подготовку смет и переговоры по ограничениям для получения баланса между требованиями, стоимостью и временем.


    МИНИМАЛЬНЫЕ ПЛАНЫ ПРОЕКТА
        
  • постановка целей и задач проекта
  • выявление заинтересованных сторон и их целей
  • модель развития программного обеспечения, которая будет использоваться
  • среда разработки программного обеспечения, которая будет использоваться
  • технология платформы, которая будет использоваться
  • объем рабочих мероприятий, которые будут завершены
  • срок рабочих мероприятий, в том числе периодических, контрольные точки
  • уровень квалификации и численность необходимого персонала
  • когда различное количество и виды персонала будут необходимы
  • средства в дополнение к персоналу
  • план периодической отчетности по статусу проекта
  • план управления рисками

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