Калайда В.Т., Романенко В.В. Технология разработки программного обеспечения (2007) (1095890), страница 29
Текст из файла (страница 29)
Все имеющие отношение к делу вопросыдолжны обсуждаться на самом высоком уровне детализации ина самом низком уровне иерархии. Установить нужный уровеньдетализации и одновременно охватить все вопросы трудно. Самая серьезная ошибка — это упущение существующих аспектов. Вторая крупная ошибка — это излишняя детализация, которая приводит к «увязанию в трясине». Подобных ошибокможно избежать, если следовать заранее составленному вопроснику или определенной форме. Ошибок излишней детализацииможно избежать, если каждый раз задавать вопрос «есть липольза от дальнейшей детализации?».В процессе декомпозиции планов в качестве основногопринципа должен служить следующий принцип: «Какая свобода выбора желательна на следующем шаге планирования?».Обычно последующие этапы планирования выполняются на всеболее низких уровнях, и достаточно учитывать лишь область ихполномочий.Структура всех реальных иерархических планов обязательнодолжна совпадать. Важно лишь то, чтобы степень детализациикаждого пункта плана увеличивалась по мере иерархическогоспуска вниз.
Однако слишком большое время, потраченное на обсуждение несуществующих деталей, делает планы нереальными.Второй принцип декомпозиции — определить ограничения для следующего, более низкого, уровня «Сделай транслятор194с языка за один год, потратив не более 300.000$». Здесь имеетсянабор трех ограничений: транслятор должен обрабатывать инструкции конкретного языка; для создания отведено не более года; бюджет — не более 300.000$.Никаких других ресурсных ограничений нет.
В этих рамках есть свобода выбора. Если продолжить декомпозицию плана, то возникнут все большие и большие ограничения, так чтона самом низком уровне будет обеспечена их абсолютная детализация. Но при этом, если полномочия распределены правильно, ни одно из первоначальных ограничений не будет нарушено, т.е. должна существовать обратная связь, в случае если потребуется изменение плана за пределами своих полномочий.8.2.3 Организационная структура группыпланированияЕстественно, что различные виды планов соответствуютразличным уровням руководства.
В любой разрабатывающейорганизации должно быть создано специальное подразделение,единственной обязанностью которого является планирование иуправление организацией в целом. Оно необходимо потому, чтокто-то должен гарантировать существование планов для всехподразделений, обеспечивать их совместимость и взаимнуюувязку. Для этого необходимо глубокое понимание структурыорганизации и ее деятельности. Люди, выполняющие эти функции, не должны одновременно иметь никаких других обязанностей. Планы подобны законам. Они должны выполняться неукоснительно. То есть люди, осуществляющие планирование иконтроль, должны обладать соответствующими полномочиями.Управление планом должно быть организовано так же четко,как и само планирование.Должностные лица, руководящие выполнением планов,называются администраторами планирования.
Однако надо помнить, что слишком большое число людей в группах планирования порождает бюрократию, поэтому группа планированиядолжна быть организована по принципу предметно-производственной специализации. В должностных инструкциях должнабыть четко определена одна-единственная точка соприкоснове-195ния, где каждая функциональная группа взаимодействует сгруппой планирования (рис. 8.4).Корпорация… Другие фирмыФирма… Другие отделыОтдел планированияи администраторуправленияОтдел исследованийи разработок… Другие сектора– Управление разработкойсерии изделий, включаяуправления планамиКомпоновка ивыпускПрограммныеизделия… Другие низовыеподразделения– Обеспечениецелостности проекта,включая управлениепланамиОбслуживаниеразработкипрограммногообеспечения– Управление планамиРис.
8.4 — Схема взаимодействия группы планированияи функциональных подразделенийВ большинстве организаций роль администратора планирования выполняет руководитель целевой программы.Планирование должно опираться на гарантии правильногоприменения принципов конфигурационного управления. Для этой196цели вводятся функции контроля документации, включая процедуры хранения и распространения проектной документации.Вместе с тем планирование невозможно только по иерархии сверху. Поэтому каждая функциональная группа должнаиметь собственный персонал тактического планирования.
Ихвзаимодействие должно строиться по схеме: подразделение планирования отвечает за целевое истратегическое планирование, управление бюджетом ипланами для всей организации; функциональная группа отвечает за тактическое планирование.8.2.4 Планы, связанные с созданием программныхизделийПри использовании нисходящего планирования осуществляется постепенный переход от общего к частному (от целевой программы к стратегическим и тактическим планам) и отглобального к локальному (от плана семейства изделий, черезплан выпуска серии и совокупности изделий, к проекту конкретного программного изделия).
Для облегчения пониманияструктуры различных планов вводятся «стандартные» определения.Программное изделие — совокупность отдельных программных средств, их документации, гарантии качества (ISO9000), рекламных материалов, мер по обучению пользователей,распространению и сопровождению программного обеспечения.Независимо от того, является ли программное обеспечение целостным изделием или только частной его модификацией,обычно изделие представляет собой тот наименьший объект,относительно которого рассматриваются все вышеназванныеэлементы.Совокупность изделий — это группа изделий, имеющиходну или несколько общих характеристик и работающих совместно в некоторой комбинации (ОС, компиляторы, сервисныепрограммы, средства диагностики, которые управляются операционной системой, составляют такую группу).Серия изделий — это сочетание аппаратных и программных средств, которые имеют одну и более общих связей и197функционируют совместно в некоторой комбинации как самостоятельная система.Семейство изделий — несколько связанных программныхизделий, которые необязательно должны иметь какой-либо общий интерфейс и работать на одной и той же аппаратуре(например, все компиляторы языка FORTRAN, созданные некоторым поставщиком для различных ЭВМ).Планом самого высокого уровня является план выпускасемейства или серии изделий.
Так как в их названии присутствует слово изделие — это стратегический план. В целом онформулируется в терминах технических средств, программногообеспечения, задач обучения персонала и т.д. Он содержит элементы стратегии: как обеспечить совместимость с конкурирующими изделиями, благоприятствующую проникновению на рынок; периодичность усовершенствования в целях продленияцикла жизни изделия и т.д.Обычно элементы стратегии охватывают длительный интервал (5—10 лет).Как только план серии одобрен, разрабатываются планывыпуска совокупности изделий.
Лучшим средством представления таких планов является конфигуратор. Это понятие используется для определения таблицы, в которой кратко характеризуются взаимосвязи между операционными системами и подчиненными им элементами совокупности изделий (табл. 8.1).Компактная форма конфигуратора позволяет передаватьбольшое количество информации верхним уровням управления.Когда наступит время исследовательской деятельности поразработке программного изделия, сначала создается приблизительный план работы, производится первоначальное выделениесредств, фиксируются фонды, необходимые для завершения работы. Документ, создаваемый при этом, есть не что иное, какраспределение бюджета. Этот документ реализует концепциюприростного финансирования, он обеспечивает контроль за выполнением планов.Таблица 8.1 — Конфигуратор198VSOS2VSOS3VSOS4/// — изделие не будетдоступно для использования;дата — месяц и год,когда изделие станет доступно для использованияподдержкиУровеньVSOS4СостояниеподдержкиУровеньVSOS3СостояниеСостояниеСтраницНаименованиепрограммного изделияподдержкиУровеньСовокупность программных изделийVSOS247.073//////4///7.07 2///5//////7.08 11 — поддержка через уведомление о выявленныхдефектах, посылается сообщение об изменениях,рассматриваются заявки на расширение возможностей;2 — поддержка через уведомление о выявленныхдефектах, посылается сообщение об изменениях,заявки на расширение возможностей не принимаются;3 — только обработка уведомлений о дефектахОкончательный план выпуска изделий вырабатываетсяпосле серьезного изучения и обсуждения проблемы.Первая задача решается после распределения бюджета,формируется план, который называется соглашением о требованиях.
В этом документе устанавливаются договорные отношения между разработчиком и пользователем, а также тем, ктодолжен заниматься продажей изделия. Помимо разработчика,который обычно готовит этот документ, в его составленииучаствуют многие функциональные подразделения, в том числеи группа испытаний, группа выпуска документации, персонал,занятый внедрением, сопровождением, сбытом и др.Рассмотрение, утверждение и корректировка соглашенияо требованиях являются наиболее важным моментом во всемпроцессе планирования разработки. Именно благодаря соглашению о требованиях все заинтересованные стороны знают, какиеожидания можно связать с созданием изделия.Как только разработка становится реальностью, формируются планы отдельных групп: группы испытаний, план выпускадокументации, план обеспечения поддержки.1998.2.5 Опытный образец изделияТам, где существует хотя бы небольшая вероятность неудачи, план должен предусматривать возможность создания экспериментального изделия.Опытный образец — это почти законченное изделие.
Онвключает в себя все компоненты завершенного изделия, в томчисле и черновой вариант технической документации, и предполагает проведение небольшого объема независимых испытаний с целью обеспечения необходимых условий для выработкикритических замечаний по доработке изделия и гарантий минимального риска пользователя.При создании опытного образца необходимо следоватьтой же методике управления, которая применяется для разработки основного изделия.Для принятия решения о том, какую документацию и какой контроль следует предусмотреть для опытного образца,обычно используют правило: считать опытный образец первой версией реального изделия и тут же запланировать реализацию второй версии.Если программное изделие предназначено для многихпользователей, целесообразно выбрать одного или двух из нихдля поставки им бесплатно и с полной поддержкой опытногообразца.