Як покращити SDLC за допомогою штучного інтелекту: практичний огляд по етапах

💡 Усі статті, обговорення, новини про DevOps — в одному місці. Приєднуйтесь до DevOps спільноти!

Ми покроково пройдемо по SDLC, повторимо його структуру та розглянемо, як саме можна покращити кожен етап за допомогою штучного інтелекту. Основний фокус — на технологіях Microsoft, але підходи можна адаптувати й до інших технологічних стеків.

Чому це актуально? Тому що сьогодні всі компанії хочуть використовувати AI. Причому ініціатива йде не лише від глобальних лідерів — таких як Amazon чи Microsoft, а й від локальних компаній. Уже зараз C-level менеджмент активно ініціює аналіз SDLC, ефективності команд, роботи розробників і рівня використання AI.

Тож розглянемо SDLC і те, як AI допомагає його оптимізувати.

Структура SDLC

Класична модель SDLC знайома всім: planning → analysis → design → development → testing → deployment → maintenance.

Раніше ці етапи були послідовними і здебільшого ручними. З AI вони стають контекстно пов’язаними. Модель бачить не лише окрему задачу, а код, інфраструктуру, логі, політики команди, стандарти архітектури.

Ключова різниця — не в тому, що AI «пише код», а в тому, що він отримує контекст і починає працювати як системний помічник.

Аналіз (Business Analysis)

Цей етап зазвичай виконує Business Analyst, тому глибоко в нього занурюватися не будемо. Але є важливе практичне покращення.

Інтеграція Teams із Copilot дозволяє автоматично створювати транскрипти зустрічей. Уявімо типовий сценарій: зустріч у Teams із замовником або внутрішнім стейкхолдером. Обговорюється нова фіча. Раніше BA:

  • робив нотатки,
  • структурував їх вручну,
  • переносив у Jira або Azure DevOps,
  • формував user story.

Зараз флоу виглядає інакше.

Teams створює транскрипт. Цей транскрипт передається в модель разом із шаблоном, який команда використовує для постановки задач (наприклад, шаблон user story з acceptance criteria). Додаються приклади правильного формулювання.

І модель генерує структурований бізнес-аналіз.

Не «резюме зустрічі», а саме:

  • опис задачі,
  • критерії приймання,
  • залежності,
  • потенційні ризики.

Це не замінює BA, але знімає рутину й пришвидшує перехід від розмови до формалізованої задачі.

Технічний аналіз і інженерне проєктування

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

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

Тобто мова йде не про формальне прочитання таски, а про розуміння того, як вона вписується в існуючу систему.

Після того як BA завершив роботу й поставив задачу — наприклад, у Jira або, як у моєму прикладі, в Azure DevOps — ця задача може бути дуже швидко транслювана безпосередньо в IDE: Visual Studio Code або будь-яку іншу. Це відбувається без складних інтеграцій чи ручного копіювання.

Далі починається найважливіше — робота з контекстом.

Ми сьогодні багато говоримо про MCP-сервери. І це дійсно проривна технологія, бо вона дозволяє моделі отримувати розширений контекст. Вона інтегрується з IDE досить просто, а відповідні плагіни дають можливість моделі бачити значно більше, ніж просто один файл.

Що це означає на практиці?

Я відкриваю задачу і через Copilot кажу:

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

Модель:

  • читає опис задачі,
  • переглядає пов’язаний код,
  • аналізує залежності,
  • враховує архітектурні обмеження,
  • формує узагальнення.

І замість того щоб витрачати час на ручний аналіз великої кодової бази, я отримую структуроване бачення:

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

Особливо важливо, що технічний аналіз тут базується не лише на тексті задачі, а на сукупності даних:

  • існуючій реалізації,
  • архітектурі,
  • внутрішніх правилах команди,
  • попередніх рішеннях.

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

Таким чином технічний аналіз перетворюється з ручного «читання всього проєкту» на діалог із системою, яка:

  • має доступ до повного контексту,
  • розуміє структуру рішення,
  • може зробити узагальнення,
  • допомагає сформувати план реалізації.

І саме на цьому етапі стає зрозуміло, що ключова цінність AI — не в написанні коду, а в здатності швидко занурюватися в складну систему й допомагати приймати технічні рішення на основі повного контексту.

Архітектура та дизайн: guardrails, ADR і контекстне проєктування через MCP

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

