Введение в Agile и Scrum

Agile - это методология разработки программного обеспечения, обладающая пропускной способностью для быстрой адаптации к изменяющимся требованиям проекта и для адаптации к разработке нового продукта, пока проект продолжается или после завершения проекта, в отличие от традиционного управления проектом.

Давайте поймем отличительное преимущество, которое Agile имеет перед традиционной методологией управления проектами:

Традиционный подход:

  • Детальное планирование перед началом
  • Позволяет принять минимальные изменения
  • Фиксированное определение проекта

Гибкий подход:

  • Требуется минимальное планирование перед стартом
  • Примет и адаптируется к изменениям
  • Фиксированное время и стоимость

Scrum является наиболее широко используемым и популярным подходом для реализации гибкой методологии.

Мы вскоре перейдем к разделу Scrum, но сначала давайте посмотрим больше на гибкую структуру.

Принципы гибкого манифеста

  1. Удовлетворение потребностей клиентов является наивысшим приоритетом, который достигается за счет непрерывной и ранней доставки ценного программного обеспечения.
  2. Поставьте работающее программное обеспечение за короткий промежуток времени с непрерывной разработкой нового программного обеспечения / продуктов в соответствии с тем же подходом.
  3. Мы должны быть в состоянии соответствовать изменяющимся требованиям, даже если они запаздывают в течение жизненного цикла SDLC.
  4. Члены команды должны всегда оставаться мотивированными, и для этого должна быть обеспечена достаточная поддержка и хорошая обстановка.
  5. Разработчики и бизнесмены должны ежедневно работать вместе на протяжении всего проекта.
  6. Наиболее эффективным способом общения считается общение лицом к лицу.
  7. Устойчивое развитие. Все члены команды должны быть в состоянии поддерживать постоянный темп.
  8. Рабочий продукт / программное обеспечение считается основной мерой прогресса.
  9. В конце дня основное внимание должно быть уделено техническому совершенству и надежному дизайну.
  10. Простота должна соблюдаться на протяжении всего процесса SDLC
  11. Команды должны продемонстрировать постоянную эффективность и принять любые изменения для повышения эффективности.
  12. Надежный дизайн и архитектура происходят из самоорганизующихся команд.

Подходы для гибкой реализации:

Ссылка: https://goo.gl/images/fkZqGe

  1. SCRUM - это итеративный подход, в котором есть нечто, называемое спринтом, которое длится до одной или двух недель. Такой подход позволяет командам регулярно предоставлять рабочий продукт или программное обеспечение.
  2. Kanban - для реализации гибкого подхода используется визуальная структура. Здесь нет спринтов фиксированной длины, и команда получает задание из приоритетного задела.
  3. Экстремальное программирование (XP) - этот подход призван улучшить качество программного обеспечения и скорость реагирования за счет использования простоты, обратной связи и принятия изменений.
  4. Разработка на основе функций (FDD). Этот подход включает в себя 5 основных действий: - Разработка общей модели, создание списка функций, планирование по функциям, проектирование по функциям и построение по функциям.
  5. Адаптивная разработка систем (ASD) - этот подход может быть использован для построения сложных программ и систем и в основном сосредоточен на совместной работе команды и самоорганизации. Он включает в себя 3 повторяющихся действия: «Размышляй», «Сотрудничай» и «Учись».
  6. Метод динамической разработки системы - DSDM - это гибкий метод, который следует итеративному и инкрементальному подходу, который в значительной степени основан на методологии быстрой разработки приложений. В нем рассматриваются общие сбои проектов, такие как проблемы бюджета проекта, несоблюдение сроков и т. Д.
  7. Бережливая разработка программного обеспечения - Бережливая разработка программного обеспечения - это гибкий подход, основанный на 7 основных принципах: устранение потерь, расширение возможностей команды, быстрая доставка, оптимизация всего, повышение качества сборки, откладывание решений и усиление обучения.

Что такое Scrum?

В предыдущих разделах мы уже видели подходы, которые используются для реализации Agile-процесса, и Scrum был одним из них, Scrum - одна из наиболее важных и наиболее широко используемых Agile-методологий. Скрам - это итеративный подход, в котором есть то, что называется спринтами, которые длятся до одной или двух недель. Такой подход позволяет командам регулярно предоставлять рабочий продукт или программное обеспечение. Здесь обязанности, роли и встречи решаются в Scrum, а спринты - это графики, в которых есть планирование спринта, демонстрация спринта, ежедневные тренировки и ретроспектива спринта.

Скрам Роли / Скрам Команды:

Ссылка: https://goo.gl/images/XpNHBe

  1. Scrum Master - Scrum Master - это роль, которая отвечает за команду Scrum, которая будет следовать методологии Scrum. Scrum Master организует встречи, поощряет команду, облегчает планирование и отслеживание, решает проблемы и устраняет узкие места. Scrum Master также связывается с владельцем продукта, чтобы удостовериться, что резерв продукта готов к следующему спринту.
  2. Владелец продукта - Владелец продукта отвечает за анализ и передачу версии Программного обеспечения команде Scrum. Владелец продукта также координирует свою работу с Scrum Master, чтобы принять решение о резервных записях продукта для спринтов.
  3. Команда разработчиков - Команда разработчиков состоит из профессионалов, которые отвечают за постоянную разработку, тестирование и поставку программного обеспечения. Они определяют, как доставлять куски работ частыми шагами.

Шаги в Scrum Flow:

Ссылка: https://goo.gl/images/6YTUPf

  1. Журнал ожидания продукта - Журнал ожидания продукта поддерживает список характеристик продукта. Владелец продукта и Scrum Master несут ответственность за расстановку приоритетов в пунктах отставания на основе пользовательских историй и требований.
  2. Планирование спринта - это встреча, которую проводит Scrum Master, и владелец продукта представляет подробную информацию о незавершенном производстве продукта, устанавливает критерии приемки поставки и группу разработчиков, которые определяют работу и усилия, которые они выполняли ежедневно.
  3. Уточнение журнала невыполненных работ. Для обновления журнала незавершенного производства мы используем уточнение журнала невыполненных работ. Здесь пользовательские истории делятся на более мелкие части, а любые ненужные пользовательские истории удаляются.
  4. Ежедневная схватка - это ежедневная 15-минутная встреча, на которой обсуждаются три основных вопроса: что было сделано вчера, каков план на сегодня и каковы препятствия.
  5. Совещание по рассмотрению спринта - это собрание проводится в конце каждого спринта, где демонстрируется живая демонстрация, чтобы продемонстрировать, что было достигнуто в течение спринта.
  6. Ретроспективное собрание по спринту. Мы также можем назвать это собрание успешным, когда команда обсуждает процесс, который работал или не работал во время спринта, с их обходными путями.

Вывод

В этой статье мы увидели, что Agile - это методология разработки программного обеспечения, обладающая пропускной способностью для быстрой адаптации к изменяющимся требованиям проекта и для адаптации к разработке нового продукта, пока проект продолжается или после завершения проекта, в отличие от традиционного управления проектами, в то время как Scrum наиболее широко используемый и популярный подход к внедрению гибкой методологии.

Рекомендуемые статьи

Это было руководство к тому, что такое Agile и Scrum. Здесь мы обсудили различные подходы Agile и Scrum. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Что такое искусственный интеллект
  2. Agile Scrum Интервью Вопросы
  3. Что такое SDLC
  4. Agile против Scrum против водопада