Визначення середовища розробки
- Навіщо потрібно визначення вимог
- Місце середовища розробки в контексті
- Малюнок 1. Відмінність центру забезпечення якості від проекту розробки
- Малюнок 2. Елементи середовища розробки
- Методика (Method)
- Засоби (Tools)
- Підготовка (Enablement)
- Організація (Organization)
- Інфраструктура (Infrastructure)
- Впровадження (Adoption)
- контекст рішення
- Малюнок 3. Необхідна функціональність, що включає всі елементи середовища розробки
- Визначення, розгортання, управління
- Малюнок 4. Цикл життя середовища розробки
- визначення
- Таблиця 1. Аспекти визначення
- розгортання
- Таблиця 2. Аспекти розгортання
- управління
- Таблиця 3. Аспекти управління
- взаємозалежності
- Малюнок 5. Взаємозалежності між елементами
- Висновок
- Ресурси для скачування
Забезпечуємо всебічний розгляд всіх елементів
Навіщо потрібно визначення вимог
Середовище розробки повинна містити все необхідне для створення і розгортання программоемкіх систем (тобто систем, в яких програмне забезпечення є найважливішим і обов'язковим елементом). Чому важливо мати несуперечливе визначення вимог до середовища розробки? Коротко кажучи, багато організацій прагнуть знизити час виходу на ринок, зменшити витрати і підвищити якість, а всі ці бізнес-цілі безпосередньо залежать від якості середовища, використовуваної при створенні таких систем. Наявність під рукою несуперечливого і всебічного визначення середовища розробки гарантує, що ніщо не буде упущено при плануванні дій щодо поліпшення наявної середовища, визначенні вимог до середовища, визначенні архітектури середовища, оцінки середовища, забезпеченні відповідного рівня повернення інвестицій при зміні середовища і т.д. Визначення середовища розробки є критично важливою вихідною інформацією для всіх цих завдань.
Місце середовища розробки в контексті
Перед розглядом конкретних елементів, що становлять середовище розробки, дуже корисно спочатку зрозуміти, яке місце це середовище займає в загальній картині.
На малюнку 1 зображено центр забезпечення якості (Center of Excellence), що відповідає за створення і обслуговування середовища розробки. Це середовище використовується в проектах розробки, які, в свою чергу, створюють і обслуговують программоемкіе системи (або якісь інші програмні активи, наприклад, компоненти або сервіси). Така проста візуалізація дозволяє уточнити відмінності між роллю центру забезпечення якості (включаючи ролі членів колективу, процеси і ключовий вузол - середовище розробки) і проектами, які використовують цю середу розробки (а також їх ролі, процеси і вузли).
Малюнок 1. Відмінність центру забезпечення якості від проекту розробки
Елементи середовища розробки
Відповідно до думки експертів з програмного забезпечення IBM Rational, середовище розробки складається з наступних шести елементів, кожен з яких показаний на малюнку 2 і докладно описаний нижче:
- Методика (Method)
- Засоби (Tools)
- Підготовка (Enablement)
- Організація (Organization)
- Інфраструктура (Infrastructure)
- Впровадження (Adoption)
Малюнок 2. Елементи середовища розробки
Можливо, ви знайомі з компонентами моделі персонал-процес-технологія, що є ключовими складовими частинами успішного проекту розробки. Однак ця модель є надмірно спрощеної для цілей цієї статті. Проте, ця модель побудована на елементах, показаних на малюнку 2:
- Персонал - це організація і підготовка.
- Процес - це методика.
- Технологія - це кошти і інфраструктура.
Впровадження - це новий (і дуже важливий) елемент, який концентрується на поширенні середовища розробки в організації, бізнес-підрозділі або проект.
Методика (Method)
Ключовим елементом будь-якого середовища розробки є методика, якої дотримуються, формально чи неформально, фахівці-практики. Ось ключові складові, які стосуються методики:
- Основні елементи методики, такі як ролі, робочі продукти, завдання і процеси.
- Додаткові елементи методики, такі як стандарти, рекомендації, інструкції, шаблони і приклади.
- Топологія розгортання методики, яка може враховуватися, наприклад, при розгортанні методики у вигляді Web-сайту в інтрамережі компанії. У нашому прикладі для розміщення контенту необхідний Web-сервер, а на робочих станціях повинен бути встановлений відповідний Web-браузер, і вони повинні бути підключені до Web-серверу.
Засоби (Tools)
Засоби розробки автоматизують аспекти обраної методики. Наприклад, можна використовувати інструментальні засоби для зберігання і управління вимогами до проекту, що розробляється, для візуального моделювання архітектури та дизайну, для тестування програмного забезпечення і т.д.
Ключові елементи, пов'язані з інструментальним засобам:
- Засоби розробки та засоби для їх інтеграції.
- Сценарії установки і настройки засобів розробки.
- Топологія розгортання засобів розробки, яка враховує необхідне програмне і апаратне забезпечення, як на стороні клієнтів, так і на стороні сервера, разом з усіма цільовими платформами і емуляторами (наприклад, при розробці пристроїв реального часу або вбудованих пристроїв).
Підготовка (Enablement)
Підготовка фахівців до використання середовища розробки (навчання і наставництво) є важливою умовою її успішного впровадження. Тому в число аспектів середовища розробки входять визначення і створення навчальних та інструктивних матеріалів. Також провідні світові компанії приділяють особливу увагу підвищенню рівня професіоналізму свого персоналу і орієнтації на зовнішні професійні організації.
Ключові елементи, які стосуються підготовки:
- Навчальні програми і курси. Вони охоплюють різноманітні потреби - від навчання досвідчених фахівців деталей середовища розробки до всеосяжної програми перепідготовки фахівців.
- Інструктивні матеріали. Застосовуються фахівцями при консультуванні менш досвідчених колег.
- Топологія розгортання підготовки. Топологію розгортання необхідно брати до уваги, наприклад, коли підготовка фахівців організовується за допомогою Web-навчання. Знову ж для розміщення матеріалів необхідний Web-сервер, а робочі станції повинні бути оснащені Web-браузерами. Топологія розгортання може також вказувати приміщення і класи, необхідні для проведення аудиторного навчання.
Організація (Organization)
Ще одним аспектом середовища розробки є гарантування наявності відповідних організаційних ресурсів для її визначення, розгортання і управління. Це можуть бути фахівці з конкретних аспектів середовища розробки (наприклад, методисти, вузькі фахівці, інструктори і наставники), персонал для адміністрування і обслуговування середовища, персонал з відповідною кваліфікацією в службі підтримки користувачів (help desk) компанії і відповідні спільноти практиків.
Ключові елементи, які стосуються організації:
- Визначення організаційних ролей і підрозділів, які є частиною середовища розробки.
- Топологія розгортання організаційних ресурсів, яка вказує місце розташування цих організаційних підрозділів.
Інфраструктура (Infrastructure)
З точки зору середовища розробки інфраструктура розглядається в поняттях апаратного і програмного забезпечення. Про це вже говорилося раніше при розгляді методики, інструментальних засобів, підготовки і організації. Однак є три причини окремо розглянути інфраструктуру як ключовий елемент:
- По-перше, консолідація. Наприклад, при розгляді потреб інфраструктури середовища розробки в цілому можна визначити, що необхідний лише один Web-сервер для підтримки як Web-вмісту методики, так і web-навчання.
- По-друге, гарантування належного обліку всього додаткового апаратного і програмного забезпечення, що підтримує середовище розробки (наприклад, операційні системи, системи управління базами даних, апаратні системи управління, інструментарій для тестування при розробці пристроїв реального часу і вбудованих пристроїв).
- По-третє, центр забезпечення якості може зажадати розгортання інфраструктури для підтримки робіт зі створення і тестування середовища розробки до її впровадження в будь-яку виробничу інфраструктуру підтримки бізнес-проектів.
Ключові елементи, пов'язані з інфраструктурі:
- Місцезнаходження, вузли і можливість підключення.
- Програмне забезпечення (наприклад, операційні системи, системи управління базами даних, апаратні системи управління, інструментарій для тестування).
Впровадження (Adoption)
На додаток до вже перерахованих елементів важливо розглянути питання впровадження середовища в організації, бізнес-підрозділі або в проекті розробки.
Ключові елементи, які стосуються впровадження:
- План впровадження. Цей план визначає завдання, звичайно що виконуються при впровадженні середовища, наприклад, придбання апаратного та програмного забезпечення.
- Методики проведення організаційних змін. Вони знадобляться для впровадження і вбудовування середовища розробки в повсякденну діяльність відповідних організаційних структур.
- Визначення показників середовища. Показники використовуються для вимірювання ефективності середовища.
контекст рішення
Також важливий контекст рішення (де розглядаються рішенням є середовище розробки). Контекст представляє вимоги до середовища розробки і може розглядатися з точки зору функціональності, властивостей і обмежень.
- Функціональність представляє схему або порядок розробки програмного забезпечення, що забезпечуються середовищем розробки. Реалізація цих вимог змушує враховувати всі згадані раніше елементи. Наприклад, порядок управління вимогами (див. Малюнок 3) підтримується наступними аспектами:
- Методика управління вимогами.
- Інструментальні засоби управління вимогами.
- Навчання та наставництво з питань управління вимогами.
- Група підтримки, яка вміє вирішувати питання управління вимогами.
- Апаратне та програмне забезпечення для підтримки елементів, пов'язаних з управлінням вимогами.
- Відповідне впровадження в проектах порядку управління вимогами.
Малюнок 3. Необхідна функціональність, що включає всі елементи середовища розробки
Таким же чином можна розглядати і інші складові середовища розробки, наприклад, архітектуру або управління якістю. Також цю методику можна застосувати і до специфічної діяльності, наприклад, до итеративной розробці (що є основою динамічного (agile) підходу до розробки і постачання програмного забезпечення), яка теж вимагає розгляду всіх елементів.
- Властивості - це параметри, якими повинна володіти середовище розробки. Вони також вимагають обліку всіх елементів середовища розробки. Наприклад, для реалізації властивості масштабованості (наприклад, здатність підтримувати різну кількість одночасно працюючих користувачів) використовуються такі підходи:
- Метод, який може бути налаштований під розмір проекту.
- Інструментальні засоби, які можуть бути налаштовані на підтримку конфигурируемого методу.
- Відповідні механізми і рівні навчання для проектів різного розміру.
- Організаційні ресурси, щоб забезпечити наявність персоналу з відповідним рівнем кваліфікації для підтримки очікуваної кількості проектів розробки.
- Інфраструктура, яка може масштабироваться для підтримки очікуваної кількості одночасно працюючих користувачів.
- Відповідні механізми впровадження середовища.
- Обмеження, яким повинна відповідати середовище розробки, теж вимагають розгляду всіх елементів середовища розробки. Наприклад, при необхідності міграції з існуючої середовища може зажадати виконання таких дій:
- Взяти правила з існуючої методики і включити їх в нову.
- Перенести робочі продукти із застарілого набору інструментальних засобів в новий набір (або виконати інтеграцію з наявними інструментальними засобами).
- Забезпечити підготовку, адекватну сучасному стану справ і належним чином організовану.
- Надати персонал для забезпечення плавного переходу з початкового стану в плановане.
- Визначити інфраструктуру, максимально використовує існуючу (наприклад, повторно використовувати, по можливості, наявні апаратуру і ліцензії на програмне забезпечення).
- Передбачити механізми впровадження, що підтверджують виконання міграції.
Ще одним важливим обмеженням при розгляді можливості зміни існуючої середовища розробки є, звичайно, окупність інвестицій (Return On Investment - ROI). Щоб така ініціатива була успішною, вона, безсумнівно, повинна забезпечити позитивні результати, відповідні бізнес-плану. Кожен аспект середовища розробки впливає на ROI як з точки зору витрат, так і з точки зору прибутку.
Хоча це не показано на малюнку 2, функціональність, властивості і обмеження зазвичай відповідають певному бізнес-контексту (наприклад, поставленим бізнес-цілям). У цьому сенсі контекст рішення також включає в себе бізнес-аспекти. Це може бути особливо важливо при демонстрації прямого або непрямого участі середовища розробки в досягненні бізнес-цілей.
Визначення, розгортання, управління
При визначенні різних елементів середовища розробки корисно враховувати наступні елементи життєвого циклу середовища (див. Малюнок 4), оскільки на додаток до контексту рішення кожен з них має свої аспекти, що впливають на визначення:
- Визначення середовища.
- Розгортання середовища.
- Управління середовищем.
Малюнок 4. Цикл життя середовища розробки
Перед розглядом областей на малюнку 4 слід пояснити, чому вони пов'язані в цикл. Цей малюнок підтверджує, що ефективне зміна (в даному випадку поліпшення середовища розробки) зазвичай досягається за допомогою ряду інкрементних змін, а не методом великого вибуху (еволюція, а не революція), і кожне інкрементне зміна являє собою один прохід по циклу. Однак зміна, реалізоване в одному циклі, за визначенням змінює контекст наступного (наприклад, фахівці тепер мають потрібну кваліфікацію, з'явилася нова апаратура, придбані нові інструментальні засоби і т.д.), т. Е. Демонструється циклічна природа змін.
У наступних розділах розглядається кожен елемент середовища розробки разом з визначенням рішення, розгортанням рішення і управлінням рішенням.
визначення
Стосовно до визначення середовища розробки згадаємо попереднє обговорення ключових елементів. Це обговорення тут не повторюється, хоча для повноти викладу в таблиці 1 наводяться різні елементи, визначені раніше.
Також слід зазначити, що визначення зазвичай розглядається на організаційному рівні, а також вимагати локальної реалізації для задоволення вимог конкретного бізнес-підрозділу або проекту при розгортанні. Це відображено в наступних розділах.
Таблиця 1. Аспекти визначення
Елемент Опис Методика (Method) Ролі, робочі продукти, завдання, процеси
Стандарти, рекомендації, інструкції тощо
Топологія розгортання методики Засоби (Tools) Засоби розробки та інтеграції
Сценарії установки і настройки засобів розробки
Топологія розгортання засобів розробки Підготовка (Enablement) Навчальні програми і курси
інструктивні матеріали
Топологія розгортання підготовки Організація (Organization) Організаційні ролі і підрозділи
Топологія розгортання організаційних ресурсів Інфраструктура (Infrastructure) Місцезнаходження, вузли і можливість підключення
Підтримує програмне забезпечення (наприклад, операційні системи) Впровадження (Adoption) План впровадження
Методики проведення організаційних змін
показники середовища
розгортання
Розгортання середовища розробки піднімає специфічні питання щодо кожного елемента (див. Таблицю 2).
Таблиця 2. Аспекти розгортання
Елемент Опис Методика (Method) Визначення локальної конфігурації
Методика розгортання Засоби (Tools) Виконання локальної конфігурації
Установка інструментальних засобів
Міграція локальних даних Підготовка (Enablement) Конфігурація на місцях
Розгортання інструктивних матеріалів
Навчання виконавців Організація (Organization) Визначення локальної конфігурації
Реорганізація Інфраструктура (Infrastructure) Визначення локальної інфраструктури
Надання місць розташування, вузлів і можливостей підключення
Надання підтримує програмного забезпечення Впровадження (Adoption) Формулювання локального плану впровадження
Перевірка середовища
Ключові елементи методики:
- Визначення локальної конфігурації. При розгортанні методики в бізнес-підрозділі або проект розробки може знадобитися певна локальна конфігурація, яка відображає специфічні характеристики бізнес-підрозділу, проекту розробки або системи (наприклад, шляхом забезпечення відповідного рівня формальності).
- Розгортання методики. Воно гарантує доступність методики для фахівців.
Ключові елементи інструментальних засобів:
- Виконання локальної настройки. Будь-яка локальна настройка інструментальних засобів застосовується для автоматизації налаштування локальної методики.
- Установка інструментальних засобів. Робить встановлені засоби (і інтеграцію їх) доступними для фахівців.
- Міграція локальних даних. Наприклад, може виникнути необхідність перенесення даних з існуючого набору інструментальних засобів в новий.
Ключові елементи підготовки:
- Виконання локальної настройки. локальної настройки. При необхідності - адаптація, уточнення або оновлення Навчальних матеріалів. Можна, наприклад, переглянути матеріали підготовки для приведення їх у відповідність з процесом, певним для даного бізнес-підрозділу або проекту розробки.
- Розгортання матеріалів підготовки. Гарантує доступ до них виконавців, включаючи доступ до всіх Web-матеріалами.
- Навчання виконавців. При навчанні збираються відгуки виконавців.
Ключові елементи організації:
- Визначення локальної конфігурації. Можливо, для підтримки специфічних потреб конкретного бізнес-підрозділу або проекту розробки знадобляться експерти.
- Реорганізація. Організація персоналу і ресурсів для підтримки середовища розробки.
Ключові елементи інфраструктури:
- Визначення локальної конфігурації. Визначити інфраструктуру, необхідну для конкретного бізнес-підрозділу або проекту розробки.
- Надання місця розташування, вузлів і можливості підключення. Зробити доступним все необхідне апаратне забезпечення (в тому числі всі цільові платформи і емулятори для пристроїв реального часу і вбудованих пристроїв).
- Надання підтримує програмного забезпечення. Встановити все необхідне програмне забезпечення, що підтримує середовище розробки (наприклад, системи управління базами даних або засоби тестування).
Ключові елементи впровадження:
- Визначення плану локального впровадження. Уточнити план впровадження з урахуванням специфічних потреб бізнес-підрозділу або проекту розробки.
- Перевірка коректності середовища. Протестувати розгорнуту середу і перевірити її відповідність певним вимогам з точки зору заданих функціональності, властивостей і обмежень.
управління
Як показано в таблиці 3, управління середовищем розробки після її розгортання також має специфічні аспекти для кожного елемента.
Таблиця 3. Аспекти управління
Елемент Опис Методика (Method) Збір відгуків за методикою Засоби (Tools) Резервне копіювання, архівування, відновлення даних
Збір відгуків по інструментальним засобам Підготовка (Enablement) Навчання фахівців
Збір відгуків з підготовки Організація (Organization) Збір відгуків по Інфраструктура (Infrastructure) Надання або вилучення інфраструктури в разі потреби
Збір відгуків по інфраструктурі Впровадження (Adoption) Вимірювання ефективності середовища
Збір відгуків щодо впровадження
Ключові елементи методики:
- Збір відгуків за методикою. Ключовим аспектом управління середовищем розробки є її постійне вдосконалення. Тому збір відгуків стосується всіх елементів. Відгуки зазвичай збираються суб'єктивно за допомогою, наприклад, опитувальних листів.
Ключові елементи інструментальних засобів:
- Резервне копіювання, архівування, відновлення даних. Перевірити, що створені фахівцями робочі продукти управляються належним чином, і застосовуються прийоми "хорошого адміністрування".
- Збір відгуків по інструментальним засобам. Зібрати відгуки (позитивні і негативні) про доступність і продуктивності інструментальних засобів.
Ключові елементи підготовки:
- Навчання виконавців. Призначити кураторів проектів, щоб виконавці знали, як використовувати середу.
- Збір відгуків з підготовки, тобто з навчання або наставництва.
Ключові елементи організації:
- Збір відгуків по організації. Виконавці видають свої зауваження про наданої підтримки використання середовища розробки (наприклад, за якістю роботи служби підтримки).
Ключові елементи інфраструктури:
- Надання або вилучення елементів інфраструктури в разі потреби. З початку і до завершення проектів необхідно відповідним чином змінювати розміри середовища розробки для оптимальної підтримки тієї кількості виконавців, які користуються середовищем в певний момент часу.
- Збір відгуків по інфраструктурі, включаючи як апаратне, так і підтримує програмне забезпечення.
Ключові елементи впровадження:
- Вимірювання ефективності середовища. Це ключовий аспект успішного впровадження. Наприклад, можна надати виконавцям опитувальний лист і попросити їх оцінити ефективність впровадження нових прийомів роботи.
- Збір відгуків щодо впровадження. Збираються відгуки за підходами до впровадження.
взаємозалежності
Нарешті, майте на увазі, що різні елементи середовища розробки не є незалежними. Альтернативне уявлення малюнка 2 наведено на малюнку 5, який показує, що кожен елемент має взаємозв'язку зі всіма іншими елементами.
Малюнок 5. Взаємозалежності між елементами
Ось кілька прикладів залежностей між елементами:
- Методика (методика) посилається на доступні навчальні курси (підготовка).
- Інструментальні засоби (кошти) автоматизують завдання (методика).
- Адміністративні ролі (організація) визначені для підтримки інструментальних засобів (засоби).
- Сервери (інфраструктура) надані для розміщення набору інструментальних засобів (засоби).
- Впровадження прийомів роботи (впровадження) оцінюється з використанням певного підходу (методика).
Висновок
Дана стаття доповнює статтю Посилення ролі архітектора середовища розробки (EN), яка опублікована цим же автором в The Rational Edge в 2008 році. У ній детально розглядаються ключові елементи середовища розробки, а також виділяються різні аспекти визначення, розгортання і управління цим середовищем. Вона надає просту інфраструктуру, яка гарантуватиме врахування всіх цих аспектів при плануванні дій щодо поліпшення наявної середовища, визначенні вимог до середовища, визначенні архітектури, оцінці середовища і т.д.
Ресурси для скачування
Схожі тими
Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів
Чому важливо мати несуперечливе визначення вимог до середовища розробки?