Лайфстайл

Agile технологии. Методология Agile

Такие подходы также иногда называют фреймворками или agile-методологиями.

Agile возник в IT-среде, но затем распространился и в другие сферы – от промышленной инженерии до искусственного интеллекта.

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

Если говорить о том, что такое agile, я бы ограничился такой фразой – это набор ценностей, в рамках которых мы строим свою работу с продуктами, с процессами внутри организации.

(Управляющий партнер ScrumTrek Алексей Пименов в на Rusbase)

Слово экспертам

Владимир Овелян

Владелец и генеральный директор Dostаевский

В зависимости от задач мы применяем разные методы в рамках философии – agile, scrum, kanban.

Scrum позволяет развить в сотрудниках необходимые качества – проактивность, самостоятельность, организованность, коммуникабельность и дальновидность. Основной смысл метода – это выполнение задач в самоорганизующихся командах, где у каждого есть своя роль и каждый несет ответственность за свою часть работы. Используя scrum, мы проводим опросы персонала, составляем графики ожидаемой скорости выполнения задач.

Agile мы используем во внутренних коммуникациях. Недавно провели очередной спринт по ликвидации опозданий сотрудников. Все начальники и специалисты, задействованные в проекте, провели целый день на совещании, обсуждая достижения, проблемы и предстоящие задачи в новом спринте.

Сейчас мы активно внедряем в компании метод kanban. Цель внедрения kanban – повысить гибкость производства, лучше приспосабливаться к изменяющимся требованиям рынка. На практике метод помог нам добиться соответствия между складскими запасами и реально используемыми в производстве продуктами.

Виталий Сотников

Креативный директор Бюро визуальных коммуникаций «Черника»

Илья Шихалеев

Ведущий разработчик и скрам-мастер iSpring

Scrum принес в нашу команду ритмичность и понимание - успеваем или не успеваем в срок. Мы видим скорость работы команды, нет ощущения постоянного факапа. Раньше были ситуации, что перед жесткими релизами scrum куда-то пропадал и все начинали просто фигачить - сейчас у нас это пропало, есть постоянное ощущение, что успеваем в срок. Если появляются риски, мы обсуждаем их с PD на ранних этапах, корректируем план или уменьшаем объем задач каким-то образом.

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

Евгений Россинский

Директор по технологии в онлайн-кинотеатре ivi

Для наглядности и открытости работы отдела разработки мы повесили специальную доску с пометками “to do”, “in progress”, ”review”, ”test”, “done”, где все члены команды наклеивают стикеры с задачами (в колонке “to do”), а по мере их выполнения перемещают в последующие пункты. И счастливый финал – конечный пункт “done”. Это помогает составить общую картину и дает возможность видеть, над чем работает каждый участник.

Очень важный момент метода (и организации рабочего процесса): после утверждения всех задач (“to do”), список блокируется на внесение. Так новые поступающие задачи не отвлекают от процесса и не тормозят работу.

Все участники также оценивают каждую задачу на предмет временных и материальных затрат, которые потребуются на выполнение. И вишенка на торте – еженедельные встречи в определенное время (Daily Scrum), где каждый член команды коротко рассказывает о том, что собирается сделать сегодня, что сделал вчера (и столкнулся ли с какими-то препятствиями). Это важно на пути к долгосрочным задачам – именно так можно вовремя понять, что пора сменить стратегию.

Рассказываем, что представляет собой лежащая в основе методология, раскрываем основные понятия, объясняем, как устроена agile-команда и как оценивается ее эффективность.

Agile - это целое семейство методологий гибкого управления проектами. Интересно, что само понятие управления здесь оказывается не вполне верным. Было бы более точным употреблять формулу «Agile - это способ командного взаимодействия, позволяющий совместно создавать продукты». Однако мы слишком привыкли к силе вертикальных, иерархических связей, поэтому и здесь устойчивым стало употребление слова «управление».

Неудобные вопросы

  • Как сделать так, чтобы задержка в работе одного отдела не останавливала остальных?
  • Как справиться с тем, чтобы разработка плана проекта не занимала до 30% времени от всего объема его реализации?
  • Как, в конце концов, добиться того, чтобы эти планы соблюдались?

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

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

Оказалось, что искать ответы на большинство этих больных вопросов просто незачем. Их нужно снять, а понятия, их породившие, по возможности упразднить. Так на месте поэтапной waterfall-разработки возникли гибкие методологии.

