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

Расслабьтесь, сегодня я дам вам краткий обзор того, что такое Agile-разработка.

Введение

Помимо Agile, существует множество методологий разработки программного обеспечения. Некоторые из них — Waterfall, DevOps и Rapid. Но в последнее время Agile становится одной из наиболее часто используемых методологий разработки из-за своей гибкости.

Что такое гибкая разработка программного обеспечения?

От Атласиан:

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

Говоря своими словами, Agile — это способ ускорить разработку программного обеспечения/проекта. Одной из самых сильных сторон Agile является его быстрое изменение в ответ на изменения в окружающей среде. Многие случаи негибкой разработки заключаются в том, что срок действия продукта истек, когда он выпускается для пользователя, поэтому немногие пользователи используют приложение.

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

Как насчет самого Scrum? Что такое скрам?

Из чайников.com:

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

Scrum — один из многих методов управления проектами, реализующих Agile. Это не единственный способ управления, который использует Agile в качестве основы, но в последнее время он часто используется компаниями и проектами.

Почему? Из-за того, как это работает, люди очарованы.

Почему он стал известен и активно внедрялся?

Простой. Оно работает. Разработка программного обеспечения является итеративной. Agile/Scrum основан на

  1. Напишите код.
  2. Пишите тесты для кода
  3. Убедитесь, что тесты пройдены.
  4. Обсудите код с членами команды.
  5. Уточните свой дизайн.
  6. И повторить.

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

Как Scrum реализует Agile-концепции и манифест

Итак, у самого Agile есть 4 концепции и 12 манифестов. Причина, по которой я написал эту статью, не в том, чтобы объяснить их, а в том, чтобы рассказать вам о своем опыте и понимании Scrum, которое я внедрял в течение последних 4 месяцев. Если вы хотите прочитать концепции Agile и их воплощение, вы можете прочитать это на этом сайте.

Чтобы быть конкретным, я хочу обсудить события Scrum:

Планирование спринта

Это первое событие, с которым вы сталкиваетесь при внедрении Scrum. В моем случае планирование спринта будет проводиться каждые 2 недели, выбор количества недель, в течение которых будет проводиться планирование спринта, зависит от Скрам-мастера вашей команды. Это может быть раз в неделю или раз в три недели (это может быть по-разному). Команда собралась, чтобы выбрать невыполненную работу, которую, по нашему мнению, мы сможем выполнить в течение следующих 2 недель. В этом планировании есть некоторые аспекты, которые нам необходимо достичь:

  • Какова цель этого спринта?
  • Какой бэклог продукта лучше всего закончить раньше?
  • Есть ли у кого-нибудь проблемы или события на этой неделе, которые прервут рабочий процесс? или проблема, которая будет мешать им закончить задачу?
  • Как насчет возможностей команды?
  • Чувствуем ли мы себя уверенно?

Результатом этой встречи является список невыполненных работ, над которыми команда будет работать для следующей команды. При планировании спринта мы также делим нагрузку на каждого человека. Моя команда решила использовать доску GitLab для проверки каждого невыполненного задания. На доске Gitlab мы можем контролировать и видеть, какой бэклог еще не сделан, а какой бэклог уже завершили наши товарищи по команде.

Пояснение:

  • Открыть для задачи, которая не была взята, а также не была назначена
  • To Do – это список задач, которые еще не выполнены, но уже назначены конкретному человеку.
  • Выполняется – это список задач, которые каждый человек делает прямо сейчас.
  • Выполнено — для задач, которые уже соответствуют критериям завершения.
  • Отменено для задачи, которая содержит опечатку, или мы понимаем, что для ее выполнения требуется дополнительная информация.

Такой способ деления очень полезен для меня и моей команды. Думаю, я рекомендовал использовать эти таблицы, если вы все еще не понимаете, какую доску хотите использовать.

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

Ежедневное собрание Scrum

