SDLC (Software Development Life Cycle, життєвий цикл розробки ПЗ) - це процес створення програмного забезпечення, який описує всі послідовні етапи розробки: від планування та збору вимог до дизайну, тестування, запуску і подальшої підтримки продукту.
Якщо ви - проектний менеджер, розробник, тестувальник або просто цікавитеся процесом створення програмного забезпечення, ця стаття допоможе розібратися в усіх 7 етапах SDLC та зрозуміти, як ефективно використовувати їх у своїй роботі.
ЩО ТАКЕ SDLC
SDLC (software development life cycle) - це процес створення програмного забезпечення, який описує послідовні кроки, необхідні для його розробки.
SDLC допомагає:
- Командам розробників організувати роботу
- Чітко визначити завдання та відповідальність на кожному етапі
- Контролювати якість продукту
ОСНОВНІ ЕТАПИ SDLC
1) Планування
На цьому етапі необхідно визначити цілі та потреби проекту. Задайте собі запитання: що в результаті повинно бути? Що очікує від вас замовник? Зберіть команду людей, які будуть працювати над проектом та визначіть їх ролі, хто у вашій команді за що буде відповідати. Про ролі в команді можна почитати тут.
2) Збір та аналіз вимог
Запросіть у замовника (бізнес аналітика вашого замовника) документ з детальним описом проектних вимог. Вивчіть його, зробіть додаткові дзвінки, якщо вам необхідно зібрати більше деталей.
Якщо документа з вимогами не існує, тоді вам треба самостійно зібрати вимоги (детальніше тут). Рекомендую брати на дзвінки по збору вимог технічного спеціаліста, хто вже на самих початкових етапах проекту зможе орієнтувати замовника в кращих підходах у розробці, запропонує оптимальні рішення, тощо. Всі зібрані вимоги необхідно задокументувати.
3) Дизайн
Цей етап про візуалізацію. Дизайнер вивчає вимоги, які ви задокументували і перетворює їх у схеми, мокапи, макети, тощо. В кінці даного етапу зявляється повноцінний дизайн в з урахуванням всіх вимог та побажань замовника.
4) Розробка
Етап полягає написанні коду відповідно до завершених вимог та дизайну. На етапі розробки програмісти створюють ваш майбутній продукт. Зазвичай це вимагає більшої кількості часу, порівняно з попередніми етапами SDLC. Як правило, команда кодувальників складається з фронт-енд та бек-енд програмістів, які відповідають за різні завдання. Кінцевим результатом цього етапу має бути робоче рішення разом з документацією вихідного коду.
5) Тестування
Даний крок може починатися разом з етапом розробки. Наприклад команда завершила написання коду для певного окремого функціонала, після чого QA інженер вже починає процес тестування. Разом з цим розробники продовжують писати код для іншого функціоналу. По завершенню написання коду, тестувальники повинні переконатися, що програмне рішення не містить помилок та відповідає всім очікуванням замовника.
Існує багато видів тестування: юзабіліті-тестування, тестування продуктивності, тестування безпеки тощо. Зазвичай продукт проходить кілька видів тестування перед тим як потрапити до користувачів. Якщо виявлено помилку, то продукт знову передається програмістам, щоб вони могли її виправити.
6) Розгортання
На етапі розгортання продукт вже готовий і віддається користувачам.
7) Підтримка
Завершальним етап SDLC - це етап підтримки або обслуговування.
Створення програмного забезпечення на замовлення - це не те саме, що придбання дивана в квартиру. Щоб отримати довготривалу вигоду від цифрового продукту, ви (команда яка розроблювала продукт) повинні підтримувати його актуальність. Неможливо розробити інформаційну систему один раз і користуватися нею багато років без підтримки та оновлень. Етап обслуговування охоплює все, що відбувається після запуску продукту. Це може навіть бути додаткова розробка, у разі виникнення збоїв у системі, або додавання нових функцій чи оновлення.
Важливо зазначити, що SDLC не завжди є лінійним процесом. Деякі етапи можуть повторюватися, а порядок їх виконання може варіюватися залежно від конкретного проекту. На сьогоднішній день можна знайти різну кількість етапів SDLC та моделей для використання. Але незалежно від цього, їх ціль однакова: організувати процес роботи над продуктом, щоб в результаті отримати якісне програмне рішення, заощадити кошти та скоротити час виходу на ринок.
Питання, які часто ставлять про SDLC
Скільки етапів у SDLC і чи завжди їх сім?
Класична модель SDLC налічує 7 етапів: планування, збір і аналіз вимог, дизайн, розробка, тестування, розгортання та підтримка. Але це не жорсткий стандарт - різні компанії та методології можуть об'єднувати чи розділяти етапи, тому на практиці можна зустріти варіанти з 5-6 або навіть 9-10 етапами.
Чим SDLC відрізняється від Agile чи Scrum?
SDLC - це загальна концепція життєвого циклу розробки ПЗ, яка відповідає на питання "які етапи проходить продукт". Agile і Scrum - це методології, які визначають "як саме" ці етапи організовані в часі. SDLC можна реалізувати як послідовно (Waterfall), так і ітеративно (Agile/Scrum) - в обох випадках етапи життєвого циклу залишаються, змінюється лише підхід до їх проходження.
На якому етапі SDLC найчастіше виникають проблеми?
Найбільше ризиків зазвичай виникає на етапі збору та аналізу вимог - якщо вимоги зібрані неточно чи неповно, це впливає на всі наступні етапи і призводить до дорогих переробок. Тому досвідчені команди приділяють цьому етапу особливу увагу і залучають бізнес-аналітиків або самого Product Owner.
Чи можна пропустити етап тестування, щоб швидше запустити продукт?
Технічно можна, але це суттєво підвищує ризик критичних багів у продакшн-версії, що зазвичай коштує значно дорожче, ніж своєчасне тестування. У сучасній розробці тестування часто відбувається паралельно з розробкою (а не строго після неї), що дозволяє не жертвувати якістю заради швидкості.
Що відбувається на етапі підтримки після запуску продукту?
Етап підтримки включає виправлення багів, які виявляються вже після релізу, оновлення продукту відповідно до нових вимог користувачів чи ринку, моніторинг продуктивності та безпеки, а також технічну підтримку користувачів. Цей етап може тривати роками - весь час, поки продукт активно використовується.
Чи потрібно проектному менеджеру розбиратися в SDLC, якщо він не технічний спеціаліст?
Так, і це критично важливо. Розуміння SDLC дозволяє менеджеру адекватно планувати терміни, комунікувати з розробниками та тестувальниками їхньою мовою, передбачати ризики на кожному етапі та пояснювати замовнику, чому певні кроки (наприклад, тестування) не можна пропустити заради економії часу.
Дивіться відео-урок на цю тему
Хочете побачити SDLC та RITA Process Chart в контексті реальної роботи проектного менеджера? У безкоштовному уроці курсу "Урок 11 - SDLC та Rita Process Chart" я детально розбираю кожен етап життєвого циклу розробки та показую, як менеджер проекту взаємодіє з командою на кожному з них. Дивитись урок на YouTube →
---
ПОВНИЙ КУРС З ПРОЕКТНОГО МЕНЕДЖМЕНТУ | МЕТОДИЧКИ ДО КУРСУ
Ще немає коментарів