Модель якості розробок CMM і її підтримка лінійкою продуктів Rational, Комерція, Різне, статті

На початку червня Санкт-Петербурзі відбулася Конференція розробників Software Outsourcing Summit, організована асоціацією “Форт-Росс”. На Конференції обговорювалися питання грамотної організації процесу з випуску якісного програмного забезпечення.

Як інструмент виміру надійності та якісності прийнято вважати CMM. Необхідність в СММ не є дань моді, оскільки в сучасних умовах розробки програмного забезпечення просто життєво необхідно працювати не тільки швидко, але і якісно – це з одного боку. А з іншого боку, отримання певного рівня CMM приваблює потенційних замовників. Адже замовники хочуть отримати програмний продукт гарантованої якості в задані терміни, а СММ є тією візитною карткою, яка підтверджує рівень підрядника.

Тобто всі виробничі етапи повинні бути розписані, повинні бути визначені корпоративні стандарти на розробку, повинні бути строго обумовлені ролі учасників проекту і так далі. Тільки після виконання даних вимог можлива розмова про якість, і про сертифікацію по СММ.

Показово, що це розуміють керівники не тільки західних компаній, але, і що більш важливо, управлінці російських фірм.

Але в Росії поки знають тільки слово СММ, але не знають як саме можна піднятися до потрібної якості та пройти сертифікацію (як цього домогтися читайте далі по тексту). На Заході вже давно використовують для цих цілей технологічні рішення компанії Rational Software для організації процесу з випуску якісного програмного забезпечення. І роблять це з кількох причин: по-перше, Rational Software – Єдина компанія, яка чітко описала весь виробничий цикл з випуску програмних продуктів (Rational Unified Process), розписала всі можливі види документів, що супроводжують проект, строго визначила ролі кожного учасника проекту. А по-друге, написала спеціальне програмне забезпечення для якісного виконання того чи іншого етапу. Важливо і те, що Rational допомогою RUP пропонує перейти від програмування як ремесла, до програмування, як до науки, де все зрозуміло і прозоро. Адже підвищення якості продукту можливо тільки у випадку, якщо люди дотримуються технологій, апробованих на багатьох проектах, а не займаються винаходом власних стандартів. Ось і виходить, що технології Rational Software дозволять поліпшити процес випуску ПЗ та отримати відповідний рівень СММ.


Що таке CMM?

Capability Maturity Model – Модель зрілості процесів створення ПЗ: еволюційна модель розвитку здатності компанії розробляти програмне забезпечення.

Спочатку CMM розроблялася і розвивалася як методика, що дозволяє великим урядовим організаціям США вибирати найкращих постачальників ПЗ. Для цього передбачалося створити вичерпний опис способів оцінки процесів розробки ПЗ та методики їх подальшого удосконалення. У результаті автори змогли добитися такого ступеня подробиці і деталізації, що стандарт виявився придатним і для звичайних компаній-розробників, які бажають якісно поліпшити існуючі процеси розробки, привести їх до певних стандартів.

Ключовим поняттям стандарту є зрілість організації. Незрілої вважається організація, в якій процес розробки програмного забезпечення залежить тільки від конкретних виконавців і менеджерів, і рішення часто просто імпровізує “на ходу” – то що на сучасній мові називається творчим підходом, або мистецтвом .. У цьому випадку велика ймовірність перевищення бюджету або завалення термінів здачі проекту, і тому менеджери і розробники змушені займатися тільки вирішенням найближчих проблем, стаючи, тим самим, заручниками власного програмного продукту.

З іншого боку, в зрілої організації є чітко визначені процедури створення програмних продуктів та управління проектами. Ці процедури в міру необхідності уточнюються і удосконалюються в пілотних проектах або за допомогою аналізу вартість / прибуток. Оцінки часу і вартості виконання робіт грунтуються на накопиченому досвіді і досить точні. Нарешті, в компанії існують стандарти на процеси розробки, тестування та впровадження ПО, правила оформлення кінцевого програмного коду, компонент, інтерфейсів і т.д. Все це становить інфраструктуру і корпоративну культуру, яка підтримує процес розробки програмного забезпечення, коли все стандартизовано.

