Чи є основні альтернативи водоспаду та Agile? [зачинено]


35

Мені цікаво, якщо хтось знає якісь методології, які суттєво відрізняються (не є рекомбінацією), і я особливо вдячний би тому, хто висунув будь-який досвід використання альтернатив.

Відповіді:


47

Вікіпедія перераховує це як методології / процеси розробки :

  • Agile - заснований на ітераційному та поступовому розвитку, де вимоги та рішення розвиваються завдяки співпраці між самоорганізуються, крос-функціональними командами.

  • Чистота - основна увага в процесі чистої кімнати приділяється попередженню дефектів, а не усуненню дефектів.

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

  • RAD - використовує мінімальне планування на користь швидкого прототипування. "Планування" програмного забезпечення, розробленого за допомогою RAD, переплітається з написанням самого програмного забезпечення.

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

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

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

  • Lean - переклад принципів і практик Lean Manufacturing та Lean ІТ-систем у область розробки програмного забезпечення; все, що не додає цінності для замовника, вважається відходом.

  • V-модель - замість того, щоб лінійно рухатися вниз, етапи процесу загинаються вгору після фази кодування, щоб утворити типову V форму. V-модель демонструє взаємозв'язок між кожною фазою життєвого циклу розвитку та пов'язаною з нею фазою тестування.
    v-модель діаграми

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


Дякую за таку чітку, лаконічну відповідь. Я така стара школа, я ніколи не чув багатьох термінів, що їх кидають на P.SE.
Майкл Райлі - AKA Gunny

7
Чудовий список, крім TDD. Це не життєвий цикл, а практика розвитку.
Майкл

18

Кодування ковбоя

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


2
так! брех-баг!
mlvljr

3
"ймовірно, не працюватимуть у корпоративних умовах". Каже, що ти! ;)
Столи Бобі

+1 Ааа, круто! Я це роблю іноді, але я не знав, як назвати цей "процес" :)
Zzz

йеее-хау падна!
ybakos

У формальних зрілих корпоративних налаштуваннях вірно. Однак у малому бізнесі може бути зовсім небагато менталітету «Просто діставайся».
Король JB

4

Спіральна модель

Спіральна модель - це процес розробки програмного забезпечення, що поєднує в собі елементи як проектування, так і складання прототипів, намагаючись поєднати переваги концепцій зверху вниз і знизу вгору. Також відома як спіральна модель життєвого циклу (або спіральна розробка), це метод розробки систем (SDM), що використовується в інформаційних технологіях (ІТ). Ця модель розробки поєднує в собі особливості моделі прототипування та моделі водоспаду. Спіральна модель призначена для великих, дорогих і складних проектів.

- Вікіпедія alt текст


1

План

Сядьте з клієнтом (або кінцевим користувачем) і спроектуйте ряд випадків використання.

Дизайн

Розмістіть систему на папері / дошці на декількох сортах пива та піци. Snicker, коли щось виглядає фалічно.

Підтвердіть

Підтвердьте дизайн із клієнтом (або кінцевим користувачем) та заморожте вимоги.

Код

Пояснення самостійно.


"Вимоги до заморожування" - це найбільший простіший, ніж коли-небудь зроблений.
Джастін Шир

1

Цей аргумент про Водоспад існує вже деякий час і використовується спритними лідерами думок на початку. Вони теж стикалися з "реальністю" водоспаду як "червоною тривогою".

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

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

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

Деметрі для Agile:

  • Agile є занадто орієнтованим на програмування, щоб не було зрозуміло, як збалансувати роботу в організації.
  • Якщо ви не знаєте, куди їдете, Agile не потрапить вас туди!
  • Створення рамок без чітких потреб.
  • Надмірне використання мовних особливостей (недоцільно).
  • Ніякого тесту-менталітету.

Ну а цікаву методологію, яка може працювати як альтернатива AGILE, можна найкраще переглянути за цими 3 посиланнями:

Канбан як альтернативна спритна реалізація

Розробка програмного забезпечення Kanban

Сперша розробка програмного забезпечення на хмарі


3
Якщо ви не знаєте, куди їдете, водоспад не потрапить вас туди!
Ерік Вілсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.