Життєвий цикл розробки програмного забезпечення (SDLC) — це структурований процес, який дозволяє створювати високоякісне недороге програмне забезпечення в найкоротші терміни. Метою SDLC є створення якісного програмного забезпечення, яке відповідає та перевершує всі очікування та вимоги клієнтів.
На практиці — це як ви працюєте в компанії (саме процес розробки продукту), як саме взаємодієте з командою та клієнтом.
Хоча SDLC є основою для запуску проекту, є ще один важливий фактор, який необхідно враховувати перед SDLC, а саме різні методології. Зазвичай компанія, що розробляє програмне забезпечення на замовлення, використовує якусь одну з методології або ж їх “гібрид”, щоб переконатися, що вони здатні ефективно реалізовувати проект.
Ми будемо обговорювати такі моделі та методології.
⦁ Модель Waterfall SDLC
⦁ Модель Agile SDLC
⦁ Методологія Scrum SDLC
⦁ Методологія Kanban SDLC
Кожна методика має свої унікальні якості, переваги та недоліки.
Водоспадна модель життєвого циклу ПЗ (англ. waterfall model) — послідовний метод розробки програмного забезпечення, названий так через діаграму, схожу на водоспад.
Ця модель розробки запозичена з системної інженерії у виробництві та будівництві — областях, в яких зміни на пізніх етапах дуже дорогі або неможливі. Наприклад, для створення складних інженерних конструкцій (споруд, літаків, мостів тощо). Зміни в проекті фундаменту будинку після того, як покладений дах, коштують дуже дорого, тому перфекціонізм на початкових етапах проектування просто необхідний.
Принципова особливість водоспадної моделі — перехід на наступну стадію здійснюється тільки після повного завершення роботи на поточній стадії, повернення на пройдені стадії не передбачається. Кожна стадія закінчується одержанням результатів, що є вхідними даними для наступної стадії, та випуском повного комплекту документації. Вимоги до програмного забезпечення, визначені на стадії формування вимог, документуються у вигляді технічного завдання і фіксуються на весь час розроблення. Критерієм якості розробки за такої моделі є точність виконання специфікацій технічного завдання. Не дуже гнучка та економічно ефективна методологія.
Плюси методу
⦁ Ніяких, або майже ніяких переробок;
⦁ Гарна специфікація здебільшого перетікає в гарну документацію;
⦁ Зрозуміла модель;
⦁ Програмісти можуть мати низьку кваліфікацію.
Мінуси
⦁ Необхідно досягати досконалості на кожному етапі;
⦁ Може бути складно вносити зміни (якщо взагалі можливо);
⦁ Надлишкове проєктування;
⦁ Поділ розробників на «perfect» та «code monkeys».
Модель Agile SDLC є комбінацією ітеративних та інкрементальних моделей процесів з акцентом на адаптивність процесів та задоволеність клієнтів за рахунок швидкої «доставки» працюючого програмного продукту. Agile метод розбиває продукт на невеликі інкрементальні зборки. Ці складання надаються в ітераціях. Кожна ітерація зазвичай триває від одного до трьох тижнів. Кожна ітерація включає крос-функціональні команди, що працюють одночасно в різних областях, таких як
⦁ Планування
⦁ Аналіз вимог
⦁ Дизайн
⦁ Кодування
⦁ Модульне тестування
⦁ Приймальне тестування
Наприкінці ітерації робочий продукт відображається клієнту та важливим зацікавленим сторонам.
Переваги:
⦁ Швидка здача робочого проекту.
⦁ Акцент робиться на співпраці всіх учасників проекту.
⦁ Пряме спілкування з усіма та миттєве виправлення на основі нових даних.
Недоліки:
⦁ Підходить лише для малого бізнесу.
⦁ Документація актуальна лише до наступного етапу.
⦁ Висока залежність від взаємодії з клієнтом.
P.S. Продовження за посиланням
Група в телеграмі: https://t.me/ruby4you
Автор курсу: Шкоропад Даниїл