За предыдущее десятилетие разработка программного обеспечения претерпела значительные изменения. Инструменты, технологии и методы разработки претерпели значительные изменения. Одно из таких серьезных изменений - это гибкая методология. Являясь наиболее заметной концепцией любой развивающей деятельности в новую эпоху, это методология, которую необходимо знать ИТ-индустрии. Эта статья посвящена основам Agile-методологии с Trello, веб-сайтом для управления проектами.
Прежде чем мы начнем с гибкого проекта, давайте разберемся с терминологией и концепциями гибкой среды.
Agile - это методология разработки, ориентированная на итеративную разработку. Итеративная разработка относится к поведению разработки, при котором программное обеспечение/продукт разрабатывается и выпускается поэтапно. В первую очередь выпускаются наиболее важные и высокоприоритетные функции, а за ними - другие. Цель здесь - сначала выпустить минимально жизнеспособный продукт(MVP). MVP - продукт, который можно использовать, но он не полностью построен со всеми функциями.
Agile гарантирует, что будет выпущен минимальный продукт, который можно использовать, а остальные функции появятся в ближайшее время. С точки зрения клиента, выпуск MVP и добавление остальных намного лучше, чем выпуск всего продукта вместе с задержкой. Agile также делает процесс разработки более гибким по сравнению с жесткой и строгой каскадной моделью.
Такие методологии, как Agile, будут использовать множество платформ управления проектами, таких как Azure Devops, Jira или Trello. Программное обеспечение для управления проектами помогает отслеживать задания - ожидающие, выполняемые и развернутые. Они следят за процессом разработки.
В этом упражнении мы будем использовать платформу Trello и инициировать простой проект Scrum. Scrum - это гибкая методология, при которой релизы выполняются итеративно в спринтах. Спринты состоят из 2–4 недель, в течение которых функции разрабатываются, конструируются и выпускаются. Для нашего проекта у нас есть следующие состояния, через которые может перемещаться функция:
- Бэклог продукта: Бэклог продукта - это набор всех функций, которые планируется разработать и выпустить для всего приложения. Если это приложение, которое имеет непрерывные обновления функций, то список невыполненных работ по продукту постоянно обновляется.
- Spring Backlog: поскольку Agile фокусируется на итеративной разработке, Spring Backlog состоит из всех функций, которые должны быть разработаны и выпущены для текущего спринта.
- В разработке: здесь представлены все функции, которые находятся в стадии разработки в текущем спринте.
- Завершено: здесь представлены все функции, которые были завершены в текущем спринте, но еще не задействованы для тестирования.
- Для тестирования: сюда входят все функции, которые должны быть протестированы или находятся в очереди.
- В тестировании: сюда входят все функции, которые в настоящее время тестируются в текущем спринте.
- Готово к производству: в нем есть все функции, которые готовы к производству, но еще не выпущены в текущем спринте.
- В разработке: сюда входят все функции, которые находятся в разработке до настоящего времени во всех спринтах.
Теперь, когда у нас есть доска и состояния, давайте настроим проект Scrum для электронной коммерции и посмотрим, как происходит гибкий процесс.
Считайте вышеизложенное отставание по продукту. Синие метки показывают Спринт 1, Оранжевый - Спринт 2 и т. д.
Спринт 1:
Начните текущий спринт, переместив синие метки в Spring Backlog.
Теперь, когда функции добавлены в текущий бэклог спринта, начните процесс разработки, назначив каждую функцию разработчику в команде. Для простоты давайте возьмем по одной функции за раз. Переместите первую функцию в состояние « В разработке».
После завершения разработки необходимо перевести ее в состояние «Завершено» и дождаться, пока команда тестирования возьмется за нее.
Как только группа тестирования будет готова приступить к работе, функция должна быть переведена в состояние «Для тестирования».
Команда тестирования рассмотрит его и перейдет в состояние тестирования. Это тот момент, когда определенные функции с ошибками могут быть возвращены разработчику для исправления ошибки. Как только тестирование будет завершено и готово, функция будет переведена в состояние готовности к производству.
Все элементы из бэклога спринта проходят одни и те же фазы, пока все бэклоги для этого спринта не будут готовы к производству.
Когда все функции готовы к выпуску, они запускаются в производство в конце каждого спринта.
Так происходит Agile-процесс (Scrum). В приведенном выше примере показан базовый процесс, хотя на практике корпоративные платформы имеют гораздо больше функций.