Что такое спринты в проекте
Спринты
Спринты
Что такое спринты?
ТВИИТ :«Спринты делают проекты более управляемыми, позволяют командам быстрее и чаще выполнять высококачественную работу и дают им больше гибкости для адаптации к изменениям».
Многочисленные сходства между ценностями Agile и scrum-процессами приводят к справедливой ассоциации. Спринты помогают командам следовать Agile принципу «частой поставки рабочего программного обеспечения», а также использовать Agile ценность «реагирования на изменения в соответствии с планом». Scrum-значения прозрачности, проверки и адаптации дополняют Agile и играют центральную роль в концепции спринтов.
Как планировать и выполнять scrum-спринты
Затем команда создает план того, как они будут создавать элементы списка необходимых требований (backlog) и получать их «Готов(-ыми)» до конца спринта. Выбранные рабочие элементы и план их выполнения называются «спринтом списка необходимых требований (backlog)». К концу планирования спринта команда готова приступить к работе с списком необходимых требований (backlog) спринта, перенеся элементы из этого списка в «Выполняется» и «Готово».
Во время спринта команда проверяет, как продвигается работа во время ежедневного scrum или летучки. Целью этой встречи является выявление любых препятствий и проблем, которые могут повлиять на способность команд к достижению цели спринта.
После спринта команда демонстрирует, что они выполнили во время ревью спринта. Это возможность вашей команды продемонстрировать свою работу заинтересованным сторонам и партнерам по команде до того, как она попадет в производство.
Что можно и нельзя
Даже когда основы не работают, большинство команд спотыкаются, когда начинают запускать спринты. Меган Кук завершает эту дискуссию некоторыми вопросами о том, что можно и чего нельзя делать, которые она отобрала за эти годы.
Что можно:
Пока вы работаете над тем, чтобы быть звездой Scrum с этими «разрешениями» (“do’s,”), следите также за несколькими красными флагами:
Не рекомендуется:
Узнайте больше о спринтах
Спринты настолько известны (и настолько эффективны!), что их часто считают первым шагом на пути к большей гибкости. Как мы узнали, освоение спринтов требует овладения горстки scrum и Agile концепций, которые опираются друг на друга. Пожалуйста, используйте остальные наши статьи о scrum, чтобы пополнить свои знания и приблизиться к блаженству scrum.
По материалам Agile Coach «Sprints»
Что такое спринты в программировании
Это время, за которое команда успевает решить какую-то часть задач.
Когда вы попадёте на работу в ИТ-компанию, вы обязательно услышите одну из этих фраз:
Разберём, что это за спринты такие и зачем они нужны.
Ситуация
У команды разработчиков есть большой проект, где нужно сделать много разных вещей:
Времени на всё — 6 месяцев, и кажется, что этого достаточно. Но это может быть обманчиво, потому что команда расслабляется, каждый начинает делать что-то своё, а за месяц до финала выясняется, что вместе эти отдельные части работать не будут. Например, сервер не отдаёт данные в нужном формате для веб-страницы, приложения хранят данные только у себя и не умеют отправлять их на сервер, а авторизация в соцсетях работает только на Андроиде.
Чтобы этого не произошло, используют спринты.
Что такое спринт
Спринт — это небольшой фиксированный отрезок времени, в который команда делает какую-то ограниченную часть проекта. Например, команда может двигаться двухнедельными спринтами, с каждым спринтом добавляя в проект новые возможности.
Задача спринта — чтобы по его итогу что-то работало. Например, если мы взяли в спринт единую авторизацию в сервисе, то к концу спринта она должна работать и быть протестированной. Нельзя к концу спринта сказать «Ой, ну ничего, в следующий раз доделаем». К концу спринта должно быть готово.
Что делают в спринте
Цели у спринта могут быть общими для всей команды. Например:
А могут быть для каждого свои:
Кто именно и что делает — это определяет кто-то из руководителей, например, тимлид или менеджер проекта. У него в голове цельная картинка проекта, которую он раскладывает на конкретные маленькие шаги. Менеджер отвечает за корректную постановку задач, а разработчик — за то, чтобы эта задача была выполнена в срок.
Что после спринта
После спринта проводят ретроспективу — это встреча, на которой команда сама оценивает свой результат. Например, они могут обсудить такое:
Цель ретроспективы — подвести итоги спринта и понять, как лучше строить работу в следующем спринте, чтобы всё получалось лучше и интереснее, чем в этом.
После ретроспективы всё по новой.
Где нужны спринты
Спринты применяют для сложных или долгих проектов — там, где на старте непонятно, что конкретно по шагам нужно сделать, чтобы получить результат. Если проект сложный, спринты помогают упростить его, разбивая задачи на более понятные, чтобы каждая задача занимала один спринт.
В долгих проектах спринты держат в тонусе всю команду и не дают расслабляться в самом начале, когда кажется, что времени ещё очень много. Тогда цель каждого спринта — планомерно улучшать то, что есть, и постепенно добавлять новые возможности в сервис или приложение.
Если же задача решается за пару дней или пару недель, то спринты не нужны — нужно просто собраться и сделать.
Все знают, что компьютеры состоят из единиц и нулей. Но что это значит на самом деле?
Если ты можешь сделать страницу о себе, ты можешь сделать всё.
Это когда старая игра запускается на новой приставке
Это не про функции!
На 99% — ничем, но в C++ есть родная поддержка ООП.
И что вещи делают в интернете, когда мы не смотрим
Это виртуальная инструкция к любому «железу» в компьютере
Объясняем на картинках.
Одно делается для удобства, а другое — для защиты.
Стыдно — когда видно
Это время, за которое команда успевает решить какую-то часть задач.
Scrum — реальный опыт работы по методологии
В данной статье я привожу обзор организации процесса создания программного обеспечения в команде, в которой работаю. Моя цель – это поделиться опытом разработки и управления командой разработчиков.
Для организации процесса работ над проектом мы решили выбрать популярную методологию Scrum. Отчасти это дань моде, отчасти большое количество публикаций в сети Интернет на тему «Scrum сделал за нас все!».
Какие роли есть в Scrum
С чего обычно начинается разработка программного обеспечения? С идеи: «Как было бы замечательно, если бы у меня было некое ПО, которое делало бы примерно вот это. Было бы просто супер!» Человека, который в команде будет представлять эту идею, называют Product Owner (PO) или Владелец продукта. Product Owner – это тот, кто видит цель продукта или кому кажется, что он видит цель продукта, но важно то, что он может ее сформулировать и начать процесс движения к ее достижению. Цель он формирует в виде списка своих пожеланий (хотелок). Этот список называется Product Backlog Items (PBI). Он постоянно модифицируется в зависимости ситуации на рынке или от разрастающегося аппетита Product Owner’a.
Команда. По Scrum считается, что наибольшая эффективность разработки достигается в том случае, если команда сама будет самостоятельно принимать решения в отношении того, как она будет двигаться к цели. Поэтому основное требование к команде – она должна быть самоорганизующейся и самоуправляемой. Обеспечьте одно это требование, и этого будет достаточно для успеха проекта. Так как требование серьезное, то в команду вводится роль ScrumMaster’a, который следит за тем, чтобы соблюдались правила Scrum.
Что такое спринт и зачем он нужен
ProductOwner сформулировал свою цель в виде некого пункта B, который нужно достичь, начав движение с пункта A. Но пункт B – это не точка, в которую можно попасть, просто нарисовав прямую линию между ней и пунктом А. На самом деле пункт B это окрестность точки, и радиус ее может варьироваться.
Чтобы попасть в эту окрестность, лучше всего разрабатывать ПО короткими шагами (точнее забегами): спринтами. В конце спринта все оценивают, что получается, и корректируют направление движения. ProductOwner всегда в курсе того, что его идеи правильно поняты (а если нет, то это можно скорректировать уже на следующем спринте), и спокоен. Команда знает, что делает то, что нужно, и удовлетворена своей работой.
Как формируется список задач на спринт
В команде спринт длится 2 недели. За неделю ничего не успевается, за месяц все забывается. Поэтому 2 недели для нас самый оптимальный вариант. Первый день спринта уходит на планирование. На ранних этапах на планирование уходило даже 2 дня. Планирование – это процесс, при котором команда берет из списка требований наиболее приоритетные и разбивает на задачи, которые позволяют достичь результата. Каждая задача оценивается в часах. Желательно, чтобы задача не занимала времени больше, чем 4 часа. Если участник команды говорит, что сделает задачу за 5 дней, значит, он понятия не имеет, что нужно сделать.
Общее количество часов в спринте на каждого человека рассчитывается из того, что спринт длится 2 недели или 10 рабочих дней. Это 80 часов минус один день на планирование. Итого 72 часа. Но это идеальные часы. Это значит, что человек ни на что не отвлекается, не ест, не пьет, с места не встает, а только работает и не устает. Во время планирования задача оцениваются в идеальных часах. Но набирается для человека не 72 часа, а 72 часа, умноженные на некий коэффициент, который называется производительностью команды. Обычно это 0.5. Удивительно, но это какое-то магическое число, именно при нем весь спринт сдается успешно. Кто-то из великих сказал: «Возьмите время, которые назвал вам разработчик, умножьте его на два и еще немного прибавьте и получите срок, за который вам программист выдаст результат». И это действительно так.
В Scrum есть несколько рекомендаций в отношении того, как исполнителю оценивать время на задачу. Например, играть в покер. Но мы этим не грешим. Что бы там не говорили, но если какой-то модуль начал делать кто-то один, то он его и будет продолжать наращивать из спринта в спринт. И только он может оценить, сколько ему нужно времени на выполнение задачи. Единственные, кто ему может помешать завысить сроки, это его совесть (помните про самоорганизацию) и ScrumMaster.
Как проверить, что требование ProductOwner’а выполнено
Есть список требований. Но как проверить, достигнуто это требование в ходе разработки или нет? Для этого необходимо написать тесты, в которых будет детально описано то, что считать достижением требования. Просто говоря, в них описано то, на какую кнопку нажать, и что при этом получится. В команде тесты пишут аналитики. И тесты эти должны быть готовы к моменту запуска очередного спринта. У нас в команде аналитики и дизайнеры работают с опережением команды разработчиков на 1 спринт.
Главное требование – тесты должны быть очень подробными.
Что происходит во время спринта
Начинается процесс исполнения спринта. Главная его цель – добиться, чтобы тесты, предъявляемые к требованиям, к концу спринта выполнялись.
Для сплоченного движения команды к цели Scrum предлагает делать ежедневные митинги. Митинг – это когда каждый, стоя у доски с маркером, вычеркивает то, что он сделал вчера и пишет то, что он собирается сделать сегодня.
Это очень мощная практика. Благодаря ей каждый знает, куда движется проект в целом. К тому же когда человек, рассказывает, что он будет делать сегодня, то он автоматически координирует свои действия с другими участниками. Другие участники могут тут же предложить лучшие решения задачи. А еще написанная на доске задача, а по сути — это обещание всем своим коллегам, очень хорошо мотивирует самого исполнителя. Единственное, ScrumMaster не должен забывать объявлять, что начался митинг.
Митинги проводить желательно стоя и длительностью не более 15 минут. Мы начинаем митинги в 9 утра.
Что происходит в конце спринта
Наступает долгожданный конец спринта, обычно это пятница в 16:00, и команда сдает спринт Product Owner’у и всем-всем, кто заинтересован в продукте. Каждый отчитывается по задачам, которые выполнял и рассказывает о том, каких успехов достиг, а также объясняет причины, по которым не удалось достичь цели. Главное правило — никогда не переносите срок сдачи спринта.
Иногда после сдачи спринта делается анализ того, почему что-то происходит или не происходит, и что нужно предпринять, чтобы исправить ситуацию.
А в понедельник все повторяется сначала.
Накопленный опыт
Мы для себя выработали несколько правил, несоблюдение которых приводило к провалу спринта:
• Спринт надо планировать детально, не жалея на это сил. Если что-то из требований непонятно, то надо прояснять требование. Если это не удается сделать, то не надо брать задачу в спринт, а требование отправлять на доработку.
• Ни при каких условиях не брать дополнительные задачи, которые идут вне спринта. А если все-таки «навязали», то согласовать с Product Owner’ом, что будут удалены из спринта другие задачи.
• Количество человек в команде не должно превышать 5-6 человек. Когда наша команда выросла до 16 человек, митинг начал затягиваться на 2 часа. Ввели фиксированное время выступления для каждого и стояли с секундомером. Но тогда человек не успевал донести свою мысль, и митинг превращался в формальность. Поэтому мы просто разделились. Сначала поделились на клиентщиков и ядерщиков, а потом начали делиться по задачам. Т.е. каждая команда делает свою фичу, и в этой подкоманде есть как клиентщики, так и ядерщики. Этот подход используется до сих пор, и для нас он наиболее эффективен.
Вывод
Scrum может быть хорошей отправной точкой для начала движения. В процессе работ некоторые правила могут эволюционировать или отпасть за ненадобностью. Это уже будет решать команда, отношения в команде и сама жизнь. Но правила, которые сформируются на основе Scrum, послужат хорошим плацдармом для достижения командой желаемого результата.
Кто мы?
Команда, в которой я работаю, называется «Юниклауд Лабс». Это дружный коллектив интересных людей, реально болеющих за свое дело.
Вариков Андрей VAndrey
Технический директор ООО «Юниклауд Лабс»
Как съесть слона и при чём тут метод управления проектами SCRUM
Как часто проекты в вашей компании не укладываются в заданные временные рамки? Хотя, казалось бы, планирование, графики, отчёты… Организовать работу максимально эффективно можно, для этого нужно знать некоторые инструменты-помощники. Один из них – метод SCRUM.
Метод SCRUM – часть идеологии Agile, представленной в начале этого века группой независимых разработчиков программного обеспечения. Она объединяет несколько гибких методик управления, основанных на эффективной организации труда небольших групп специалистов. Метод оказался настолько эффективным, что теперь применяется и за пределами сферы разработки ПО: везде, где есть проекты, жёсткие сроки, небольшая команда и возможность разбивки проекта на составные, логически завершенные, части. Как съесть слона? По кусочкам.
Весь проект в SCRUM делится на итерации длительностью кратной неделе. Наиболее распространенное время – от 1 до 4 недель. Каждая итерация называется «спринт».
Цель спринта – за отведенное время создать продукт, готовый к демонстрации заказчику или потребителю.
Особенность спринтов в том, что одновременно решается только одна задача.
После каждой итерации вы получаете отзыв о том, движетесь ли вы в том направлении, которое нужно. Это и есть главное преимущество SCRUM – гибкость в разработке благодаря постоянной обратной связи.
Если проект делается без спринтов, весь сразу, то есть вероятность, что от него придётся отказаться, если в итоге выяснится, что продукт имеет критические недостатки. Те проблемы, которые можно выявить на ранних стадиях, используя SCRUM, могут быть слишком поздно обнаружены при использовании других методов.
Каждый человек, участвующий в проекте SCRUM, выполняет только отведенную ему роль. Чаще всего этих ролей три: владелец продукта, мастер и команда.
Владелец продукта, он же PO (Product Owner), не является в прямом смысле собственником. Это менеджер, через которого идет связь между клиентом или потребителем и командой, делающей продукт.
Главная задача – коммуникация с заказчиком и оперативное донесение информации до исполнителей.
Мастер является частью команды, но со специфическими обязанностями. Его основная задача – обеспечить рабочий процесс. Также он берет на себя роль модератора во время совещаний, разрешает противоречия в команде и следит за исполнением принципов метода.
Это те люди, которые непосредственно работают над проектом. Обычно их от 4 до 6 человек. Все члены команды берут на себя коллективную ответственность за задачи спринта как единое целое.
Совещаний в рамках использования этой методики проводится много, они различаются по целям и продолжительности.
Планируется весь объём работ, который будет выполняться за следующий спринт.
Должны быть чётко поставлены цели и определены методы их достижения.
Также определяется трудоёмкость тех задач, которые запланированы на текущий спринт. Члены команды поясняют PO и мастеру, как они планируют работать, чтобы достичь цели.
Каждый член команды отвечает SCRUM-мастеру на 3 вопроса:
Решение проблем не ищется в рамках ежедневного совещания. Всё общение занимает не более 15 минут.
Презентация законченной части продукта, которая проводится в присутствии всех заинтересованных сторон, включая клиента.
Подведение итогов спринта
Обсуждение того, что удалось достичь и что не получилось.
Здесь должны быть получены ответы на 3 вопроса:
Метод SCRUM применяется в работе над рядом проектов в бизнес-клубе «Атланты». Более 140 мероприятий в год, в том числе открытые и эксклюзивные – только для резидентов – встречи с интересными спикерами, форум-группы, обсуждения, собрания клубов в клубе… Всё это нуждается в чётком планировании. Команда клуба тестирует на себе разные методики и готова делиться наработками.
Если вам был полезен этот материал, поставьте + в комментариях, чтобы подобных публикаций было больше.
В следующей статье расскажем о распространённых ошибках и трудностях внедрения SCRUM в работу.
Спринты
Спринт — это короткий временной интервал, в течение которого scrum-команда выполняет заданный объем работы.
Просмотр тем
Что такое спринты?
Спринт — это короткий временной интервал, в течение которого scrum-команда выполняет заданный объем работы. Спринты лежат в основе методологий scrum и agile, и правильный выбор спринтов поможет вашей agile‑команде выпускать более качественное программное обеспечение без лишней головной боли.
«При использовании scrum продукт разрабатывается в ходе нескольких итераций с фиксированной продолжительностью, которые называются спринтами и разбивают большие сложные проекты на небольшие задачи», — говорит Меган Кук, менеджер группы товаров для Jira Software в Atlassian.
Многие ассоциируют Scrum-спринты с Agile-разработкой программного обеспечения настолько часто, что Scrum и Agile принимают за синонимы. Однако это не так. Agile — это набор принципов, а Scrum — методика для активного решения задач.
Многочисленные сходства между глобальными задачами agile и процессами scrum вполне справедливо приводят к тому, что эти два понятия ассоциируются друг с другом. Благодаря спринтам команды могут следовать agile‑принципу «частой поставки рабочего программного обеспечения», а также реализовать agile‑задачу «реагирования на изменения в соответствии с планом». Установки scrum — прозрачность, проверка и адаптация — дополняют agile‑методику и играют главную роль в концепции спринтов.
Руководство по Scrum закладывает прочную теоретическую основу для обсуждения спринтов. Мы хотим внести немного красок в эту тему и делимся рекомендациями от людей, которые занимаются этой работой каждый день.
Как планировать и выполнять спринты в scrum
Авторы Scrum действительно все предусмотрели. Чтобы запланировать предстоящий спринт, нужно провести собрание по планированию спринта. Планирование спринта — это мероприятие, на котором команда сообща отвечает на два основных вопроса: какую работу можно выполнить в этом спринте и как она будет выполняться?
Выбором подходящих рабочих задач для спринта занимаются совместно владелец продукта, Scrum-мастер и команда разработчиков. Владелец продукта определяет цель спринта и задачи из бэклога продукта, при выполнении которых она будет достигнута.
Затем команда создает план, согласно которому будут выполняться задачи бэклога, чтобы к окончанию спринта вся работа была завершена. Выбранные рабочие задачи и план по их выполнению называется бэклогом спринта. К концу совещания по планированию спринта команда готова приступить к работе. Для этого необходимо просто выбирать задачи из бэклога спринта и менять их статус с «В работе» на «Готово» по мере завершения работы.
В течение спринта команда собирается на ежедневные Scrum‑совещания (стендапы), чтобы обсудить ход работы. Такие совещания нужны, чтобы выявить блокеры и проблемы, которые могут повлиять на достижение цели спринта.
По окончании спринта команда показывает выполненную работу на обзоре итогов спринта. Здесь можно продемонстрировать итоги работы заинтересованным сторонам и другим участникам команды до того, как они попадут в рабочую среду.
Завершите цикл спринтов на моем любимом собрании — ретроспективе спринта. Здесь команда может определить области, требующие улучшения в следующем спринте. С этими сведениями можно начинать следующий цикл спринта. Вперед!
Что стоит и не стоит делать
Даже если основы уже известны, большинство команд спотыкается в начале работы со спринтами. Меган Кук завершает эту дискуссию списком действий, которые стоит и не стоит делать при использовании спринтов, которые она сформулировала за годы своей работы.
И если уж вы работаете над тем, чтобы стать сильным специалистом по scrum, выполняя рекомендации, ознакомьтесь также с действиями, которые выполнять не следует.
Чего не стоит делать.
Оптимизируйте спринты с помощью автоматизации
Когда вы поймете, как работают спринты, вы сможете оптимизировать процессы, используя автоматизацию. Вот три правила автоматизации, которые часто используются в спринтах Jira.
Эти и сотни других правил автоматизации можно найти в библиотеке шаблонов Jira Automation.
Подробнее о спринтах
Спринты настолько известны (и настолько эффективны), что их часто считают первым шагом на пути к повышению гибкости. Но мы выяснили, что для освоения спринтов необходимо овладеть некоторыми взаимосвязанными понятиями Scrum и Agile. Изучите остальные статьи по Scrum, чтобы расширить знания и стать еще на шаг ближе к счастью от использования Scrum.