Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture3.doc
Скачиваний:
5
Добавлен:
26.11.2019
Размер:
133.63 Кб
Скачать

Лекция № 3

Организация и управление процессом разработки

Задачи / функции:

  • Управление верхнего уровня: принятие общих решений о технологии, запуске проекта, принципиальных изменениях в нем

  • Планирование и распределение ресурсов

  • Материальных: финансы, аппаратура, софт, инфраструктура

  • Человеческих: специалисты - участники разработки

  • Временных: календарное планирование

  • Контроль хода выполнения и качества проекта

Планирование:

долгосрочное (стратегическое и предпроектное) и оперативное (в ходе выполнения проекта). Проблемы:

  • Надежное предсказание трудоемкости Вопрос 1.

  • Структура команды и распределение функций / ответственности - нужна модель команды

  • Частое перепланирование из-за итераций проекта

  • Параллельное выполнение нескольких проектов

  • Текучесть кадров

Пример календарного плана в форме Excel-таблицы:

Веха

Форма

Срок

Ресурсы

Роль

Исполнитель

Загрузка

Функциона-льные специ-фикации

Диаграммы прецедентов

01.01-15.01

1 неделя

Аналитик

А.А.Анали­тиков

100%

Диаграммы активности

1 неделя

Текст

01.01-20.01

2 недели

Аналитик

Н.Н.Началь­ников

45%

Прототип

Пользовательские формы

15.01-30.01

2 недели

Программист

П.П.Программистов

100%

План внедрения

Текст

01.01-30.01

1 день

Аналитик

Н.Н.Началь­ников

5%

Более нагляден сетевой график, например, построенный с помощью Microsoft Project:

Вопрос 2

Контроль хода разработки:

  • Контроль сроков внешних и внутренних этапов (вех, milestones) Вопрос 3

  • Контроль качества проекта / продукта

Осуществляется на основе анализа результатов этапов ("установление соответствия" в каскадной модели). Виды контроля:

  • Инспекция кода:

  • Просмотр (review) проектных документов и исходных кодов

  • Ревизия (audit) - то же, но более глубокий анализ

  • Проверка соответствия (verification) - формальными способами, в частности, тестирование

  • Оценка (validation) - качественная оценка и количественные измерения на поздних этапах или с помощью моделирования

Таким образом, контролер - это, в частности, тестировщик.

Модели команды разработчиков

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

  1. Иерархическая (древовидная) модель

Это традиционная модель организации. Ее достоинства:

  • Надежность, устойчивость, управляемость

  • Х орошая масштабируемость

Офицер = руководитель отдела, сержант = руководитель группы, солдат = программист

Принципиальные недостатки модели:

  • Экстенсивность: наращивание функциональности обеспечивается увеличением состава

  • Недостаточная гибкость Вопрос 4.

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

Главный недостаток – первый, поскольку увеличение численности исполнителей ведет к увеличению издержек на коммуникацию. Брукс показал, что в программировании измерение трудоемкости человеко-месяцами весьма относительно:

M (месяцев) 3 - Работа со сложными взаимосвязями (программирование)

2 - Неразделяемая работа (вынашивание ребенка или идеи)

1- Хорошо разделяемая работа (копание канав): M x N = Const

N (человек)

В программировании добавление исполнителей (и, значит, разбиение общей задачи на более мелкие подзадачи) увеличивает непроизводительные расходы на обмен информацией между участниками, согласование решений, совещания – т.е. передачу знания. Эти расходы растут как квадрат числа участников, что обесценивает эффект добавления. Это демонстрирует кривая 3 на графике; эмпирически известный минимум кривой – при N = 5-7 чел. А программные проекты чаще проваливаются от нехватки календарного времени, чем по другим причинам.

«Закон Брукса»: Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше. 

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