У першу чергу ми впроваджуємо архітектурні guardrails. Тобто це набір правил і обмежень, які не дозволяють «зламати» архітектуру випадковими рішеннями.

Інфраструктурне моделювання та відповідність фреймворкам

На рівні дизайну важливо розуміти, як обраний стек і технології будуть співпадати з рекомендаціями певного фреймворку — наприклад, Microsoft Cloud Adoption Framework або іншого архітектурного підходу.

AI може допомогти:

  • перевірити відповідність обраної архітектури best practices,
  • оцінити, як компоненти поєднуються між собою,
  • виявити потенційні ризики,
  • підсвітити обмеження.

Тобто це не просто «намалювати схему», а змоделювати, як система буде працювати в реальному середовищі.

Architecture Decision Records (ADR)

Ще один важливий аспект — впровадження ADR (Architecture Decision Records).

Зазвичай ADR — це документ, у якому фіксується:

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

AI дозволяє автоматизувати створення таких записів. Ми можемо передати:

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

І отримати структурований ADR із аргументацією.

Це особливо корисно для команд, де важлива прозорість рішень і їхня історія.

Контекстне проєктування через MCP

Практично на кожному кроці дизайну використовується MCP.

Якщо це зовнішній сервіс або наш внутрішній сервіс, ми можемо:

  • передати специфікацію,
  • дати посилання на документацію,
  • підключити MCP до бази даних,
  • додати інфраструктурний контекст.

Чим більше контексту отримує модель, тим глибше вона розуміє:

  • структуру сервісу,
  • залежності,
  • інфраструктуру,
  • архітектурні зв’язки.

У результаті вона не пропонує абстрактні рішення, а враховує реальну систему.

Архітектурні guardrails через Markdown-файли

На практиці це реалізується дуже конкретно.

У Copilot та інших AI-інструментах можна створити Markdown-файли, в яких задаються основні правила роботи з кодом і архітектурою.

Наприклад, у моєму проєкті є файл Copilot Instructions, у якому чітко прописано:

  • які патерни ми використовуємо,
  • як будуємо сервіси,
  • які принципи дотримуємося,
  • які обмеження існують.

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

Тобто guardrails працюють автоматично — без постійного ручного контролю.

Робота з MCP під час проєктування

Якщо встановити Copilot CLI, система часто сама пропонує додати MCP-сервери. Наприклад, у Visual Studio можна одразу підключити MCP для Azure, Playwright, PostgreSQL тощо.

Модель бачить проєкт, розуміє:

  • що знаходиться «під капотом»,
  • які технології використовуються,
  • які залежності вже є.

І може рекомендувати, як покращити контекст для подальшої роботи.

Microsoft має багато таких MCP-серверів, і вони централізовано зібрані на GitHub. Навіть якщо просто задати в командному рядку «додай MCP-сервер», система може запропонувати відповідні варіанти.

Приклад: розгортання в Azure

Якщо говорити про практичний кейс із мого проєкту, я можу сказати моделі:

Розгорни цей проєкт в Azure.

І отримати відповідь у вигляді:

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

Важливо, що це не просто «розмісти в Azure», а більш складний промпт, який враховує:

  • деталі архітектури,
  • cost,
  • довгострокову підтримку,
  • можливі ризики.

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

MCP-сервери як джерело контексту

При встановленні Copilot CLI система сама пропонує підключити MCP-сервери — наприклад:

  • Playwright
  • Azure
  • PostgreSQL

Вони централізовано доступні на GitHub.

Практичний приклад:
запит «розгорни цей проєкт в Azure» → AI пропонує кілька архітектур, пояснює плюси, мінуси, деталі та навіть приблизну вартість.

Development: централізовані політики, моделі та керування контекстом

Коли ми переходимо до етапу розробки, перше, про що варто сказати, — це інструменти. У моєму випадку це GitHub Copilot. Чому саме він? Тому що ми його використовуємо в команді, і він дає можливість не просто генерувати код, а централізовано керувати тим, як саме працює AI всередині команди.

У будь-якого інструмента є плюси й мінуси, але тут зосередимось саме на сильних сторонах.

Copilot Workspace та централізовані правила

Одна з ключових переваг — це можливість працювати з правилами, політиками та централізованими обмеженнями.

Ми можемо встановлювати:

  • загальні правила для всієї організації,
  • порогові значення (thresholds),
  • політики використання моделей,
  • обмеження щодо зовнішніх джерел.

