Ключевые моменты.
А Среда разработки должна быть одним из важнейших рабочих продуктов процесса.
А Автоматизация процесса, в частности управление изменениями, важна для итерационного процесса. Если внесение изменений окажется дорогим, организация-разработчик будет противиться этому.
А «Круговая» разработка и интегрированные среды облегчают внесение изменений в рабочие продукты.
А Автоматизация измерения параметров критична для эффективного контроля над проектом.
А Всем внешним заинтересованным сторонам необходим доступ к ресурсам среды для взаимодействия с командой разработчиков и внесения в процесс дополнительных усовершенствований.
Потребность в автоматизации возрастает с ростом масштаба работ. Точно так же, как процесс строительства будет изменяться в зависимости от того, строится ли домик для куклы, дом на одну семью или небоскреб, процесс создания ПО варьируется в широком диапазоне — от небольших заданий для одного человека, описание которых занимает одну страничку, до крупномасштабных, охватывающих несколько организаций, имеющих катастрофическую цену неудачи. Методы, обучение, временные рамки, критерии приемки и уровень автоматизации весьма различны для разных полюсов этого спектра.
Многие организации, занимающиеся созданием ПО, сталкиваются с необходимостью интеграции своей собственной среды и инфраструктуры в процесс создания ПО. Это обычно приводит к выбору более или менее несовместимых инструментов, которые имеют различные хранилища информации, поставляются разными производителями, работают на различных платформах, используют разную терминологию и основываются на различных подходах к процессу. Интеграция такой инфраструктуры оказывается гораздо проблематичнее, чем можно ожидать.
Автоматизация процесса разработки и создание инфраструктуры для поддержки различных рабочих процессов в рамках проекта являются важными видами деятельности на стадии жизненного цикла, посвященной разработке. Они включают в себя выбор инструментов, изготовление инструментов на заказ и автоматизацию процесса, т.е. то, что необходимо для выполнения работ в соответствии с планом создания и с приемлемой эффективностью. Превращение среды разработки в среду сопровождения также важно для долговременных проектов по разработке ПО.
Плохо то, что заинтересованные стороны проекта редко рассматривают среду как объект первостепенной важности, необходимый для длительного сопровождения продукта. Среда, обеспечивающая автоматизацию процесса, является весьма значимой составляющей, критичной для определения полной стоимости разрабатываемой системы. WBS верхнего уровня, рекомендованная в главе 10, рассматривает создание среды разработки как один из основных рабочих процессов.
В разделе 3.2 представлены три уровня процесса. Для эффективного выполнения каждого уровня требуется определенная степень автоматизации процесса:.
1.
Метапроцесс, политика, приемы и практика, которые присущи некоей организации при ведении интенсивного бизнеса, связанного с программным обеспечением. Автоматизация на этом уровне называется инфраструктурой (infrastructure). Инфраструктура — это перечень выбранных инструментов, шаблоны рабочих продуктов, методические рекомендации по микро- и макропроцессу, репозиторий проекта, база данных для хранения информации о квалификации персонала, библиотека примеров планов и результатов прошлых проектов.
2.
Макропроцесс: политика, приемы и практика, которые присущи некоему проекту по созданию законченного ПО с учетом ограничений по стоимости, срокам и качеству. Автоматизация такого процесса называется средой (environment). Среда — это определенный набор инструментов для создания определенного комплекта рабочих продуктов в соответствии с определенным планом проекта.
3.
Микропроцесс, политика, приемы и практика, которые присущи команде разработчиков некоего проекта и направлены на создание.
рабочих продуктов в процессе разработки ПО. Автоматизация при создании каких-либо рабочих продуктов в общем случае называется инструментом (tool). Инструменты обычно включают в себя управление требованиями, визуальное моделирование, компиляторы, редакторы, отладчики, управление изменениями, автоматизацию измерения параметров, автоматизацию документирования, автоматизацию тестирования, оценку затрат и автоматизацию других рабочих процессов.
Поскольку основное внимание при автоматизации процесса направлено на среду проекта в целом, важными предпосылками для нее являются общее состояние инфраструктуры организации, выполняющей проект, и инструменты как строительный материал.