Делай сразу!

Главное мерило эффективности, принятое в гибкой методологии, - продукт. Пока другие только готовят документацию, agile-команды стремятся представить работоспособный прототип. Это - как в знаменитой мотивирующей формуле «сделано - это лучше, чем идеально». Реализуйте первую функцию и начните тестировать ее, создавая следующую, и так раз за разом - вот главное правило.

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

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

Горизонтальная организация

Agile-команда строится на принципах самоорганизации и относительного равенства всех участников. Даже человек, которого многие представляют главой проекта, product owner, на самом деле - лишь персонификация требований к продукту. Он выполняет роль носителя знаний о том, каким ожидается конечный результат, но отнюдь не является управляющим в стандартном понимании. Поскольку привычка к иерархичности трудноискоренима, во многих командах product owner’у, увы, приходится брать на себя и контролирующие функции. Но идеалом гибкой разработки является коллективная ответственность членов команды друг перед другом.

Принципы формирования agile-команд разнятся в зависимости от конкретного проекта. Например, в музыкальном сервисе Spotify они строятся вот так:

Еще одна важная ценность agile-команд - взаимопроникновение знаний. Член команды не должен замыкаться в своей узкой области, ему следует стремиться к кросс-дисциплинарности. Это не значит, что программист должен быть и продавцом, а дизайнер - маркетологом.

Но иметь базовые знания о смежных специализациях в гибкой разработке необходимо.

Изначально предполагалось, что это просто будет повышать эффективность работы и уровень взаимопонимания в команде, но сегодня, с развитием нейронаук, стало понятно, что такой подход вдобавок обеспечивает поддержание мозга в тонусе и динамичное создание новых нейронных связей. Такое перекрестное опыление знаниями в Agile называется t-shape. Иллюстрация ниже объяснит, почему так, лучше всяких слов.

Как внедрить Agile?

Переход от каскадной разработки, до сих пор привычной для многих организаций, к гибким методам работы над проектами может быть довольно болезненным.

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

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

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

Agile, появившийся как метод разработки ПО в небольших командах лет 10-15 назад, сегодня становится новой культурой управления большими компаниями. Благодаря недавнему выступлению Германа Грефа термин Agile входит в лексикон всех современных российских менеджеров.

Что же такое Agile и почему этот метод называют чуть ли не единственно правильным?

Существует классический подход к созданию продуктов и сервисов, характерный в первую очередь для ИТ-индустрии. Этот подход называется каскадная, или итеративная методология разработки. В английской терминологии такой подход называют waterfall development (от англ. - водопад). Почему его называют водопадом? Потому что при такой схеме разработки, однажды утвердив план программного продукта, вы не сможете этот план остановить или изменить до его создания.

Аgile - подход инновационного переосмысления создания нового продукта или услуги. В его основе очень простая идея: каждый участник процесса, каждый сотрудник этой «конвейерной сборки» должен вовлекаться в процесс переосмысления своих задач и общего дела. Каждый может остановить конвейер и внести свои рациональные предложения.

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

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

Так происходит изменение бизнес-культуры самого предприятия. В рамках программ МBА есть целый курс, который касается организационной структуры компании. В нем существует понятие эквилибриум, когда внутри начинающих компаний и стартапов все делают все, зачастую именно поэтому там рождается дружный коллектив, эффективно выступающий на рынке. И с точки зрения эффективности и вывода на рынок новых идей, это идеальная организационная структура.

Безусловно, есть организации, которым Аgile вовсе не нужен. Например, государственные ведомства. Их деятельность основывается на законодательстве. Мы не сможем взаимодействовать с государством, если правила игры меняются каждый день.

Таким образом, мы имеем две радикальные противоположности организационной инфраструктуры. С одной стороны - строжайшая бюрократическая заформализованная организация, которая применяется в тех или иных случаях и хорошо работает в определенных ситуациях. И полная диаметральная противоположность ей - молодые стартапы, команды единомышленников, которые действительно создают нечто новое, и Agile находится гораздо ближе к состоянию эмоционального коллектива, который работает на конечную цель, работоспособный качественный (программный) продукт. И поэтому проблемы, возникающие на любом этапе, - это проблемы всех людей, и все, кто способен их решить, вовлекаются в этот процесс.

Переход большого классического бизнеса (Enterprise) к Agile

