Agile и Scrum для современного человека
В данной статье нашего инновационного сайта рассмотрим современной методологию , взявшую на вооружение многими нашими бизнес партнерами и успешно внедрившими ее в свои компании. Это касается технологии гибкой разработки Agile.
Вот уже более года ,можно сказать технологию Agile не упоминает и не говорит в своей работе только «ленивый» , но все ли действительно понимают и постигли Agile управление? Говоря изначально простым языком
Agile это философия , это некий образ мышления , который фокусируется на четырех простых принципах , которые закреплены в документе называемом Agele Manifest.
Слово Agile еще довольно молодо и родилось в 2001 году в Американском штате Юта , совсем маленькой горной деревне Сноуберд ,которое и объеденило в себе некий современный подход к разработке программного обеспечения.
Авторы Agile манифеста- Dave Thomas, Kent Beck , Jeff Sutherland, Mike Beedle, Ken Schwaber, Arie van Bennekum и др.
Начинание данному «явлению» было положено из отрасли информационных технологий , где в 2001 году группой людей из ИТ индустрии и было объявлено понимание о фокусировке в работе на четырех постулатах или идеях манифеста.
-Сами люди и взаимодействия между ними важнее процессов и инструментов.
-Рабочее программное обеспечение приоритетнее документации.
-Сотрудничество с клиентами приоритетнее согласования условий контакта.
— Гикая готовность внести изменения в приоритете , нежели придерживаться первоначального плана.
Говоря вновь простым языком ,все написанное в манифесте -это очень важно , но фокус на вещах которые записаны в первую очередь и находятся с левой части манифеста , а не на тех которые во вторую. То есть важны те процессы и инструменты которыми мы пользуемся например при разработке софта , но в первую очередь необходимо смотреть как люди друг с другом взаимодействуют и как друг с другом общаются. Документация это очень хорошо , но необходимо сфокусироваться на том что бы все работало , а потом дорабатываем и саму документацию Контракты это очень замечательно , но в приоритете дружеское сотрудничество с клиентами. Круто , что у нас есть план по разработке , но лучше реагировать на изменения а не «слепо» следовать постулатам плана написанному ранее. Именно успешность в работе строилась на заявленных идеях манифеста и данном образе мышления.
В 2001 году это прозвучало практически как взрыв бомбы , потому что во многом бизнес был сфокусирован на контрактах , документации и подписании документов — родоначальники же Agile подхода показали нечто иное.
В переводе на русский язык agile – означает расторопный , живой (alive) , гибкий (flexible). В применение к проектам и образу мышления — Agile подразумевает проактивность, то есть flexible с напором.
То есть это образ мышления — так можно думать-либо не думать! Agile подход нельзя делать! Им можно быть либо не быть!
Это бинарная вещь-либо –ДА! Либо –нет! Более того – мышления с присущей ей системой ценностей , несомненно похож на некую философию или да же культуру или религию-где так же присутствуют алгоритмы определенных установок, поддерживаемых человеком- его верой , влиянием на него и несомненно поведением.
Часто многие это сравнивают с буддизмом и веганством.
— Буддисты в своем поведении и вере направлены на просветление, медитацию, умеренность во всем и не причинении вреда и злобы другим.
— Веганы -нацелены на приоритет жизни любого живого организма и существа , огромно заботы о нем и экологии земной цивилизации.
Сами же сторонники Agile подхода уверяют в создание идеального продукта самостоятельными командами профессионалов. Хотя многие понимают утопичность этих слов , так как придумана технология Agile программистами с практичным ранее мышлением
Попробуем подвести резюме философии -Agile-
— Agile-‘это объединенная группа профессионалов , достигающих успеха без начальника, вместе с клиентом и постоянной готовностью изменения плана , максимально быстрый запуск действующего продукта полностью устраивающего и клиента и заказчика.
Иными словами подход представляет собой гибкую методологию или даже комплекс подходов к разработке , направленных в своих решениях на итеративный метод, динамические стандарты требований и как результат обеспечение реализованной цели в командных действиях и постоянного взаимодействия ее членов , представляющих собой часто группу специалистов разнонаправленного профиля и квалификации.
Технология Agile чаще всего имеет место быть в применении к не совсем большим группам , производящим однородный продукт или делающих работу в совокупности управлении этой группой как либеральным так и демократическим методом.
Agile управление — характеризуется минимальными рисками , достигая это путем разработки с серией небольших коротких циклов , так называемых итераций , со сроком длительности не более трех недель каждая.
Итерация представляет собой небольшой программный проект . После завершения проделанной итерации группа начинает переоценку приоритетов разработки проекта. Часто работа команды Agile проекта происходит в формате и рамках одного офиса ( bullhen) , где происходит общение по принципу «лицом к лицу», где иногда присутствует м сам представитель заказчика , определяющий и диктующий требования к продукту
. Внутри Agile много- framework ( в переводе –каркас). Это если говорить опять простым языком — есть большая философия с верху и есть конкретные инструменты исполнения.
Scrum — это один из инструментов — ограниченный набор правил, позволяющий все задуманное реализовать на практике- какими действиями ,встречами , договоренностями, инструментами и конечно же какими ролями.
Это framework , который помогает людям решать комплексные адаптивные проблемы, при этом выдавать постоянно поставлять продукт максимально возможного качества с максимально возможной ценностью ,который уже сейчас можно отдать.
Scrum- легковесный , его легко понять и им тяжело управлять! Примерно ,это выглядит так- Есть входящие данные из внешнего мира ,это какие то данные от конечных пользователей, от бизнеса, от маркетологов ,от команды тестировщиков , разработки , от всех участников процесса так или иначе связанных с продуктом , который мы разрабатываем .
Эти все вещи собирает Product Owner и организовывает все в единый список задач, которые мы когда либо будем делать , а возможно не будем делать некогда, но попытаемся проследить куда мы двигаемся , куда бежим.
Product Owner — все это делает посредством сбора всех требований , идей и прочих «хотелок» в единый документ или список , который называется- Product Backlog.
Задача Product Owner ысе это собрать во едино и выставить по приоритету- сверху положить самые важные задачи , ниже расположить менее важные задачи. Далее команда которая непосредственно будет делать продукт , а в Scram принято брать команды небольшого размера –от 3 до 9 человек , для того что бы они могли успешно между собой коммуницировать и именно соответствовать первому принципу манифеста Agile (Потому как если команда состоит из 15 -20 людей считается не совсем эффективной)_ — приходит на собрание , которое называется Sprint Planning Meeting и выбирает из Backlog приоритетные задачи к исполнение , в том объеме сколько они предположительно успеют выполнить в ближайшем «спринте».
«Спринтом» в Scrum называется итерация, то есть отрезок времени. Очень великолепно , когда мы набираем Sprint Backlog не просто списком задач а они объединены вокруг одной цели , так называемой Sprint Goal.
Принято работать таким образом , что бы не менять во время «спринта»-цель и продолжительность. ( Если договорились -2 нд, то и работаем — 2 нд), если не удалось выполнить в срок , то считаем «спринт» -провальным.
Делаем- Retrospective и «учимся» , делаем выводы почему мы не успели и как в следующий раз спланировать «спринт» таким образом что бы наши действия были успешными.
Каждый день проводится Daily Scrum Meeting на котором вся команда вместе с Scrum Master и Product Owner собираются для того чтобы понять на сколько успешно команда приближается к цели «спринта».
Все участники отвечают на три вопроса-
1 Что он сделал з а вчерашний день для достижения цели?
2.Что он планирует сделать сегодня?
3.Какие у него есть преграды или помехи на пути достижения цели «спринта».
Встреча имеет место быть ежедневно , с длительность не более 15 минут
В течении «спринта»-мы можем проводить встречу , которая называется Backlog Refinement , собравшись на этой встрече команда просматривает верхнюю часть Backlog задают Product Owner уточняющие , наводящие чтобы лучше разобраться в задачах , которые ближайшее время команде предстоит делать и делает предварительно оценку данных задач.
В конце спринта в последний день все задачи которые были сделаны , которые соответствуют критерию нашей готовности, команда показывает на Review Meeting – в настоящий момент считается что это несколько более чем показать то что команда выполнила, данная встреча позволяется оглянуться назад и показать над какими задачами велась работа в данном спринте.
В конце когда команда устраивает Retrospective-который необходим для ответов на вопросы
— Что помогает нам быть более успешными?
-Помогает достигать целей в спринте, что нам мешает?
-От чего стоит избавиться? Чего стоит делать больше и пр?
— Что нас мотивирует и что нет ?
В Scrum существуют и имеет место следующие процессы — Принципы и ценности Scrum.