2.1. Культура інженерії програмного забезпечення

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

- чіткими організаційними цілями;

- зобов'язанням менеджменту вести організацію до досягнення встановлених цілей;

- середовищем, яке дає змогу кожному розробникові вдосконалювати і ефективно застосовувати свої знання і навички;

- вимірюваннями, що дають змогу добирати ефективні процеси. Будь-яка «здорова» культура повинна містити три істотні компоненти:

- персональне зобов'язання кожного розробника створювати якісні продукти шляхом систематичного застосування передового досвіду інженерії програмного забезпечення;

- зобов'язання менеджерів усіх, рівнів забезпечувати середовище, в якому якість програмного забезпечення (у всіх його аспектах) є фундаментальною концепцією і кожен розробник може реалізовувати цю концепцію;

- зобов'язаній всіх членів організації постійно вдосконалювати процеси, в яких воли беруть участь і продукти, які вони створюють.

На рис. 2.1 показано, як культура інженерії програмного забезпечення пов'язана з цілями, пріоритетами і технічною практикою розробки програмного забезпечення [25]. Культура інженерії програмного забезпечення визначає якісний рівень дій, процесів і технічних можливостей організації, задає проектні цілі і можливості організації. Рівень проектних цілей залежить від того технічного досвіду, який нагромоджено в організації. Чим більший цей досвід, тим вищі проектні цілі і тим краще відповідне програмне забезпечення здатна створювати організація. Технічний досвід, очевидно, впливає на загальну культуру організації і чим він більший, тим вища культура (А). Культура організації є, з одного боку, основою для діяльності кожного розробника, а з іншого - культура організацій буде тим вища, чим вища культура кожного розробника (В). Нарешті, культура інженерії програмного забезпечення допомагає встановлювати пріоритети менеджменту. Очевидно, вищі пріоритети менеджменту визначають (підсилюють) загальну культуру організації (С).

Рис. 2.1. Зв'язок культури з організацією

Сьогодні відомо декілька моделей культур організацій. Найвідоміші з них: Константіноса та Де Грака. Модель Константіноса розглядає чотири організаційні парадигми:

- закрита - характеризується стабільністю, секретністю, незначною гнучкістю, низхідним процесом прийняття рішень, неінноваційністю, авторитарністю;

- відкрита - характеризується інноваційністю, співпрацею, переговорністю, адаптивністю, колективним ухваленням рішень, ви­ рішенням проблем;

- синхронна - характеризується гармонійністю, рівністю, ефективністю, консерватизмом у змінах, координативністю, непрактичністю керівництва;

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

Модель Де Грака розглядає дві організаційні парадигми, які називаються римським і грецьким шляхами розвитку організацій (табл. 2.1), Де Грак вказує, що римський шлях характерний для старих, крупних і консервативних організацій, а грецький - для нових, середніх і малих мобільних організацій (ательє).

Таблиця 2.1

Р. Гласс (R.Gluss) додає «варварську» культуру для найменш цивілізованих, малих програмних ательє, порівнюючи її з грецькою і римською культурами таким чином:

- греки організовують речі, римляни - людей, варвари організовують «що-небудь»;

- у греків методології неформальні, у римлян - формальні, у варварів - відсутні;

- греки пишуть програми, римляни управляють проектами, варвари «стрибають» кодуючи;

- греки мотивуються «підручною» проблемою, римляни - груповими цілями, варвари - героями;

- греки мінімізують документацію, римляни максимізують її, варвари гордяться її відсутністю;

- греки працюють у маленьких групах, римляни - у великих, варвари - поодинці;

- греки використовують речі як інструменти, римляни - людей, варвари взагалі не використовують інструментів;

- греки - демократи, римляни - імперіалісти, варвари - анархісти;

- греки - емпірично-індуктивні, римляни - аналітично-дедуктивні, варвари - емоційні;

- греки - інтуїтивні, римляни - логіки, варвари - імпульсні;

- греки надають увагу субстанції, римляни - формі, варвари - лініям коду;

- греки роблять речі, римляни планують речі, варвари руйнують речі.

Нині для оцінювання культури персоналу розроблено кодекс стики інженера програмного забезпечення, а для оцінювання рівня зрілості культури організацій використовується широко відома модель, розроблена в SEI. Capability Maturity Model (СММ) і її подаль­ ший розвиток СММ1 (Integrity).

Загрузка...