Наприклад, можна задати політику:

  • не використовувати GitHub Desktop,
  • не шукати нічого в інтернеті,
  • не звертатися до зовнішніх ресурсів без дозволу.

У моєму конкретному випадку ми дозволяємо використовувати лише high-level моделі — наприклад, Opus або Gemini. Слабші моделі ми централізовано забороняємо.

Чому так?

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

Якщо ж централізовано дозволити лише певні моделі — це автоматично підвищує якість результату для всієї команди. І це робиться не вручну для кожного розробника, а на рівні політики.

Централізований контекст для всієї команди

Ще один важливий аспект — можливість додавати централізований контекст.

Можна створити загальні правила, які будуть застосовуватись до всіх проєктів:

  • code style,
  • вимоги до документації,
  • архітектурні патерни,
  • правила написання unit-тестів,
  • підхід до логування,
  • структура сервісів.

Кожен проєкт, звісно, має свої специфічні інструкції. Але окрім них ми впроваджуємо ще й «генеральні» правила для всієї команди.

Тобто, коли розробник генерує код, модель:

  1. Бачить правила конкретного проєкту.
  2. Бачить загальні командні правила.
  3. Враховує їх під час генерації.

Це дозволяє уникати хаосу, коли кожен пише «по-своєму».

Керування поведінкою моделі

Через політики можна також визначати, як саме модель має поводитися.

Наприклад:

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

Це важливо не лише з точки зору технічної якості, а й із точки зору безпеки та відповідності внутрішнім стандартам.

Практичний ефект

У результаті етап development перестає бути просто «генерацією коду». Це стає керованим процесом, у якому:

  • модель працює в межах встановлених правил,
  • використовуються лише перевірені моделі,
  • враховується контекст усієї команди,
  • підтримується єдиний стиль і підхід.

І найважливіше — це масштабованість. Якщо ви один розробник, ви можете самі контролювати якість. Але якщо команда велика, централізовані політики дозволяють забезпечити однаковий стандарт для всіх.

Тому на етапі development AI — це не просто помічник, який дописує методи. Це інструмент, який працює в рамках заданої архітектури, стандартів і моделей, підконтрольних організації.

Testing

Після реалізації фічі я використовую Playwright через MCP.

Флоу виглядає так:

  1. Фіча імплементована.
  2. Я кажу: перевір її через Playwright.
  3. Playwright імітує користувача.
  4. Проганяє сценарій.
  5. Якщо щось не так — модель іде в логі через Azure MCP.
  6. Аналізує помилки.

Після кількох ітерацій вона вже сама розуміє:

  • де лежать логі,
  • які сервіси перевірити,
  • що саме треба подивитися.

Edge cases

AI ефективно генерує сценарії для складних крайніх випадків.

Security testing

GitHub Enterprise забезпечує:

  • code scanning
  • secret scanning
  • Dependabot

Copilot може аналізувати результати Dependabot і пропонувати виправлення.

Навантажувальне тестування

Azure Load Test підтримує сценарії, створені як вручну, так і моделлю.

Deployment

Основні можливості:

Валідація інфраструктури

Guardrails для:

  • безпеки
  • high availability
  • стандартів проєкту

Підтримка:

  • Bicep
  • Terraform

Контекстна синхронізація

AI аналізує поточну інфраструктуру та пропонує:

  • де розгорнути сервіс
  • як оптимізувати ресурси

AI-driven Canary

Аналіз метрик релізу на частині користувачів (наприклад 10%).

Maintenance та операції

AI використовується для:

Проактивного моніторингу

  • автоматичне виявлення аномалій
  • аналіз ресурсів
  • рекомендації зі скейлінгу

Incident response

Джерела даних:

  • Datadog
  • Azure Monitor
  • Application Insights

Модель аналізує логі та пропонує виправлення.

Робота без GUI

Запити через командний рядок замість ручної навігації по інтерфейсах.

Приклад:

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

Якщо MCP немає: робота через API

Наприклад, MCP для Datadog ще в Early Access.

Що робити?

Я передаю:

  • API-ключ із правами read-only,
  • документацію API,
  • опис задачі.

Модель:

  • читає документацію,
  • розуміє структуру запитів,
  • пише Python-скрипт,
  • отримує логі,
  • аналізує їх.

Навіть якщо раніше такого сценарію не було, вона здатна сама написати код для роботи з API.

Це більше токенів, більше контексту — але проблема вирішується.

