You are on page 1of 5

ВИКОРИСТАННЯ СИНХРОННОГО МЕТОДУ ПРИ КОНСТРУЮВАННІ

ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ В РАМКАХ DEVOPS


Пляцик Олександр Віталійович
здобувач вищої освіти факультету інформаційних технологій
Хмельницький національний університет
Науковий керівник: Праворська Наталія Іванівна
ORCID ID: 0000-0001-6001-3311
канд. пед. наук, доцент кафедри інженерії програмного забезпечення
Хмельницький національний університет
Україна
Сьогодні індустрія розробки програмного забезпечення переживає дуже
стрімкий і безперервний розвиток. При цьому популярності набувають методи,
які забезпечуватимуть гнучкі підходи при плануванні та керуванні проєктами
та процесами розробки програмних продуктів. Базою для подібних методик
виступає ітеративна розробка програмного забезпечення, в якій вимоги та
розв’язки еволюціонують через співпрацю між багатофункціональними
командами здатними до самоорганізації. Такими методиками можуть
виступати, наприклад Agile та DevOps, які допомагають забезпечити швидку
адаптацію до нових вимог та гарантувати неперервну поставку програмних
продуктів. Незважаючи на успіхи згаданих методик, практика показує, що
можливості для подальшого розвитку ефективності та поєднання зусиль команд
розробки та інформаційно-технічного обслуговування досі залишаються
невичерпними. Команди ІТО ще називають експлуатаційники або командами
операцій – це спеціалісти з експлуатації програмного забезпечення, які
виконують системне адміністрування, тестування, розгортання, підтримку,
моніторинг та супровід програмного продукту.
Синхронність у розробці програмного забезпечення виникла, як результат
еволюції різних методологій та практик. Важливим етапом у формуванні
синхронного підходу було запровадження гнучких методологій розробки на
переломі 1990-х і 2000-х років. Саме вищезгаданий Agile став відомим
прикладом гнучкої методології, що сприяє ітеративності між етапами розробки.
Agile включає такі підходи, як Scrum, Kanban та Extreme Programming (XP).
Однак, треба зазначити, що встановити конкретну особу або групу, яка вперше
запропонувала синхронний підхід неможливо, оскільки синхронність у
розробці програмного забезпечення була поступово впроваджена через ряд
методологій та практик.
На відміну від Agile, яка використовує поетапний підхід до завершення
розробки програмного забезпечення, DevOps об’єднує всі завдання. Тобто
DevOps – це методологія, при якій відбувається об’єднання команд розробників
та операцій, тоді як Agile – це ітераційний підхід, який фокусується на
співпраці, зворотньому зв’язку із клієнтами та невеликих швидких випусках.
Вивчення нових гнучких методів, які спрямовані на синхронне виконання
етапів життєвого циклу розробки програмного забезпечення, має велике
значення для сучасної індустрії програмного забезпечення, оскільки воно може
привести до ряду переваг. Оптимізація робочих процесів та синхронізація
роботи між розробниками та спеціалістами інформаційно-технічного
обслуговування, команди можуть досягти вищої продуктивності, що дозволить
їм прискорити розробку та впровадження програмного забезпечення.
Синхронне виконання етапів життєвого циклу розробки може допомогти
скоротити час від початку розробки до випуску продукту на ринок, що є
критично важливим для успіху в умовах сучасного динамічного ринку.
Коли команди розробки та експлуатаційників працюють синхронно, вони
можуть швидше виявляти та виправляти помилки, що призводить до створення
більш стабільних та якісних програмних продуктів. Більш ефективні робочі
процеси та зменшення часу, витраченого на виявлення та виправлення
помилок, можуть допомогти знизити витрати на розробку та підтримку
програмного забезпечення.
Синхронне виконання етапів життєвого циклу дозволяє командам швидше
реагувати на зміни вимог та нові технологічні можливості, що сприяє адаптації
до змінюваних умов ринку та технологічного середовища. Також подібна
синхронізація стимулюватиме активнішу комунікацію та співпрацю між
розробниками та операційними спеціалістами, що в свою чергу допомагає
формуванню міцних та продуктивних команд, сприятиме інноваційному
потенціалу команди, оскільки співпраця та адаптація до нових технологій та
вимог можуть спонукати до розвитку нових рішень та підходів.
Використання синхронних методів виконання етапів життєвого циклу
розробки дозволяє керівництву компанії краще контролювати прогрес проектів,
оцінювати продуктивність та адекватно реагувати на проблеми та можливості.
У світлі вищезазначених переваг, проведення досліджень, спрямованих на
вивчення нових методів синхронного виконання етапів життєвого циклу
розробки програмного забезпечення, стає особливо актуальним та має великий
потенціал для подальшого розвитку та покращення практик розробки
програмного забезпечення.
На сьогодні є ряд дослідників, які розглядають використання гнучких
методів розробки програмного забезпечення, але відсутні вичерпні
дослідження, які спрямовані на синхронне виконання етапів життєвого циклу
програмного забезпечення.
Спираючись на роботу [1], можна зауважити, що акцент автори
приділяють важливості об’єднанню процесів розробки та операцій в рамках
методології DevOps. В роботі представлені ключові принципи, практики та
описані переваги використання DevOps при розробці програмного
забезпечення. В праці [2], розглядається безперервна інтеграція, при якій
передбачається злиття розробленого спеціалістами коду та проведення його
тестування для виявлення проблем на ранніх стадіях розробки програмних
продуктів. Безперервне розгортання, висвітлено в праці [3], при якому
відбувається автоматичне випускання змін до програмного забезпечення в
рамках робочих процесів. Однак при розгляді переваг та можливостей методів
Lean Software та DevOps у розробці програмного забезпечення, автори у [4],
вказують на потребу наукового підходу до вказаних методів.
Вище названі роботи дають розуміння того, що значимість синхронного
виконання етапів життєвого циклу програмного забезпечення потребує
подальшого аналізу та вивчення.
Для майбутнього аналізу застосування запропонованого методу в рамках
DevOps виникає необхідність у використанні спеціальних метрик, щоб
визначити ефективність синхронного виконання етапів життєвого циклу
розробки програмного забезпечення. Такими метриками можуть виступати:
- час від початку розробки до випуску (Cycle Time);
- частота випусків (Release Frequency);
- час відновлення після збою (Mean Time to Recovery, MTTR);
- відсоток успішних розгортань (Deployment Success Rate);
- середній час на внесення змін (Mean Time to Change, MTTC);
- задоволеність користувачів (User Satisfaction)
Однак, використання зазначених метрик, виступає лише одним з елементів
оцінки ефективності синхронного виконання етапів життєвого циклу в рамках
DevOps. Крім цього треба проводити якісний аналіз процесів та співпраці між
командами розробки та експлуатаційників і забезпечувати безперервне
покращення цих процесів на основі зібраних даних.
Висновки. Індустрія розробки програмного забезпечення має тенденцію
до швидких змін і ставить все нові виклики перед компаніями. Тому,
застосування гнучких технологій, таких як DevOps стає необхідним для
підвищення ефективності процесів та етапів при розробці програмних
продуктів. Синхронізація етапів життєвого циклу допоможе командам розробки
та ІТО уникати проблем, які виникають на протязі процесу розробки, та самим
компаніям ставати конкурентоздатними на ринку ІТ-технологій.

Список використаних джерел


1. Kim, G., Debois, P., Willis, J., & Humble, J. (2016). The DevOps Handbook: How
to Create World-Class Agility, Reliability, and Security in Technology
Organizations. IT Revolution Press. –– р.480.
2. Duvall, P. M., Matyas, S., & Glover, A. (2004). Continuous Integration: Improving
Software Quality and Reducing Risk. Addison-Wesley Professional. – р.336.
3. Leppänen, M., Mäkinen, S., Pagels, M., Eloranta, V. P., Itkonen, J., Männistö, T.,
& Mäntylä, M. V. (2015). The Highways and Country Roads to Continuous
Deployment. IEEE Software, 32(2), – рр.64-72.
4. Forsgren, N., & Humble, J. (2018). Accelerate: The Science of Lean Software and
DevOps: Building and Scaling High Performing Technology Organizations. IT
Revolution Press. – р.288

You might also like