Это крайне важный вопрос, и он очень интересен. Об этом говорит весь мир, об этом же сказал Герман Греф. Он сказал: «Ребята, мы - банк, наши конкуренты не банки, наши конкуренты - молодые компании, привносящие ""цифру"" в общество».

Передовой бизнес базируется на трех китах: опыт и знания в индустрии (в которой работает бизнес), разработка продуктов и сервисов по методологии Agile и самое главное - инновационная культура.

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

Очень простой пример - микрофинансовые организации. Это фирмы, создающие сервис буквально щелчком пальцев. Сегодня компания появилась, выдала кредит под невероятно высокий процент - завтра у нее прибыльность в разы больше, чем у банка. Такие организации могут мгновенно перестраивать свои сервисы и продукты, оперативно выходить на новые рынки, вытесняя классические банки.

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

Гибкое планирование

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

То есть Agile становится не просто методологией создания нового ПО, а системой гибкого планирования развития всей компании. Должна быть построена такая инфраструктура, которая так же гибко реагирует на запросы, поступающие от клиентов, и требования, меняющиеся в процессе разработки программного продукта и его эксплуатации (это, кстати, подразумевает тотальный переход к облачным технологиям).

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

Читайте материал

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

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

Agile, с точки зрения управления проектами будет необходим вашей компании, если:

  • ваш продукт, услуга или представление продукта нуждается в постоянной корректировке.
  • если вам необходимо корректировать маркетинг, согласно требованиям рынка.
  • если вы заинтересованы внедрить инновации, для увеличения прибыли и снижения издержек.

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

Аджайл методология (agile методология) позволяет сформировать agile команды нового типа управления и лидерства, при этом обеспечив прозрачность и эффективность процесса, скорость принятия решения, разработки, адаптации и масштабирования продукта, а также умения реагировать на неопределенности, изменения и кризис.

Agile методология что это?

Можно ли сказать, что эджайл это инструмент кризис-менеджмента и управления изменениями? Определено Да!

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

Как правильно внедрить Agile?

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

Agile организация требует изменения мышления, подхода к работе и принципов взаимодействия как в команде, так и в лидерстве, вы к этому готовы? А ваши сотрудники? Заметим, что это очень важный вопрос, который обычно многие упускает из внимания:

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

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

Agile методы могут разрушить ваш бизнес и это зависит именно от вашего бизнеса, от ваших бизнес-процессов а не от вас самих или ваших сотрудников.

Когда нельзя внедрять Agile

Есть простое правило:

Agile методологию можно использовать, только тогда когда вы готовы платить за ошибки.

Agile методология дает не только результат:

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

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

  • персональный и групповой коучинг.
  • ваши коллеги разделяют ценности Agile команды
  • вы настроены внедрить Agile в организации во все необходимые бизнес-процессы и осознаете риски внедрения Agile в управлении проектами.

И повторюсь еще раз: Agile методология это мышление, а не только инструменты.

А мышление, подразумевает под собой: отношение к результату и коммуникациям, а так же правильно выстроенную обратную связь, что очень важно если вы планируете применять гибкие методы управления проектами.

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

Алгоритм внедрения Agile в компании

Давайте рассмотрим ориентировочный алгоритм внедрения Agile методологии в текущие бизнес-процессы компании, ориентируясь на Agile в управлении проектами:

  • Начинаем с целей: Какие цели вы стремитесь достичь, внедрив Agile методы управления? И насколько эти цели соответствуют Agile организации.
  • Описываем проблематику вашего бизнеса или отдела, который вы выбрали для внедрения пилотного проекта Agile, если в этом есть необходимость опишите какого стиля вы придерживайтесь в работе, как вы обмениваетесь мнениями и отслеживание достижение результата.

Конечно, следующим этапом напрашивается, классическое «как надо», но здесь спешить не стоит, так как откуда вы знаете как надо? — Agile методология перестраивает мышление и при внедрении Agile в управлении проектами необходимо создать эффективную коммуникационную среду для построения диалога между участниками Agile команды.

Построение Agile команды в компании

Сформировать Agile команду можно довольно быстро, на это может потребоваться несколько дней, но сколько времени потребуется на «притирку» участников команды?

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

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

Agile методология это:

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

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