Maintenance: економія часу в рази

Операційна підтримка — це найбільший виграш.

Раніше:

  • заходиш у GUI,
  • шукаєш потрібну кнопку,
  • згадуєш інтерфейс,
  • перемикаєшся між провайдерами.

Зараз я просто пишу в командному рядку:

Які проблеми були сьогодні?

І отримую зведений звіт із Datadog або Azure Monitor.

Якщо є помилка — я передаю джерела:

  • Datadog,
  • Azure Monitor,
  • Application Insights.

Модель:

  • агрегує логі,
  • аналізує аномалії,
  • пропонує фікс у коді.

Після виявлення проблеми можна одразу попросити:

Запропонуй зміни в коді для виправлення.

І вона формує patch.

AI-driven Canary

Під час релізу, наприклад, 10% трафіку йде на нову версію. Збираються метрики. Модель аналізує:

  • чи зросла латентність,
  • чи збільшилась кількість помилок,
  • чи змінилась поведінка користувачів.

І дає рекомендацію: продовжувати rollout чи зробити rollback.

Тиск менеджменту та нові очікування

Сьогодні ситуація змінилася:
вже не розробники вирішують, чи використовувати AI — цього вимагає менеджмент.

Основні очікування:

  • швидкість
  • прозорість
  • прогнозованість

AI поступово переходить із «nice to have» у «must have».

Рекомендації

Якщо ви ще не використовуєте AI:

  • почніть із GitHub Copilot (є безкоштовний план)
  • працюйте з якісними моделями
  • не орієнтуйтеся на слабкі моделі — вони дають нерелевантний результат

Якість моделі напряму визначає якість досвіду.

AI звіти

Зручні звіти для менеджерів як працює команда, з глубокою аналітикою.

Висновок

Найбільша помилка — сприймати AI як генератор коду.

Справжня цінність — у:

  • контексті,
  • інтеграціях через MCP,
  • архітектурних guardrails,
  • автоматичному аналізі логів,
  • системній роботі з інфраструктурою.

Якщо впроваджувати AI точково — ефект буде слабкий. Якщо інтегрувати його на всіх етапах SDLC — швидкість і якість зростають кратно.

І саме це сьогодні стає новим стандартом інженерної роботи.

👍ПодобаєтьсяСподобалось3
До обраногоВ обраному7
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Що треба щоб огірки ложка гвинтокрил два листа банка.

Ну ось, а в статті якась кобила, ще й в розпотрошеному вигляді.

котік покушав і какає

Схоже приїхали.
Каптча на доу щоб запостити статтю вже не допомагає.

Пробачте, але я коли вчився у 2003 році в універі, SDLC розподілявся на моделі:
— Waterfall (вона ж Каскадна)
— ітеративна модель (Еволюційна)
— спіральна
— Agile (Scrum, Extreme programming наприклад)
— Lean
— інші моделі
«Класична модель SDLC знайома всім: planning → analysis → design → development → testing → deployment → maintenance.» — ви описали Waterfall. Уся ця стаття — це автоматизація Waterfall моделі.
По-перше треба називати речі своїми іменами. SDLC — це життєвий цикл програмного забезпечення, а Waterfall — одна з моделей SDLC.
По-друге Waterfall використовують там де є фіксовані та зрозумілі реквайрменти які скоріш за все не повинні сильно змінитися. Не дарма Agile став стандартом де-факто, тому що реквайрменти у сучасному світи дуже нестабільна річ.
По-третє ваш «фреймворк» є монстром де перемішані усі етапи, немає контролю, передбачуваності, навіть на рівні статті навіть читати це неможливо. Ваш фундамент базується на .md файлах, «магічному» MCP який є просто JSON стандартом обміну «промптами» між AI апплікейшенамі, та все стоїть на AI який не детермінованій у своїй суті.

Ви перемішали усе у кучу, спростили поняття, та й ще нагенерували цю статтю через AI. Подача матеріалу має вкрай монотонну та симетричну структуру, повно AI-кліше «Це не про X, це про Y», «X — це Y», «Раніше було X, але сьогодні це Y».

І фінальне — ви точно оці усі скріншоти зробили не з Dota 2? Бо «Сильная сторона — продуктивность, XSS защита, точные фиксы» в мене нічого окрім порівняння з рольовими іграми не викликає.

Будь ласка, давайте не грати у AI графоманство, а більше читати книги та вчити базисні знання.

