Оценка измерений (Evaluate Measurement)
- Оценка информационного продукта. Такая оценка проводится на соответствие специфицированным критериям оценки и определяет сильные и слабые стороны (strengths and weaknesses*) полученного информационного продукта. Оценка может проводиться в рамках внутренних процессов или внешнего аудита и должна включать анализ отзывов от лиц, использующих полученные результаты. Сделанные выводы (в англоязычных источниках по оценке и совершенствованию процессов повсеместно используется термин “lessons learned” – “полученные уроки”) должны быть записаны в соответствующую базу данных (иногда называемую также “базой знаний” – “knowledgebase”). (см. стандарт ISO 15939-02, раздел 5.4.1 и приложение D).
* strengths and weaknesses – два из четырех элементов SWOT-анализа. SWOT - Strengths, Weaknesses, Opportunities, Threats – сильные стороны, слабые стороны, возможности, угрозы. Обычно представляется как квадрант четырех указанных факторов. - Оценка процесса проведения измерений. Данная оценка проводится на соответствие специфицированным критериям оценки и определяет сильные и слабые стороны самого процесса. Оценка может проводиться в рамках внутренних процессов или внешнего аудита и должна включать анализ отзывов от лиц, использующих полученные результаты. Сделанные выводы должны быть записаны в соответствующую базу данных. (см. стандарт ISO 15939-02, раздел 5.4.1 и приложение D).
- Определение потенциальных возможностей улучшения/усовершенствований (improvements) <процесса проведения измерений>. Такие рекомендации по улучшению могут заключаться в изменении формата используемых количественных индикаторов, единиц измерения или изменений в их классификации (категориях метрик). Необходимо определять стоимости и отдачу (benefits) от предлагаемых улучшений и отобрать те из них, которые соответствуют целям и критериям измерений, после чего сформулировать действия, необходимые для внедрения выбранных улучшений. Предполагаемые улучшения должны быть обсуждены и утверждены заинтересованными лицами. Отсутствие потенциальных улучшений (если они не были идентифицированы в результате проведенного анализа) также должно быть обсуждено с заинтересованными лицами.
8. Процесс программной инженерии
(Software Engineering Process по SWEBOK)
Глава базируется на IEEE Guide to the Software Engineering Body of Knowledge - SWEBOK.
Содержит перевод описания области знаний SWEBOK “Software Engineering Process”, с замечаниями и комментариями.
Процесс программной инженерии (Software Engineering Process)
1. Реализация и изменение процесса (Process Implementation and Change)
1.1 Инфраструктура процесса (Process Infrastructure)
1.2 Цикл управления программным процессом (Software Process Management Cycle)
1.3 Модели реализации и изменения процесса (Models for Process Implementation and Change)
1.4 Практические соображения (Practical Considerations)
2. Определение процесса (Process Definition)
2.1 Модели жизненного цикла программного обеспечения (Software Life Cycle Models)
2.2 Процессы жизненного цикла программного обеспечения (Software Life Cycle Processes)
2.3 Нотации определения процесса (Notations for Process Definitions)
2.4 Адаптация процесса (Process Adaptation)
2.5 Автоматизация (Automation)
3. Оценка процесса (Process Assessment)
3.1 Модели оценки процесса (Process Assessment Models)
3.2 Методы оценки процесса (Process Assessment Methods)
4. Измерения в отношении процессов и продуктов (Process and Product Measurement)
4.1 Измерения в отношении процессов (Process Measurement)
4.2 Измерения в отношении программных продуктов (Software Product Measurement)
4.3 Качество результатов измерений (Quality Of Measurement Results)
4.4 Информационные модели (Software Information Models)
4.5 Техники количественной оценки процессов (Process Measurement Techniques)
Область знаний “Процесс программной инженерии” (Software Engineering Process) может быть рассмотрена на двух уровнях. Первый уровень содержит техническую и управленческую деятельность на протяжении процессов жизненного цикла программного обеспечения, включающих приобретение, разработку, сопровождение и вывод из эксплуатации программных систем. Второй уровень – “мета-уровень”, связанный с определением, реализацией, оценкой, измерением, управлением, изменением и совершенствованием самих процессов жизненного цикла программного обеспечения. Первый уровень освещен в других областях знаний SWEBOK. Второй уровень рассматривается в данной области знаний.
Термин “процесс программной инженерии” (software engineering process) может интерпретироваться по-разному и это, соответственно, может приводить к определенной путанице.
- С одной стороны, учитывая специфику оригинального термина в английском языке, где (с точки зрения грамматики) может существовать термин the software engineering process, он будет подразумевать единственно правильный способ выполнения задач (performing tasks) программной инженерии. Такое предположение заведомо отбрасывается SWEBOK, так как “единственно правильного” процесса быть не может. Такие стандарты, как IEEE/ISO/ГОСТ 12207 говорят о процессах (во множественном числе - processes), подразумевая что программная инженерия содержит множество процессов, например, процесс разработки (Development Process) и процесс конфигурационного управления (Configuration Management Process).
- Вторая интерпретация связана с общим (general) обсуждением процессов, связанных с программной инженерией. Данная точка зрения отражена в названии этой области знаний и является одной из наиболее часто подразумеваемых при использовании термина “процесс программной инженерии”.
- Наконец, третье понимание данного термина может означать реальный набор действий, предпринимаемых в данной организации и рассматриваемый как единый процесс на уровне организации. Такой подход также рассматривается в данной области знаний (та или иная интерпретация обычно зависит от контекста обсуждения).
Данная область знаний связана со всеми элементами управления процессами жизненного цикла программного обеспечения, в которых процедурные (управленческие) или технологические изменения применяются к совершенствованию процесса или продукта.
Процесс программной инженерии касается не только крупных организаций. Более того, связанные с данным процессом действия могут и должны применяться небольшими организациями, командами и отдельными специалистами.
Цель управления процессами программной инженерии состоит в реализации новых и лучших процессов в реальной практике конкретных специалистов, проектов или организации (отдельных ее групп подразделений или организации, в целом).
Данная область знаний не адресуется напрямую вопросам управления персоналом (human resources management, HRM). Эти темы исследуются, например, в People CMM (People Capabililty Maturity Model) и процессах системной инженерии (см. стандарты ISO 15288 “Systems Engineering - System Life Cycle Process” и IEEE 1220 “Standard for the Application and Management of the Systems Engineering Process”).
Также, необходимо понимать, что многие процессы программной инженерии порождаются и тесно связаны с другими дисциплинами, например, управлением (management), хотя иногда эти процессы и называют по-другому в контексте этих дисциплин.
Рисунок 1. Область знаний “Процесс программной инженерии” [SWEBOK, 2004, с.9-2, рис. 1]