Scrum: особенности применения при разработке по

Scrum: особенности применения при разработке ПО
22.06.2017

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

2. Неграмотное распределение обязанностей и ответственности за выполняемую работу и результат.
  
3. Непрерывный поток мелких, постоянно наваливающихся требований, из-за которых разработчики и менеджеры вынуждены отвлекаться от основных задач.

В результате: срыв сроков, вынужденное увеличение бюджета, снижение качества продукта.

Немного истории

Для решения вышеописанных проблем была создана гибкая методология управления проектами — Agile. Это семейство методов, основной целью которых минимизировать риски с помощью разделения процесса разработки ПО на серии коротких итераций (циклов) длительностью примерно в 1-4 недели. Каждый такой цикл является неким самостоятельным программным проектом, включающим в себя такие пункты как планирование, кодирование, тестирование и пр.

книга.png


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

SCRUM

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

Scrum — набор гибких методов, по которым строится процесс разработки ПО.

Основные роли по методологии управления проектами — Scrum

Product Owner — расставляет приоритеты для целей и задач, а также критерии к их оценке. Он знает как должен выглядеть и работать конечный продукт. В идеале, это сотрудник со стороны компании Заказчика и именно он говорит о том, что задачи выполнены верно и принимает их.

Scrum Master — организует участников команды, решает возникающие проблемы при разработке, контролирует соблюдение принципов Scrum. Иными словами, это менеджер проектов.

Scrum Team — это команда специалистов, которые непосредственно занимаются разработкой проекта по поставленным задачам. Например, на практике в RITG Scrum Team представлена из 6-8 специалистов.

 

Идея Scrum

Весь процесс разработки делят на короткие временные отрезки — спринты. Для этого Scrum Team проводит спринт-планирование, в рамках которого определяется объем задач и происходит их оценивание по принципу planning poker. Далее определяется временной интервал — время спринта,  в ходе которого Scrum Team выполняет поставленные задачи и Scrum Master’ом организуются ежедневные совещания длительностью не более 15 минут (daily meeting) на протяжении всего спринта. Основная задача такой пятнадцатиминутной “летучки” — получить от каждого члена Scrum Team ответ на 3 вопроса: что сделано с момента прошлой встречи, что сделает сегодня, какие препятствия могут возникнуть в дальнейшем и уже на данный момент.

По итогу реализации спринта происходит презентация выполненной работы Product Owner’у и ретроспектива — совещание, которое посвящено “разбору полетов”. Основная цель ретроспективы — выявить минусы в работе Scrum Team, определить плюсы и подумать о том, как ещё можно улучшить полученные результаты.


ritg.png

Плюсы и минусы Scrum

У Скрама есть свои достоинства и недостатки, которые мы рассмотрим чуть ниже:

1. Это достаточно гибкая, адаптивная и ориентированная на клиента методика. Вы в любой момент сможете сделать изменения в продукте, к примеру, добавить ещё одну новую функцию. Такая возможность привлекательна для многих Заказчиков программного обеспечения.

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

3.  Ещё одним плюсом можно считать самостоятельность и самоорганизованность всех участников проекта. В Скраме делается упор на команду, которая решает поставленные задачи с минимальным контролем со стороны начальства. Считается, что Scrum Team достаточно компетентна, чтобы в рамках спринта самостоятельно выявить неформального лидера. Поэтому такой подход часто используется в небольших компаниях и стартапах. И неудивительно, ведь это позволяет сэкономить кадровые средства.

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

Теперь рассмотрим минусы данной методологии:

1. Неопределенность. Количество спринтов может быть неограниченно, поэтому очень сложно определить конечную дату в проекте.

2. Скрам ориентирован на то, что рабочая команда самостоятельно выявляет внутреннего лидера в зависимости от спринта. Сторонний контроль со стороны тимлида в этом случае не нужен. Поэтому ОЧЕНЬ важно составлять Scrum Team, опираясь не только на профессиональные качества разработчиков, но и на психологические, чтобы участники взаимодействовали друг с другом. К сожалению, многие компании этим пренебрегают.

3. Существует некая дезинформация или полное отсутствие знаний о принципах Скрама со стороны Заказчика. Некоторые клиенты не понимают, как проект можно создавать по “кусочкам”. Поэтому наша компания ещё на этапе заключения сделки заранее рассказывает о том, что команда работает по Scrum и, при необходимости, делает “ликбез”.

4. Владелец — Product Owner не всегда может полноценно погрузиться в работу над проектом. В этом случае появляется недопонимание между командой и клиентом из-за некорректно заявленных требований.

Как Вы понимаете, в мире не существует чего-то идеального. У всего есть свои положительные и отрицательные стороны. Скрам не исключение. Однако знания — сила! На нашей практике отметим, что если заранее понимать “обратную” сторону Скрама, то его недостатки можно свести к минимальным рискам. Конечно, всё это индивидуально и зависит от конкретного случая. Мы заранее анализируем нашу проектную деятельность на возможные проблемы и выстраиваем рабочий процесс таким образом, чтобы эта проблема становилась не такой большой и могла быстро разрешиться.

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

sale@ritg.ru
+7 (495) 725-43-75

Мы в социальных сетях:

ВКонтакте
Facebook
YouTube
Instagram




Возврат к списку