В промежутке между планированием спринта проводится скрам-мероприятие, называемое ежедневным скрам-собранием. Ежедневные скрам-собрания должны проводиться в течение 15 минут, чтобы они были эффективными. Всего на 15 минут! больше никогда! Но ничего страшного, если он закончится быстрее. Ежедневный скрам моей команды проводится 2 раза в неделю. Но у вас может быть по-другому, я слышал ежедневное собрание, которое проводится раз в день. Это нормально. В ежедневном скраме мы обсуждаем наш прогресс в завершении невыполненной работы, которая была назначена при планировании спринта. Каждый человек в моей команде должен сказать скрам-мастеру 3 вещи:

  • Какое задание вы выполнили
  • Что дальше?
  • Вы сталкиваетесь с какой-либо проблемой?

Цель ежедневных встреч — узнать состояние своих товарищей по команде. Они сталкиваются с какой-либо проблемой? им нужна помощь? Могу ли я чем-нибудь помочь? Или хотя бы контролировать и напоминать всем, что у них есть бэклоги, которые еще нужно сделать. Я слышал много людей, которые действительно ненавидят ежедневный схват, но я думаю, что это очень полезно. Я могу знать, что спринт хорошо продвигается в каждой ежедневной схватке.

Ежедневная схватка действительно делает упор на отдельных и взаимодействиях Agile.

Обзор спринта

Обзор спринта — это цель спринта. В обзоре спринта мы представляем клиенту наш прогресс и достижения. Клиент оценит нашу работу и определит, какой бэклог он принял, а какой нет. Если отставание не будет принято, клиент выскажет свое беспокойство и несогласие. Затем мы должны переработать нашу невыполненную работу, чтобы снова представить ее им на следующей неделе. Мы также можем спросить клиента, в какой части мы все еще не уверены и нуждаемся в определенности. Иногда клиент также меняет несколько вещей, что является сильной стороной схватки для клиента. Лучше менять вещи, пока они маленькие, чем менять их, когда они уже большие и сложные.

В рамках этого мероприятия реализуются рабочее программное обеспечение и сотрудничество с клиентами.

Ретроспектива спринта

Ретроспектива спринта — это мероприятие, на котором мы анализируем себя и команду. Он проводится сразу после обзора спринта (к вашему сведению: второе планирование спринта обычно проводится в тот же день обзора спринта, сразу после обзора спринта и ретроспективы спринта). Поиск способа повысить производительность команды также участвует в этом мероприятии. Если есть способ как можно меньше думать о повышении производительности команды, вы должны изложить свою идею на этом мероприятии. Если ваша команда согласится с вашим предложением, ваша идея будет реализована до следующей ретроспективы спринта.

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

Моя команда обычно составляет доску (да, мы любим доски) и перечисляем вещи, которые вредны для нашей команды, и то, что следует поддерживать в течение следующих 2 недель. Вот пример:

Пояснение:

  • Хорошо – это список вещей, которые мы считаем уже хорошими.
  • Плохо – это список того, что нам не нравится.
  • Начало – это список того, что нам нужно сделать, чтобы улучшить рабочий процесс.
  • Стоп – это список плохих вещей, которые нам действительно нужно прекратить.

Я думаю, что ретроспектива — самое веселое событие в схватке. Особое внимание уделяется реагированию на изменения и людям и взаимодействиям.

Вывод

Я думаю, что скрам сам по себе уже хорошо реализует Манифест гибкой разработки программного обеспечения. Я понимаю, почему скрам любят клиенты, а также разработчики. Встреча, которая проводится постоянно, но определенно, действительно делает скрам невосприимчивым к «системе, срок действия которой истекает», когда она доставляется потребителю.

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

Есть еще целая информация о Scrum, которую я сам не знаю, надеюсь, вы сможете найти свой путь самостоятельного изучения Scrum

Если вы хотите узнать больше о Scrum или гибкой разработке, я предлагаю вам прочитать это:

Статьи, которые я рекомендую:





Шпаргалка по Scrum для чайников — чайники
Из книги «Scrum для чайников
, 2-е издание, Марк К. Лейтон. Scrum фокусируется на постоянном совершенствовании, гибкости масштаба, команде…www .dummies.com»