Глава 20. Управление проектом |
Управление проектом в методологии
SADT не сводится просто к созданию набора диаграмм. Наш опыт показывает, что эффективное проектирование в SADT для получения результатов в соответствии со сроками и сметами должно представлять собой процесс, в ходе которого координируется работа экспертов, авторов, читателей и тех, кто принимает окончательную версию модели системы. Успешные проекты должны иметь хорошее начало, в ходе их выполнения должны создаваться полезные результаты, разрабатываться только необходимые модели и дополнения к ним. В этой главе обсуждается наш опыт проектирования в SADT. Особое внимание уделяется управлению проектами и координации работ в методологии SADT отдельных людей и коллективов.Успешный проект всегда имеет хороший старт, который обычно включает формирование технического задания на проектирование, исходный выбор создаваемых моделей, организацию группы аналитиков, выбор Комитета технического контроля и составление графика работ. Такое начало приводит к созданию плана проекта, который координирует усилия многих людей и делает проект управляемым.
Техническое задание вырабатывается на самом первом этапе проекта (иногда техническое задание называют концепцией проекта). В техническом задании определяются назначение, сфера, ограничения, ожидаемые результаты и преимущества проекта. Техническое задание может также включать набросок плана проекта, который помогает документировать предварительные предложения организаторов и руководителей проекта. Обычно на этом этапе заняты небольшие коллективы. Однако если проект очень мал, он может быть инициирован одним автором.
Основные пункты работы - какие создавать модели и в какие сроки - планируются после формирования технического задания. Это помогает определить наиболее важные объекты, прояснить цели проекта и разработать его детальный план. Прежде чем определить основные пункты работы, мы советуем выяснить, что известно по данной проблеме, какую новую информацию надо собрать и какие источники ее доступны для проекта. Может быть вам даже придется построить несколько небольших SADT-моделей, чтобы получить эти сведения. Например, мы часто строим модель самого проекта с помощью SADT, чтобы определить, какие модели будут создаваться (текущие операции, будущие операции, план преобразований, архитектура системы). План, основанный на такой информации, быстрее приведет к созданию точных и полезных моделей.
Верно выбранные основные пункты работы служат базой для правильного подбора коллектива специалистов. Определите число экспертов, авторов, читателей и вспомогательный персонал (библиотекарь, делопроизводители и технические оформители) для получения необходимых результатов. (Представление о необходимом объеме работ дают обзоры проектов в части VI.) Определите также, кто войдет в Комитет технического
Рис. 20-1. Типичная структура SADT-проекта
контроля. Эти лица должны отвечать за разрешение конфликтов, проведение политики проекта, принятие результатов, интерпретацию и реализацию технического задания. Обеспечьте участие в работе Комитета нескольких специалистов с высоким уровнем компетентности, которые смогут отстоять свои решения. В процессе работы над проектом ваша организационная структура будет иметь вид, аналогичный приведенному на рис. 20-1.
20.2. Создание и рецензирование результатов работы
Один из секретов создания точных и полезных SADT-моделей заключается в постоянном выпуске папок, которые доносят соответствующий объем информации до читательской аудитории. В проектировании по методологии
SADT широко применяются папки, состоящие из контекстной диаграммы, рецензируемой диаграммы и страницы глоссария. Однако не всегда SADT-папки так малы. Мы рекомендуем выпускать папку, когда у вас уже накоплена информация для рецензирования. Ее объем может быть различным в зависимости как от самого проекта, так и от опыта его участников. Приведем несколько примеров, когда размер папки может реально отразиться на продуктивности рецензирования:Размер папки - это один из аспектов проектирования. Не менее важно количество
Рис. 20-2. Уровни консенсуса
папок, рассылаемых в соответствии с конкретным объектом. Мы рекомендуем по каждому рецензируемому объему информации рассылать не одну, а серию папок. Для этого сначала пошлите папку очень опытному эксперту и добейтесь его согласия с вами. Затем отправьте вторую папку с тем же содержанием еще нескольким экспертам и достигните согласия с этой группой. Затем направьте скорректированную папку всей читательской аудитории, чтобы получить общее одобрение вашей работы. Этот процесс достижения возрастающих уровней согласия, начиная от одного человека, затем переходя к небольшой группе лиц и далее - ко всем участникам проекта, типичный путь нашего получения знания в SADT. Он схематически изображен на рис. 20-2, где показаны также уровни достижения согласия. Обычно для достижения согласия со всей читательской аудиторией необходимо несколько папок.
Создание эффективных SADT-моделей не сводится просто к вычерчиванию правильных диаграмм. Оно требует использования совместной деятельности специалистов для получения утвержденных диаграмм А-0 и АО, назначение авторов для декомпозиции конкретных блоков диаграммы АО, формирования основных задач декомпозиции и кропотливого доведения модели до конца. Мы обычно начинаем работу по моделированию с технического совещания, в котором принимают участие эксперты и разработчики. Совещание длится в течение недели. Руководитель группы управляет этой совместной работой, организуя поток информации от экспертов к авторам и поощряя обмен мнениями между ними. Обсуждение продолжается до тех пор, пока не будут выработаны схемы диаграмм АО и А-0, а также уточнены цель и точка зрения модели (см. уроки в главе 22, где приведено подробное описание такой работы).
Начальные диаграммы и связанный с ними глоссарий составляют первую папку, которая проходит несколько циклов автор/читатель, пока не будут созданы стабильные диаграммы АО и А-0. После этого группа аналитиков определяет цели декомпозиции каждого блока диаграммы АО и назначает для каждого блока по одному автору. Автор детализирует свою часть модели и
согласовывает интерфейсы на диаграмме АО с другими авторами. Таким образом коллектив авторов может быстро создать модель, не мешая друг другу (см. уроки в главах 23 и 24).В ходе совместного творческого процесса каждый автор детализирует свою часть модели, которая рецензируется экспертами и другими авторами. Эта детализация как результат индивидуальной работы требует сбора автором информации (в основном путем чтения документов и опроса экспертов), ограничения каждого декомпозируемого объекта, определения точки зрения декомпозиции, создания диаграммы и ее рецензирования (см. уроки в главах 25 и 26). Для такой работы необходимы внутренняя дисциплинированность и понимание потенциальных проблем. Как и все SADT-авторы, мы выработали за годы работы принципы, позволяющих избежать ловушек. Некоторые наиболее важные из них заключаются в выборе задания для очередного шага, в определении производительности своего труда и отслеживании необходимых ограничений.
Для успеха любого аналитического проекта чрезвычайно важно, чтобы каждый автор ответственно подходил к выбору очередного шага задания. Деятельность авторов в ходе аналитического проекта разнообразна. Они обдумывают проблемы, читают сопутствующие материалы, опрашивают экспертов, выбирают блоки для декомпозиции, чертят диаграммы, перечерчивают диаграммы, формируют папки, читают их, отвечают на комментарии, беседуют с рецензентами, готовят дополнения, редактируют их, согласовывают интерфейсы, считывают материалы перед публикацией, и вместе с другими авторами участвуют в решении проблем посредством "мозговой атаки". Очень важно тщательно выбирать из всех этих видов деятельности ту, что наиболее необходима на очередном шаге.
Для повышения квалификации SADT-авторов существенное значение имеет их собственное определение производительности своего труда и оценка качества работы. Исключительно полезно для определения производительности труда фиксировать время, затраченное на выполнение конкретных работ при моделировании в рамках
SADT. Просматривая эти записи, можно определить, какие виды деятельности вы выполняете хорошо, с какими у вас возникают затруднения и в чем вы далеки от оптимальности. В качестве примера можно использовать табл. 20-1.Таблица 20-1. Сроки создания SADT-диаграмм.
Задание |
Совершенно заново |
Новая версия |
Черчение |
15-60 минут |
10-30 минут |
Критика |
10-30 минут |
10-30 минут |
Комментирование |
10-40 минут |
5-20 минут |
Количество диаграмм в день |
2-5 |
5-10 |
С точки зрения соблюдения графика для успеха проекта важной является скорость качественного выполнения работы. Следите за тем, чтобы папки и модели не превышали критических размеров, приведенных в табл. 20-2.
Таблица 20-2. Критические размеры
SADT-продуктовРезультаты работы |
Количество |
Папка Папка Модель |
2-6
диаграмм 3-6 циклов рецензирования 10-30 диаграмм |
Результаты работ, превосходящие эти размеры, могут быть неудобны для рецензирования или не соответствовать целям проекта. Мы всегда заново переоцениваем как содержание подобных результатов, так и их соответствие плану проекта. Иногда нужны большие модели или папки, но чаще они свидетельствуют о наличии в проекте потенциальных проблем.
20.4. Стратегии дополнения модели
Описание системы в методологии
SADT приводит к созданию модели, которая определяет и описывает функции и объекты системы. Но обычно одной модели недостаточно для выработки спецификаций. Модель, как правило, сопровождается дополнениями для того, чтобы разработать полную систему спецификаций. В главе 27 показано, как модель "Питание семьи" может быть дополнена кратким описанием для разработки спецификации, которую легко читать и выполнять. Теперь определим, какие дополнения к модели будут полезны. Стандарты спецификаций в промышленности весьма различны, поэтому их форму мы обсуждать не будем.Спецификация системы часто содержит описания функций с точки зрения пользователей, указания и ограничения по проектированию, критерии приемлемости и справочный материал. Можно получить максимум от SADT-моделей, если при документировании такого вида информации применять стратегии, подобными следующим:
При работе над проектами в методологии SADT необходима координация усилий коллективов авторов, читателей и Комитета технического контроля - органа, осуществляющего прием моделей для их использования. Успех проектов зависит от правильного составления папок и методов их рецензирования, от результатов совместной деятельности специалистов и от их индивидуальных усилий. Проект в методологии SADT, как и любой другой проект, требует тщательного руководства. Правильный подбор участников, разработка технического задания и выполнение сроков способствуют эффективности проекта. Одна из важнейших обязанностей руководителя SADT-проекта заключается в контроле за движением папок и выполнением планов проекта для обеспечения плавного и непрерывного процесса работы.
Brackett, J.: "Structuring the Analysis and Design Process", GUIDE Productivity Symposium, 1976
Burack, E., and Torda, F.: "The Manager's Guide to Change", Lifetime Learning Publications, 1979.
DeMarco, Т.: "Breaking the Language Barrier", Computerworld, August 1978.
DeMarco, Т.: "Controlling Software Projects, Yourdon Press, New York, 1982.
Parkin, A.: Data Processing Managment, Little, Brown, Boston, 1980.
Ross, D. and Schoman, K.: "Structured Analysis for Requirements Definitions", IEEE Transactions on Software Engineering, vol. SE-3, no. 1, January
1977.
Schoman, K.: "SADT and PERT", SofTech Deliverable no. CLIN#0-02AG, November 1977.
Weinberg, G.: "Understanding the Professional Pregrammer, Little, Brown, Boston, 1982.
Yourdon, E.: "How to Manage Structured Programming", Yourdon Press, New York, 1976.