Дамы и Господа, Agile методология необходима в управлении компанией, но она требует гибкого подхода к внедрению и новых идей, в то время как использование старых методов приведет к результатам, которые не позволят Вам добиться новых целей и выстроить конкурентоспособность компании. Поэтому будьте очень внимательны, когда вы выбираете консультантов по Agile методологии, оценивайте их степень адаптивности к требованиям современного рынка, ваши вопросы приветствуются, пишите в комментариях. Спасибо!

Сложной найти человека, который не желал бы, чтобы к нему относились с уважением. Но для такого положения дел должна быть причина. Например, когда человек является высококлассным признанным специалистом в сфере разработки программного обеспечения. А для этого необходимо учиться. И в рамках данной статьи будет рассмотрено, что такое Agile, какова польза от нее, и как разобраться в этой технологии.

Общая информация

Первоначально давайте разберёмся с техническими моментами. Что собой представляет Agile? Перевод (дословный) этого слова с английского языка - «живой, подвижный», немногим реже упоминается «гибкий». И кстати, это сокращение. Полное название этого подхода это Agile software development. Но поскольку это слишком долго, то и было решено сократить. И сейчас говорят просто Agile. Перевод как «гибкий» используется из-за того, что он в наибольшей мере соответствует реальной ситуации.

Что же сюда включено?

Продолжаем рассматривать, что такое Agile. Здесь хочется сконцентрировать внимание на том, что это гибкий подход, в основе которого лежит множество различных ХР, "Канбан", Lean). Для того чтобы лучше разобраться в теме, давайте проведём параллели. Допустим, что Agile-технологии - это процесс зарождения Вселенной. Конечный продукт - непосредственно сам существующий мир. А большой взрыв - это наиболее болезненная проблема, с которой только приходится встречаться, - изменение перечня требований к продукту. Обычно процессы создания подразумевают использование каскадной модели. В этом случае всё идёт последовательно и по этапам. Такой подход можно выразить кратко: вижу цель - иду к ней. И если меняются требования к конечному результату, то иногда приходится переделывать заново едва ли не всё. Что еще усложняет такую ситуацию, так это попытка сделать вид, что всё нормально, и нужно двигаться вперед.

И вот управления, призвана бороться со всем этим благодаря своей гибкости. Эта сборная "солянка" минимизирует различные риски посредством использования наборов принципов. Все они отражены в Agile-манифесте, выпущенном в 2001 году. Если кратко, то звучат они следующим образом:

  1. Главное - это люди, а не вещи.
  2. Сотрудничайте, а не читайте контракт.
  3. Документация не должна мешать работать.
  4. Меняйтесь настолько быстро, насколько это возможно.

Может показаться, слишком расплывчато и не точно, но давайте детализируем.

Устройство процессов

Рассматривая, что такое Agile, давайте обратимся к одной из самых популярных методичек, известной как "Скрам" (Scrum). Что же она предлагает? Для начала нужно:

  1. Выбрать владельца продукта. На эту роль подходит человек, что видит, к какой цели нужно идти, и что будет в конечном итоге.
  2. Определиться с командой. Для этого необходима группа, численностью от трех до десяти человек, что владеют навыками, позволяющими получать результат.
  3. Выбрать ответственного специалиста. Это человек, что будет следить за развитием проекта и помогать команде обходить трудности.
  4. Разобраться с трудностями. Следует собрать в одном месте все существующие требования к продукту и расставить приоритеты. Владелец продукта должен собрать здесь все свои пожелания. Потом команда их оценивает и разбирается, можно ли это реализовать, и сколько времени для этого нужно.
  5. Следует разбить весь объем работ на отрезки времени, длиной в неделю или две, во время которых команда будет выполнять определённые наборы задач.
  6. Ежедневно следует проводить встречи, длиной не более пятнадцати минут. На повестке следует обговаривать, что было сделано вчера, какие планы на сегодня, и преграды, мешающие брать высоту.
  7. Делать обзоры по итогам недели (двух), во время которых командой рассказывается о том, что было сделано. При этом необходимо демонстрировать работоспособность частей продукта.
  8. После каждого временного периода необходимо обсуждать проблемы и искать решения. Причем все наработки необходимо внедрять сразу.

Как опознать Agile?

Методология управления независимо от выбранного направления всегда обладает такими особенностями:

  1. Минимизация рисков. Это главная цель, которую преследует любой гибкий подход.
  2. Итеративная разработка. В данном случае подразумевается работа в небольших циклах.
  3. Самое важное - это люди и коммуникация между ними.