CMM визначає п’ять рівнів зрілості організацій. В результаті атестації компанії присвоюється певний рівень, який в подальшому може підвищуватися або знижуватися. Тут хочеться відзначити, що кожен наступний рівень включає в себе всі ключові характеристики попередніх.


  1. Початковий рівень (initial level) описаний в стандарті як основу для порівняння з наступними рівнями. На підприємстві початкового рівня організації не існує стабільних умов для створінь якісного програмного забезпечення. Результат будь-якого проекту цілком і повністю залежить від особистих якостей менеджера і досвіду програмістів, причому успіх в одному проекті може бути повторений тільки в разі призначення тих же менеджерів і програмістів на наступний проект. Більш того, якщо такі менеджери або програмісти йдуть з підприємства, то з їх відходом різко падає якість вироблених програмних продуктів. В стресових ситуаціях процес розробки зводиться до написання коду і його мінімального тестування.
  2. Повторюваний рівень (repeatable level). Для його впровадження на підприємстві повинні бути впроваджені технології управління проектами. При цьому планування та управління проектами грунтується на накопиченому досвіді, існують стандарти на розроблювальне програмне забезпечення (причому забезпечується дотримання цих стандартів) і існує спеціальна група забезпечення якості. У разі необхідності організація може взаємодіяти з субпідрядниками. У критичних умовах процес має тенденцію скочуватися на початковий рівень.
  3. Певний рівень (defined level). Він характеризується тим, що стандартний процес створення та супроводження програмного забезпечення задокументований (включаючи і розробку ПО, і управління проектами). Мається на увазі, що в процесі стандартизації відбувається перехід на найбільш ефективні практики та технології. Для створення і підтримки такого стандарту в організації повинна бути створена спеціальна група. Нарешті, обов’язковою умовою для досягнення даного рівня є наявність на підприємстві програми постійного підвищення кваліфікації та навчання співробітників. Починаючи з цього рівня, організація перестає залежати від якостей конкретних розробників, і процес не має тенденції скочуватися на рівень нижче в стресових ситуаціях.
  4. Керований рівень (managed level) в організації встановлюються кількісні показники якості – як на програмні продукти, так і на процес в цілому. Таким чином, більш досконале управління проектами досягається за рахунок зменшення відхилень різних показників проекту. При цьому осмислені варіації в продуктивності процесу можна відрізнити від випадкових варіацій (шуму), особливо в добре освоєних областях.
  5. Оптимізуючий рівень (optimizing level) характеризується тим, що заходи по поліпшенню застосовуються не тільки до існуючих процесів, а й для оцінки ефективності введення нових технологій. Основний завданням всієї організації на цьому рівні є постійне поліпшення існуючих процесів. При цьому поліпшення процесів в ідеалі має допомагати попереджати можливі помилки або дефекти. Крім того, повинні вестися роботи по зменшенню вартості розробки програмного забезпечення, наприклад за допомогою створення та повторного використання компонент.

Сертифікаційна оцінка відповідності всіх ключових областей проводиться за 10-бальною шкалою. Для успішної кваліфікації даної ключовою області необхідно набрати не менше 6 балів. Оцінка ключовою області проводиться за наступними показниками:


  1. Зацікавленість керівництва у цій галузі (чи планується практичне впровадження даної ключовою області, чи існує розуміння у керівництва необхідності даної області і т.д.).
  2. Наскільки широко дана область застосовується в організації (наприклад, оцінки в 4 бали відповідає фрагментарне застосування).
  3. Успішність використання даної області на практиці (наприклад, оцінці в 0 балів відповідає повна відсутність будь-якого ефекту, а оцінка в 8 балів виставляється при наявності систематичного і вимірного позитивного результату практично у всій організації).


Про компанію Rational Software