- :) ви теж генеруєте відповіді за допомогою ШІ?

думаю ні — доу схоже конвертує короткий дефіс в довгий

Є таке. А ще звичайні лапки на ялинки замінюємо: «текст»

ви описали Waterfall

— тут не погоджуся — ці фази актуальні для всіх SDLC моделей, Agile спрінти ви ж так само плануєте — який функціонал ви хочете імплементувати — а цьому передує збір вимог — потім розробка, тестування, деплой — просто в Agile цей цикл коротший, зазвичай один спрінт — це 2 неділі
оця стаття, як на мене, доволі добре описує ці моменти www.ibm.com/think/topics/sdlc

ваш «фреймворк» є монстром де перемішані усі етапи, немає контролю, передбачуваності

— тут згоден — все перемішано — і, на мою думку, викладені підходи в статті можуть спрацювати для побудови прототипу, а не production ready рішення, яке можна підтримувати і приймати контріб"юшени від різних команд

я би автору порекомендував забути про Microsoft Copilot, перечитати останні best practices для Spec-Driven Development — і дивитися в сторону Claude Code (CLAUDE.md, skills)

Claude Code

, так , дякую . але була цiль показати усе на microsoft.

Будь ласка, давайте не грати у AI графоманство, а більше читати книги та вчити базисні знання

Це більше до твого коменту відноситься.

Уся ця стаття — це автоматизація Waterfall моделі .

Ні, це стандартний SDLC і при Agile. Ти розумієш різницю між waterfall i agile? При waterfall весь проект делівериться поетапно, при Agile — проект делівериться ітеративно АЛЕ ітерація має всі ті самі кроки:

planning → analysis → design → development → testing → deployment → maintenance

Причому це і є базові знання які ти так «рекомендуєш» автору

Припустимо, це все справді добре працює. Яка ціна питання? Яке у вас велося і у порівнянні з командою розробників?

це тема іншої статті (DORA метрики). Але бачу, що людям більше по**тися в коментарях хочеться. Не бачу сенсу викладати.

Якщо ви це реалізували, то скажіть, будь ласка, хоча б приблизно. Знаю/не знаю/виміряли/не виміряли також підходить) Було Х, тепер 2Х. Щось в такому форматі, щоб зрозуміти реальний досвід.

Як завжди, 2х , але i помилок стало на 1.5х бiльше.

Яка ціна питання?
це тема іншої статті (DORA метрики)

так DORA метрики ж не про кошти — так як тут мова йде про AI, то DORA це про адаптацію/інтеграцію AI на рівні організації чи окремої команди, скажімо так, організаційні практики, які потрібно впроваджувати, щоб інтеграція AI дійсно почала приносити результат і покращила класичні DORA метрики. Див. cloud.google.com/...​ral-ai-capabilities-model

How do we move from just using AI to truly succeeding with it? How do we ensure our investment in AI delivers better, faster, and more reliable software?

1. Ви вже реалізували все це на реальному комерційному проєкті?
2. Якою є вартість впровадження та підтримки конкретного рішення?
3. Якою є історія роботи такого рішення (6+ місяців) — фічі, баги, використання на продакшні?

Найбільша помилка — це у 2026 році викладати публічно скріншоти російською мовою.

Повністю згодні з вами. Вже зв’язалися з автором і попросили замінити скриншоти. Дякуємо, що підсвітили!

Шановна Катерина. Я читаю ваш DOU з 2014 року. Такого засилля фейкових, порожніх статей я не бачив ніколи.
Як постійний читач я вже не довіряю тому що тут пишуть, тому що купа статей є хайповими намаганнями особистого піару. Деякі статті відверто дивні.
Будь ласка, зверніть увагу на якість та зміст того що ви дозволяєте публікувати, бо ви вже втрачаєте довіру читачів. Інженери на DOU глибоко у контексті, ми розуміємо суть речей і наприклад ось ця відверта нісенітниця вище нічого окрім здивування «як це сюди потрапило» не викликає.

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

Так ніколи не було фільтра якості.

Та й питання хто і як буде фільтрувати? Це все дуже субʼєктивно

Пане Артур, дуже «цікаво» отримувати таку критику без жодного конкретного прикладу від людини з прихованим LinkedIn. Поки що це виглядає не як позиція інженера «в контексті», а як звичайне поливання брудом заради «хайпу»

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

вы все завидуете просто!

Підписатись на коментарі