Методология разработки

Методология разработки ПО - это система принципов, а также совокупность идей, понятий, методов, способов и средств, определяющих стиль разработки ПО.

    Наиболее популярные модели разработки ПО:
  • Каскадная модель - модель разбивает жизненный цикл ПО на стадии: проектирование, дизайн, кодирование, тестирование, поддержка. Каждая стадия должна завершиться до начала следующей
  • Agile-подходы - это семейство «гибких» подходов к разработке программного обеспечения. В гибкой методологии разработки после каждой итерации заказчик может наблюдать результат и понимать, удовлетворяет он его или нет. Это одно из eе преимуществ. К недостаткам относят то, что из-за отсутствия конкретных формулировок результатов сложно оценить трудозатратность и стоимость разработки. В основе гибкой методологии лежат непродолжительные отрезки времени Sprint, во-время которых выполняется определенный (ограниченный) список задач, ежедневные встречи Stand-up meeting и регулярные собрания (планирование спринта, итоги спринта). На ежедневных совещаниях участники команды обсуждают:
    • Отчет о проделанной работе с момента последнего Stand-up meeting
    • Список задач, которые сотрудник должен выполнить до следующего собрания
    • Затруднения, возникшие в ходе работы
    Методология подходит для больших или нацеленных на длительный жизненный цикл проектов, постоянно адаптируемых к условиям рынка. Соответственно, в процессе реализации требования изменяются.

Agile и Каскадная модель, различия:

  • В Каскадной модели четко и заранее определены требования, в Agile требования в процессе реализации меняются
  • В Agile плавающее значение стоимости продукта, в Каскадной модели - фиксированная стоимость
  • В Agile готовность к изменениям в процессе разработки важнее, чем беспрекословное следование изначальному плану, в отличии от методологии Каскадная модель
  • B Agile разработка через короткие итерации, в Каскадной модели - длительная разработка
  • В Agile заказчик привлекается к процессу разработки продукта, в Каскадной модели - нет
  • Приоритет в Agile - удовлетворение потребностей заказчика, в Каскадной модели - жёсткая последовательность этапов разработки