Корпорація Rational Software – провідний розробник CASE-засобів нового покоління, призначених для об’єктно-орієнтованого візуального моделювання та проектування корпоративних інформаційних систем (КІС) на основі оригінальних методологій, таких як Rational Unified Process (RUP) і Unified Modeling Language (UML). Дані методики створення програмних систем засновані на щорічних опитуваннях користувачів, розробляють ПЗ. Ідейними натхненниками й батьками RUP і UML є такі гуру CASE-технологій як Граді Буч, Івар Якобсон і Джеймс Рамбо, які до сих пір працюють в аналітичному центрі Rational і продовжують роботу над модернізацією даних методик.

Rational випускає CASE-засоби, системи автоматизованого проектування ПЗ, а також засоби управління проектами, пов’язаними з розробкою, документуванням і супроводом великих інформаційних систем. Кілька років поспіль International Data Corp. (IDC) визнає Rational Software лідером по цілому ряду показників серед компаній, що розробляють програмне забезпечення. За даними USA Today, 49 з 50 провідних комп’ютерних компаній використовують продукти Rational Software, за даними журналу «Fortune», продукти Rational використовують 90 з 100 компаній-розробників ПЗ.

Rational Software була заснована в 1981 році, коли Пол Леві (Paul Levy) і Майк Девлін (Mike Devlin), що є і донині керівниками та головними генераторами ідей, звернули увагу на перспективність ПО.

З тих пір важливість програмного забезпечення як двигуна економічного зростання у всьому світі зросла багаторазово.

Місія Rational Software – гарантувати успіх клієнтів, який залежить від їх здатності швидко, якісно і в строк розробляти, а потім і підтримувати розробляється програмне забезпечення.

Мета Rational полягає в тому, щоб допомогти клієнтам створити системи програмного забезпечення, за допомогою яких вони повинні досягати своїх цілей. Rational допомагає клієнтам вирішити основні проблеми, властиві проектування, розвитку, випробування програмного забезпечення, дозволяючи створювати заявлене програмне забезпечення швидко, з меншим ризиком і з більш високою якістю і надійністю, ніж це можливо із застосуванням інших підходів.

Першу продукцію компанія почала випускати в кінці 1984 року. З тих пір компанія істотно розрослася як в людських ресурсах так і у власній капіталізації. На сьогоднішній день Rational має більш 26000 клієнтів, які використовують понад 432,000 ліцензій (дані на 1999 рік). Дохід компанії – більше 815 000 000 доларів на рік. Штат компанії – більше 3700 фахівців. У число партнерів Rational входять такі лідери індустрії розробки ПЗ, як IBM, Oracle і Microsoft.

Rational розробила і розвинула унікальне рішення щодо об’єднання команд розробників, яке поєднує лідируючі засоби розробки з професійними послугами та інтелектуальним лідерством в науці розвитку програмного забезпечення. Якщо здатність розвивати або розгортати програмне забезпечення важлива для Вас, то Вам потрібні рішення Rational Software.


Про Rational Unified Process

RUP – Методологічна основа для всього, що випускає Rational Software. Тобто даний продукт є енциклопедією (методологічним керівництвом) того, як потрібно будувати ефективне інформаційне виробництво. Також RUP регламентує етапи розробки ПО, документи, що супроводжують кожен етап, і продукти самої Rational для кожного етапу. У RUP закладені всі найсучасніші ідеї. Продукт постійно оновлюється, включаючи в себе все нові і нові можливості. До перевагою даної методології варто віднести надзвичайну гнучкість, тобто RUP не диктує, що необхідно зробити, а тільки рекомендує використовувати те або інший засіб.

