Що таке SDLC? Життєвий цикл ПЗ
- Oleh Voroniak
- 18 січ.
- Читати 5 хв
Цитуючи автора книги Managing Information Technology Projects Джеймса Тейлора, "життєвий цикл проекту охоплює всю діяльність проекту".
Завданням розробки ПЗ є виконання вимог продукту. Якщо ви хочете навчитися створювати та випускати високоякісне ПЗ, вам доведеться слідувати плану. За словами Тейлора, вашою метою має стати всебічний аналіз діяльності проекту та контролю кожного етапу його розробки. Ось тільки з чого почати?
Відповісти можна так: направити ваш робочий процес у правильному напрямку допоможе відповідний фреймворк. У наш час досить сильним і популярним фреймворком є SDLC – життєвий цикл програмного забезпечення.
Принципи роботи SDLC та чому ним користуються
На діаграмі нижче можна ознайомитись із шістьма основними етапами SDLC.

Загалом, SDLC це такий замкнутий цикл, у якому кожен етап впливає на дії наступних і дає перспективні вказівки на майбутнє. Для отримання відповідей на конкретні питання та забезпечення узгодженості процесу розробки всі шість етапів намагаються ефективно і послідовно один на одного впливати.
Я постараюся абстрагуватися від тонкощів і надати спільні приклади, які підходять для студентів та розробників програмного забезпечення. Наприклад, якщо ви намагаєтеся створити програму, розраховану на працівників з погодинною оплатою, або програму для обліку часу, почати вам потрібно буде з етапу аналізу вимог.
На цьому самому рівні ви можете зрозуміти, які повинні бути вимоги до працівників у питаннях обліку часу та праці, для чого корисно буде опитати як самих працівників, так і їхніх керівних менеджерів. Також для кращого розуміння проблем поточних додатків ви можете протестувати ваші рішення на ринку, а створення діаграм, графіків і загалом ведення записів допоможе вам глибше розуміти кількісний та якісний зворотний зв'язок. Тільки після усвідомлення цих критичних особливостей ви будете готові перейти до наступного етапу планування SDLC.
Фаза аналізу вимог може бути дуже нудною, але виконуючи ці кроки, ви отримуєте безліч результатів: зменшуєте час виходу продукту на ринку, забезпечуєте велику його продуктивність, економите бюджет і підвищуєте можливість входження товару у ТОПи ринку.
Думайте за межами звичайної програми з відстеження часу - думайте про те, що ви хочете створити, чим ви хочете займатися, а потім визначте вимоги для вирішення пов'язаних із цим проблем. Це буде вашим початком.
Етапи SDLC. Кращі практики та методології
У ході розробки перед переходом від поточного етапу до наступного необхідно виконати кожен його крок, навіщо їх краще розуміти. У цьому плані перші три етапи намагаються дати відповіді перевірочні питання, а останні три оптимізовані задля досягнення фактичних результатів.
Аналіз вимог відповідає питанням «Які проблеми вимагають рішень?»
Планування відповідає питанням «Що хочемо зробити?»
Проектування та дизайн відповідає на запитання «Як ми досягнемо наших цілей?»
Розробка ПЗ регулює процес створення продукту.
Тестування регулює забезпечення якісної роботи товару.
Розгортання регулює використання фінального продукту.
SDLC стандартизує і формалізує робочий процес. Слідуючи конкретним крокам фреймворку, ви можете легко зрозуміти в якій його частині ви знаходитесь і повідомити команду куди ви рухаєтеся.
Давайте детальніше розглянемо кожен етап та розберемо перевірочні питання та результати, деякі з яких ви можете захотіти оптимізувати під конкретну ситуацію.
Етап 1: Аналіз вимог
На цьому етапі SDLC вам необхідно отримати зворотний зв'язок та підтримку від відповідних внутрішніх та зовнішніх зацікавлених сторін. Згадайте мій недавній приклад з розробкою програми з обліку часу: вам потрібно буде широко задуматися про те, хто стане вашим потенційним користувачам. Деякі ідеї включатимуть ваших клієнтів, дизайнерів, вашого начальника чи інших технічних фахівців команди. Загалом ви хочете відповісти на таке запитання: «Які проблеми вимагають вирішення?» Бути уважним і робити нотатки буде дуже корисним на цьому етапі.
Коли отримані відповіді задовольняють вас, ви можете перейти до наступної фази.
Етап 2: Планування
На цьому етапі ви шукаєте відповідь на наступне запитання: "Що ви хочете зробити?" Це питання може надихнути вас на розуміння юніт-економіки вашого плану (витрати та вигоди), факторів зниження ризиків та очікуваних цін. За аналогією з плануванням відпустки вам потрібно буде розкласти ваші речі і подумати про те, що слід взяти з собою.
Плануйте те, що ви можете контролювати, і пам'ятайте про речі, які ви планувати не зможете. Це допоможе вам отримати міцну базу для переходу до третього етапу.
Етап 3: Проектування та дизайн
До цього етапу ви вже повинні знати вимоги вашого продукту і в цілому розуміти, чого ви взагалі хочете, і перш ніж приступити до написання коду, цього розуміння має бути достатньо для відповіді на наступне запитання: «Як ми досягнемо наших цілей?» Інакше кажучи, вам необхідно зрозуміти, що саме ви хочете оптимізувати та проектуватимете відповідно.
Припустимо, ви хочете створити безпечний, високопродуктивний, ефективний та витримуючий навантаження додаток. Який із цих чотирьох принципів найбільш важливий для вас? Чому? Чи згодні із цим зацікавлені сторони з першого етапу? Важливо забезпечити схвалення всіх учасників.
У цій фазі для прийняття остаточних рішень з питань дизайну я рекомендую враховувати кілька основних його елементів: операційну перевагу, безпеку, надійність, ефективність продуктивності та оптимізацію витрат.
Етап 4: Розробка ПЗ
На етапі розробки ви прагнете не так відповідати на запитання, як зробити результати, або, говорячи точніше, вам необхідно схилятися до дій і створити прототип або систему, випробувати яку зможуть інші. На цьому етапі ваше завдання – заручитись довірою зацікавлених сторін через втілення способу мислення розробника. Для відповідності результату очікуванням критично на початку розробки слідувати першим трьом етапам.
Етап 5: Тестування
Співробітники у футболках із написами виду «Розробляти круто, тестувати не дуже» були для мене звичним видовищем, але ви повинні розуміти, що не вдасться створити фінальну версію продукту, поки ви на ньому “собаку не з'їсте”. Після завершення цього етапу ви повинні будете в змозі забезпечити робочий стан продукту. Відстежуйте помилки і неточності, вислуховуйте чужі точки зору, і глибоко занурюйтеся в питання з метою пошуку помилок, що гальмують вихід фінального продукту. Вам просто необхідно забезпечити міцну основу.
Етап 6: Розгортання
Візьміть ваш продукт та користуйтеся ним. Запропонуйте зацікавленим сторонам з першого етапу користуватися вашим продуктом у природних умовах, почніть відстежувати залученість до продажу. Знову і знову прислухайтеся до користувачів, адже завдяки зворотному зв'язку через опитування та рекомендації ви зможете повернутися до першої фази та почати збирати нові вимоги. І не забудьте відсвяткувати випуск.
Додатковий етап: Підтримка
Після того, як цифровий продукт буде офіційно запущений, він почне розвиватися, коригуватися та доповнюватись новими можливостями. Стадію підтримки можна візуалізувати у вигляді набору кроків, що повторюється:
визначення конкретних вимог;
розробка;
виконання тестування;
розгортання.
Саме така стадія життєвого циклу розробки продукту вважається найважливішою та тривалою. Без присутності таких процесів, стандартів створення програмного забезпечення, робочих процедур, ідеальної комунікації, розробка програмного забезпечення максимально швидко перетворюється на жахливий сон. Крім того, фахівці можуть зіткнутися з безліччю проблем, які не закриваються планами, неймовірного розміру технічним боргом, а також провалом всього проекту. Як правило, на цій стадії гине переважна більшість нових проектів та стартапів.
Додатковий етап 2: Закриття проекту
Цей етап є останнім у житті програмного забезпечення. Він передбачає виведення цифрового продукту з експлуатації, а також заміну на сучасніший аналог або версію. Найяскравішим прикладом закриття є оновлення інтернет-браузера Internet Explorer більш сучасний варіант Edge, а WinXP – на Win7.
Скільки може тривати розробка програмного забезпечення?
Термін реалізації проекту залежить від його масштабу, вимог замовника. Наприклад, на створення простого продукту може знадобитися кілька місяців - це невеликі веб-ресурси, стартапи-початківці.
Складні проекти, як програмне забезпечення для сучасного космічного обладнання, реалізуються протягом 10-15 років. Найчастіше активна розробка цифрового продукту виконується протягом 5-8 років.
Поєднуючи все разом: підхід SDLC
Фреймворк SDLC існує для допомоги у скороченні часу виведення продукту на ринок, забезпеченні більш якісної продуктивності, економії бюджету та підвищення потенційної користі вашого продукту для зацікавлених сторін, про які ви дбаєте. Особливо добре SDLC допомагає при розробці ПЗ, оскільки він змушує вас працювати в строгих рамках. Іншими словами, для забезпечення коректних дій у коректний час та з коректних причин SDLC змусить вас дотримуватися кожного необхідного кроку. Думайте про SDLC як про план досягнення успіху: сліпе слідування такому методу нічого вам не гарантує, але підвищує ймовірність що ви залишитеся задоволені результатами.



Коментарі