Модель зрілості можливостей (CMM – Capability Maturity Model)
Інтегрована модель зрілості процесів програмного забезпечення (CMMI): Система, що описує ключові елементи ефективного процесу розробки та підтримки продукту. CMMI включає передовий досвід планування, проектування та управління розробкою та підтримкою продукту. (CMMI)
Інтегрована модель зрілості тестування (Test Maturity Model Integration): П'ятиступінчаста структура вдосконалення процесу тестування, пов'язана з інтегрованою моделлю зрілості процесів програмного забезпечення (CMMI) та описує ключові елементи ефективного процесу тестування. (ISTQB)
Модель зрілості (maturity model): Структурований набір елементів, які описують деякі аспекти зрілості в організації та допомагають у визначенні та розумінні процесів організації. Модель зрілості часто надає спільну мову, загальне бачення та основи визначення пріоритетності дій щодо вдосконалення. (ISTQB)
Для будь-якого процесу, будь то процес контролю якості, процес розробки чи будь-який інший нетехнічний процес, існують рівні зрілості. Під рівнями зрілості ми розуміємо рівень формалізації та вдосконалення процесів, починаючи від ad-hoc процесів до таких, що складаються з формалізованих та певних кроків, які мають метрики результатів і які були оптимізовані.
CMM (Capability Maturity Model, Модель зрілості можливостей)
Це модель, заснована на процесах, яка використовується для оцінки зрілості організації у різних галузях. Концепція СММ була запроваджена Інститутом Програмної Інженерії (SEI) у США.
Незважаючи на те, що ця модель застосовується до процесу розробки програмного забезпечення, зрештою вона використовується і для інших процесів, таких як QA та тестування.
Існує п'ять різних рівнів зрілості: від 1 до 5. З розвитком від першого до п'ятого рівня зменшуються мінливість і непослідовність. Нижче наведено детальний опис п'яти рівнів. Тут ми будемо розглядати 5 рівнів СММ з позиції QA - процесів, а всі результати по виходу з кожного рівня будуть застосовуватися до аналізу якості та тестування послідовно, щоб досягти 5 рівня.
Рівень 1 (Початковий) - Ad-Hoc: нерозпланований, безсистемний та непослідовний
Як передбачає термін Ad-Hoc: нерозпланований, непідготовлений, тобто на цьому рівні не надається значення плануванню, постановці цілей на подальші процеси, принципам керівництва та стандартам. Не існує стандартизованого та послідовного способу виконання будь-якого завдання. Єдине, що важливо на цьому рівні, - це дотримання термінів, незалежно від якості кінцевого продукту та результатів. Оскільки немає заздалегідь визначених стандартів та процесів, одне й те саме завдання може бути виконане різними людьми по-різному. Це вносить ще більше хаосу, оскільки це завдання буде виконано наступних разів зовсім по-іншому, адже немає жодної документації про процес, яка допомогла б його відтворити ще раз. Таким чином, на цьому рівні процес погано контролюється, веде себе реактивно та непередбачувано.
Приклад:
У QA прикладом може послужити така ситуація, коли в організації незважаючи на те, що аналіз якості є однією з фаз життєвого циклу продукту, немає жодних стандартів і немає певного процесу, немає шаблонів для результатів тестування – плани тестування, стратегії тестування, сценарії та тестові випадки не стандартизовано. Навіть якщо всі ці речі визначені та задокументовані, але у кожного члена команди свій спосіб виконання того чи іншого процесу, то процеси досі не є послідовними. Тобто в такому разі не доводиться говорити про контроль QA, а сам рівень загалом характеризується хаотичністю.
Рівень 2 (Повторюваний) – Управління: Ініціювання визначення процесів на високому рівні
На цьому етапі ми отримуємо вирішення проблеми у зв'язку з тим, що характеристики QA – процесів відрізняються від тих, які ми бачили на першому рівні. У нас вже є чіткі процеси, методологія та стандарти. Стандарти та процеси не тільки виявляються завершеними, але за підсумком вони добре задокументовані, тому вони можуть бути відтворені у будь-якому з аналогічних завдань, які були виконані раніше. Ось чому цей рівень ще називається «повторюваний», по суті ми можемо повторити кроки і виконати ту саму роботу. Таким чином, основна увага приділяється базовому управлінню проектами на цьому рівні.
Приклад:
Для аналізу якості визначте весь процес і методологію проведення QA для різних типів тестування, таких як функціональне, тестування на продуктивність тощо. Визначте ролі та обов'язки фахівців із тестування та їхнього тимліду у життєвому циклі проекту та підготуйте шаблони для представлення результатів на кожному етапі. План тестування, стратегія тестування, сценарії та тестові випадки мають бути організованими. Потрібно не лише написати та підготувати, а й поділитися документацією з командою.
Рівень 3 (Визначений) - Основна Компетенція: Придумайте узагальнений процес, що покриває велику аудиторію та більшу кількість областей
На третьому рівні люди мотивовано дотримуються стандартів та процесів, які були визначені на попередньому рівні. Для цього процеси в першу чергу повинні бути посильними всім людям, залученим до їх виконання. Необхідно визначити, які навички необхідні для ефективного виконання або використання процесів та стандартів, а також чи потрібна для цього якась попередня підготовка. Далі мотивуйте і підтримуйте людські ресурси, щоб вони могли виконувати процеси і дотримуватися стандартів. На цьому рівні люди, які мають більше досвіду, діляться своїми знаннями з іншими. Основна увага приділяється документації, стандартизації процесів та інтеграції. На той час організація вже має свій власний стандартний процес тестування програмного забезпечення.
Приклад:
Проведення вебінарів або тренінгів, що дозволяють тестувальникам ознайомитися з певним новим процесом та стандартами QA та мотивувати їх користуватися ними у своїй повсякденній проектній діяльності.
Рівень 4 (Керований) - Передбачуваний: Вимірювання процесів
На цьому рівні кількісно вимірюються процеси, визначені лише на рівні 3. Це необхідно контролю ресурсів, необхідні виконання будь-якого завдання. На основі цього кількісного аналізу, без погіршення якості кінцевого продукту, процеси можна скоригувати, якщо це необхідно. Аналіз проводиться шляхом поділу всього процесу на дрібніші підпроцеси, а потім до цих підпроцесів застосовують кількісні методи. Відповідно до результату, підпроцеси коригуються за необхідності. Цей рівень називають передбачуваним, оскільки на основі попереднього досвіду можна кількісно скоригувати курс виконання процесу та передбачити ефективність роботи наступних виконань процесів. Ключовими областями на 4 рівні СММ є кількісне управління проектами та ефективність організаційних процесів.
Приклад:
Хорошою ідеєю буде проведення регулярних QA-аудитів. Вони можуть включати перевірку того, чи справді команди дотримуються певних процесів, використовують стандартні шаблони та дотримуються методології. Якщо ви займаєтеся автоматизованим тестуванням, то періодичні review коду тестових сценаріїв автоматизації, можна навести і це як приклад.
Рівень 5 (Оптимізація) – Інноваційний: Безперервне вдосконалення
На цьому рівні визначаються інноваційні способи подальшого вдосконалення попередньо визначених процесів та стандартів. Для цього наші власні процеси повинні постійно переглядатися та змінюватись шляхом додавання нових інструментів та технологій, безперервними дослідженнями та навчання нового, освоєння найсучаснішого досвіду ринку. Цього можна досягти шляхом порівняльного аналізу вашої організації з іншими, навчання у них, спробами запозичити досвід та покращити власний процес, додавши до нього щось інноваційне. Таким чином, на цьому рівні основна увага приділяється безперервному вдосконаленню процесів. Ключовими областями процесу є управління ефективністю організації та кількісне управління проектами.
Приклад:
Продовжуйте вдосконалювати методологію, процеси аналізу якості, визначені з урахуванням наявних результатів аудиту. На підставі деяких досліджень було зроблено висновок про те, що організація, що знаходиться на першому рівні, може витратити до $1000 на завдання, яке організації п'ятого рівня зможе виконати, витративши всього $10. Нещодавно в моїй організації з'ясувалося, що ми проводимо регресійне тестування вручну, тобто руками повторюємо одну і ту ж послідовність дій, що займає багато часу та зусиль, які можна заощадити та вкласти в інші продуктивніші дії. Потім ми розробили доказ здійснення концепції автоматизації процесу регресійного тестування за допомогою інструментів автоматизації. POC пройшло нормально і, нарешті, нам удалося налагодити процес виконання регресійного тестування за допомогою тестових сценаріїв автоматизації. Це заощадило багато сил і часу та сприяло поліпшенню процесу загалом.
Після розгляду всіх п'яти рівнів, про які ми говорили вище, здається, що найважче досягти третього рівня. Як тільки ви його досягнете, до решти всіх рівнів буде рукою подати.
Джерела:
Дод. матеріал:
Last updated