Вище вже згадувався ряд проблем на шляху випуску ПО. Ось що пропонує RUP для вирішення подібних проблем:


  1. Випускати програмне забезпечення, користуючись принципом промислового підходу. Тобто так, як роблять будь-які заводи і фабрики: визначаючи стадії, потоки, уточнюючи обов’язки кожного учасника проекту. Саме промисловий підхід дозволить досить оперативно випускати нові версії ПЗ, які при цьому будуть надійними і якісними.
  2. Розширювати кругозір фахівців для зняття бар’єрів. Адже в переважній більшості випадків фахівці з різних відділів просто говорять на різних мовах. Відповідно, зняття мовного бар’єру повинно вести до прискорення роботи над програмним забезпеченням.
  3. Використовувати ітеративну розробку замість каскадної, що існує в даний час. Принцип ітерації полягає в повторюваності певній послідовності процесів з метою доведення елемента до безпомилкового стану.
  4. Обов’язкове управління вимогами. Всім відомо, що по ходу розробки в систему вносяться зміни (самою групою розробників або замовником – неважливо). Rational пропонує потужну систему контролю управління вимогами: їх виявлення та документування, підтримку угод між розробниками і замовниками,
  5. Повний контроль всього, що відбувається в проекті через створення спеціальних архівів.
  6. Уніфікований документообіг, приведений у відповідність з усіма відомими стандартами. Це означає, що кожен етап в розробці (початок, робота і завершення) супроводжуються уніфікованими документами, якими повинен користуватися кожен учасник проекту.
  7. Використання візуального моделювання
  8. Застосування не тільки механізмів об’єктно-орієнтованого програмування, а й ОО мислення і підходу.
  9. Підхід до розробки ПЗ як до промислового процесу

У RUP регламентуються всі етапи робіт та документи, що супроводжують кожен етап. Також написані програмні продукти, які допоможуть досягти високого рівня в CMM.


Про продукти Rational Software

Rational Rose. CASE-засіб візуального моделювання інформаційних
систем. Використовується для побудови функціональної, а також бізнес моделі підприємства, а також для кодогенераціі мовою реалізації. Даний інструмент використовується аналітиками на етапі проектування програмної системи і розробниками на етапі генерації коду змодельованої системи.

Rational Requisite Pro. Засіб управління вимогами. Дозволяє команді розробників створювати, структурувати, встановлювати пріоритети, відстежувати, контролювати зміни вимог, що виникають на будь-якому етапі розробки компонентів програми. На етапі аналізу використовується, як засіб визначення вимог до ПЗ. Даний продукт дозволить отримати як опис інтерфейсу ПО, так і визначити високорівнева план тестування для тестувальників.

Rational ClearQuest. Продукт для управління змінами та відстеження дефектів в проекті. За допомогою ClearQuest можливо зберігати в окремій базі даних (Oracle, Access, SQL) історію всіх змін проекту. Даний продукт тісно інтегрується із засобами тестування та управління вимогами, представляючи собою єдине середовище для зв’язування всіх помилок і документів між собою, тим самим даючи вищій ланці керівництва повну інформацію про стан справ у проекті.

Rational SoDA – Продукт для автоматичного генерування проектної документації. Дозволяє встановити корпоративний стандарт на внутрішньофірмові документи. Можливо також приведення документації до вже існуючим стандартам (Наприклад, ISO9000)

Rational Purify, Rational PureCoverage, Rational Quantify. Засоби тестування для розробників. Дані продукти дозволять оптимізувати випускаються програмні продукти за швидкістю роботи і за якістю коду.

Rational Robot. Інструмент для створення, модифікації та автоматичного запуску тестів. Інструмент, на основі тест плану здатний проводити як функціональне тестування (кнопкових і віконних форм), так і навантажувальний, тестуючи при цьому розподілені програми клієнт / сервер.

Rational TestManager. Відкрита і нарощувана система управління тестуванням, яка об’єднує всі пов’язані з тестуванням інструментальні засоби, артефакти, сценарії і дані. Крім того, Rational разом з Microsoft і Applied Information Services (AIS) розробили базу знань Rational Unified Process для платформи Web-рішень Microsoft. Всі чотири нових продукти інтегровані в сімейство програм Rational Suite.

SiteLoad, SiteCheck. Засоби тестування Web-сайтів на продуктивність і наявність непрацюючих посилань.

Rational ClearCase. Призначений для управління конфігурацією програм (software configuration management – SCM). Даний продукт дозволяє проводити версійність контроль всіх документів проекту. З його допомогою можна підтримувати кілька версій проектів одночасно, швидко перемикаючись між ними.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*