AQAP 2110 — Союзна публікація із забезпечення якості, що регулює вимоги до системи управління якістю при проектуванні, розробці та виробництві програмного забезпечення в рамках оборонних контрактів. Тоді як ISO 9001 є базовим стандартом якості, визнаним у всіх галузях, AQAP 2110 іде далі — він написаний спеціально для контексту оборонних закупівель і накладає додаткові вимоги, що відображають унікальні потреби військових програм: нагляд з боку державних органів забезпечення якості (GQA), формальне планування розробки програмного забезпечення та жорстке управління конфігурацією.
Для постачальника програмного забезпечення, який прагне працювати за контрактами країн-членів, розуміння того, що вимагає AQAP 2110 і як він відрізняється від ISO 9001 на практиці, є необхідною підготовкою.
Що таке AQAP 2110 і чим він відрізняється від ISO 9001
AQAP 2110 базується на ISO 9001 і включає всі його вимоги. Постачальники, сертифіковані за AQAP 2110, імпліцитно відповідають ISO 9001. Однак AQAP 2110 додає рівень оборонно-специфічних вимог, яких ISO 9001 не містить.
Найбільш значущим доповненням є Державне забезпечення якості (GQA). Відповідно до AQAP 2110, замовник зберігає право проводити наглядові аудити системи управління якістю постачальника під час виконання контракту. Представник державного забезпечення якості (GQAR) може відвідувати об'єкти постачальника, перевіряти артефакти розробки, бути присутнім на випробуваннях і верифікувати, що передбачені контрактом процеси розробки ПЗ дійсно дотримуються. Це принципово відрізняється від ISO 9001, де відносини аудиту існують виключно між організацією та органом сертифікації.
AQAP 2110 також вимагає від постачальників підготовки Плану розробки програмного забезпечення (SDP) — формального документа, що визначає, як постачальник управлятиме процесом розробки ПЗ для конкретного контракту. SDP підлягає схваленню замовником до початку розробки, надаючи стороні, що укладає контракт, видимість та вплив на рішення щодо процесу розробки.
Подальша відмінність полягає в явній вимозі щодо Управління конфігурацією програмного забезпечення (SCM), яка є більш конкретною, ніж загальні вимоги ISO 9001 до управління конфігурацією. Відповідно до AQAP 2110, управління конфігурацією повинне охоплювати ідентифікацію елементів конфігурації, контроль змін, облік стану та аудит конфігурації.
Ключові вимоги: SDP, SCM, верифікація та валідація, огляди
План розробки програмного забезпечення (SDP). SDP — це специфічний для контракту документ планування, що пов'язує загальні можливості системи управління якістю постачальника з конкретною програмою. Він повинен визначати елементи програмного забезпечення в межах охоплення, методологію розробки, що буде використовуватися, середовища розробки та тестування, підхід до управління конфігурацією, реєстр ризиків та стратегії їх пом'якшення, а також розклад і контрольні точки для діяльності із забезпечення якості. SDP — живий документ; він повинен оновлюватися в міру розвитку програми, а суттєві зміни потребують формального схвалення замовника.
Управління конфігурацією ПЗ (SCM). AQAP 2110 вимагає формальної системи SCM, що забезпечує повну простежуваність від вимог через проектування, реалізацію та тестування до поставленого програмного забезпечення. Ідентифікація елементів конфігурації повинна охоплювати вихідний код, сценарії збірки, набори тестів, документацію та сторонні компоненти.
Верифікація та валідація (V&V). AQAP 2110 розрізняє верифікацію (підтвердження того, що ПЗ правильно реалізує свою специфікацію) та валідацію (підтвердження того, що специфікація правильно відображає потреби замовника). Обидва аспекти повинні бути заплановані в SDP та виконані з документованими доказами.
Формальні огляди. Стандарт вимагає проведення формальних оглядів на визначених етапах життєвого циклу програмного забезпечення: огляд вимог до ПЗ (SRR), попередній огляд проекту (PDR), критичний огляд проекту (CDR) та огляд готовності до тестування (TRR). Кожен огляд має визначені критерії входу, порядок денний, учасників та критерії виходу. Замовник (або GQAR) зазвичай запрошується в якості спостерігача або учасника.
Практичний вплив: Вимога щодо SDP — це місце, де більшість постачальників недооцінює необхідні зусилля. Відповідний SDP для нетривіальної програми зазвичай становить 50–150 сторінок, охоплює весь життєвий цикл розробки та повинен бути узгоджений із замовником до початку роботи. Постачальники, які підходять до SDP як до формального виконання вимог — готуючи мінімальний документ, що містить правильні слова, але не відображає реальних практик — ймовірно, зіткнуться з труднощами під час аудитів GQA.
Як AQAP 2110 впливає на процеси SDLC
Практичний вплив AQAP 2110 на процеси розробки програмного забезпечення є суттєвим. Стандарт не забороняє гнучкі або ітеративні методи — він вимагає, щоб будь-який метод, що використовується, був задокументований, запланований і послідовно дотримувався. Постачальники, що використовують Agile-методи, повинні задокументувати, як їхні практики Agile відповідають вимогам AQAP 2110 щодо планування, контролю конфігурації та V&V.
Управління змінами стає значно суворішим. Зміни до базових проектних артефактів вимагають запиту на зміну, аналізу впливу, затвердження відповідним органом (потенційно включаючи замовника) та оновлення відповідних елементів конфігурації. Вимоги до доказів тестування впливають на те, як проводиться та фіксується тестування: необхідно вести плани тестування, процедури, результати та звіти про аномалії як офіційні записи.
Процес сертифікації: NSPA та національні органи сертифікації
Сертифікація AQAP 2110 для окремих контрактів зазвичай здійснюється інакше, ніж сертифікація ISO 9001. Замість єдиної глобальної сертифікації відповідність AQAP, як правило, оцінюється на рівні контракту, а нагляд GQA здійснює національний орган країни, що укладає контракт.
Агентство підтримки та закупівель НАТО (NSPA) надає підтримку, пов'язану з AQAP, і може здійснювати GQA від імені країн-членів для певних категорій контрактів. Більш поширені випадки, коли національні агентства оборонних закупівель мають власні організації забезпечення якості: Defence Equipment and Support (DE&S) у Великій Британії, Direction Générale de l'Armement (DGA) у Франції, Bundesamt für Ausrüstung, Informationstechnik und Nutzung der Bundeswehr (BAAINBw) у Германії.
Постачальники, що прагнуть продемонструвати відповідність AQAP 2110, зазвичай обирають один із двох шляхів: відповідність, специфічна для контракту, або сертифікація третьою стороною. Третя сторонна сертифікація надає докази спроможності, на які можна посилатися в тендерних пропозиціях до присудження конкретного контракту, тому великі постачальники оборонного програмного забезпечення, як правило, проходять її превентивно.