Давайте представим реку. На одном берегу заказчик. На втором - команда. В таком случае гибкая методология разработки имеет преимущества для всех:

  1. Заказчику нужен минимально работоспособный продукт. При этом во время его создания могут меняться условия.
  2. Команде полезно общаться с коллегами и заказчиком. В таком случае минимизируется риск быть неправильно понятым, увеличивается прозрачность процессов, быстро решаются проблемы, уменьшаются шансы того, что будет неожиданность при создании продукта.

Социальный фактор

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

С момента своего формирования он смог сыскать признание в технологических отраслях. На данный момент широко используется для проектирования новых программных продуктов. Но в рамках общем деловой практики подобный подход всё ещё малоизвестен. Поэтому к нему осторожно относятся те, кто не встречался с Agile ранее. Также следует понимать, что его следует применять только в тех случаях, когда перед людьми стоит задача интеллектуального труда.

Небольшой пример

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

Поскольку используется гибкая методология разработки, то пользовательские истории не копятся до большого релиза, а выпускаются сразу после завершения и как можно чаще. Количество обработанных обращений составляет пропускную способность команды на неделю. Чтобы не потерять темп и не увязнуть в ручном тестировании, команда должна работать над автоматизированной интеграцией. В чем она заключается? Для каждого рабочего момента пишется автоматический тест. Если историй слишком много, то может возникнуть спешка, потеря мотивации, снижение производительности и качества. На такие случаи предусмотрен метод «вчерашняя погода». Он заключается в том, что нужно установить жесткие рамки количества работы и тщательно выбирать, что именно будет реализовываться. Упомянутый ранее "Канбан" предлагает устанавливать лимит задач.

А что делать с очередью?

Ладно, вот команда решила, что она может обрабатывать четыре истории на неделю. Но как сориентироваться во всём, что есть? Допустим, пользователи подкидывают по десять историй на неделю. Обрабатывается четыре. Таким образом, очередь будет постоянно расти. На этот случай есть только один эффективный метод - слово "нет". Для владельца продукта это чрезвычайно важно. Сказать «да» не трудно. Значительно сложнее и важнее решить, что не нужно делать. Причем за это необходимо ещё и нести ответственность. Поэтому следует решать, чему уделять внимание сейчас, а что следует отложить. Чтобы правильно нужно чтобы владелец продукта понимал ценность и объем каждой истории.

Принимаем решения

Часть историй чрезвычайно нужна. Другие же просто представляют собой приятный бонус. Одни истории будут разрабатываться несколько часов. На создание других уйдут месяцы. Многие часто проводят соотношение между размером истории и её ценностью. Но это не всегда правильно. Больше - не равнозначно лучше. Петру правильно рассматривать приоритеты помогает сложность и ценность выполняемой задачи. Как определить эти характеристики в количественном значении? Да никак. Это настоящая игра в угадайку. И для большей эффективности в неё необходимо вовлекать достаточно много людей. Это и команда разработчиков, которая проинформирует про объем работ, и заинтересованные лица. Но следует понимать, что все данные, полученные таким способом, представляют собой приблизительные догадки. Здесь не бывает точных цифр. Первоначально будут промахи. Но по мере получения опыта их количество и масштаб будут понижаться.

Возможные риски

Для избегания проблем необходимо дать честные ответы на ряд вопросов. Это:

  1. Правильные вещи ли мы делаем? Это бизнес-риск.
  2. Можем ли мы реализовать то, что нужно?
  3. Будет ли работать проект на данной платформе. Это технический риск.
  4. Хватит ли денег, и успеем ли? Это риски сроков реализации и стоимости.

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

Как обучиться?

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

Что ждёт в будущем?

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

В заключение

Вот и закончился экскурс в гибкие Но следует напомнить, что одно дело теория, а совсем другое - практика. Новые информационные технологии, что постоянно возникают, бросают вызовы многочисленному сообществу разработчиков. Как сделать деятельность команды более эффективной? Ответ на этот вопрос каждый находит сам. Представленная здесь информация может быть использована для того, чтобы оформить костяк. Но на практике придётся работать с имеющейся моделью и доводить положение дел до состояния соответствия существующим вызовам. Тогда команда сможет эффективно выполнять поставленные перед нею цели.