Agile-метод «узаконен» манифестом февраля 2001 года. Предпосылками к его появлению стал видимый разрыв между ростом стоимости компании и скоростью выведения на рынок IT-продуктов малыми стартами и признанных «монстров» IT-разработки.
Разработка являлась территорией господства разработчика. И если результат не удовлетворял заказчика, то он сам «дурак»: не сформулировал ТЗ. Такой подход порождал объемные талмуды требований, разделения ответственности, планов коммуникаций и пр. Продукт не выводился на рынок, пока не доводился до совершенства. Это совершенство зачастую являлось «избыточным качеством» с точки зрения потребителя. Стандарты разработки и общие стандарты управления проектами закрепляли такой подход методологией.
Организационные иерархичные структуры усиливали неповоротливость компаний множеством согласований, войной приоритетов, потерями сути в коммуникациях. И фактически съедали энергию компаний.
Методы работы по Agile-принципам уже взяли на вооружение многие компании, что позволило им сделать сотрудников более самостоятельными, ответственными, активными и вовлеченными.
Итак, вот какие приемы использовали компании, которые перешли на Agile.
1. Всегда ориентируйтесь на клиента
Заказчик всегда в приоритете со своими требованиями и пожеланияvb.
Эксперт образовательного проекта EdMarket, экс-сотрудник «Европлан», РЖД и «Росатома» Елена Денисова описала кейс:
«Тогда это еще не называлось эджайлом, но это была самая гибкая, самая клиенториентированная история в сочетании как раз с автоматизацией, с процессами и полным отсутствием документации на эту тему, четких договоренностей и контроля результатов. Это была работа с независимым Интернет-провайдером в Москве. У меня была достаточно амбициозная цель укомплектовать компанию сотрудниками на сдельную оплату труда. Под эту цель нужна была команда, которая состояла бы из 16 рекрутеров».
В результате 16 рекрутеров были поделены на 4 группы, каждая из которых выполняла свой определенный выделенный функционал в части набора. Одни набирали сотрудников с одной мотивацией, другие – сотрудников с другой мотивацией, третьи набирали третий тип сотрудников. И четвертая группа подбирала вообще домашний персонал – удаленных сотрудников.
Процесс формирования команды из этих 16 сотрудников как раз и базировался на основных принципах Agile: что персонал и клиенты всегда в приоритете, и взаимодействие между людьми важнее каких-либо процессов и инструментов. Каждая группа рекрутеров была закреплена именно за тем заказчиком, которые понимали друг друга и могли максимально удовлетворить потребности друг друга.
Для рекрутеров была важна обратная связь от клиента и четкость понимания задач, для заказчика – комфортное, четкое взаимодействие, понимание профиля кандидата и представление именно того объема людей, который было необходимо найти на заданные параметры.
2. Отдавайте предпочтение рабочему программному обеспечению, а не документации
«Мы пошли не по пути документации, заполнения бесконечного количества бумаг по каждому кандидату, анкет, – описывает еще один кейс Елена Денисова. – Мы сделали очень небольшую доработку на оракле, которая позволяла нам учитывать большой поток кандидатов. И договорились о схеме взаимодействия – о том, что должно быть приоритетно.
Если в системе заказчик подтверждает наличие кандидата, мы его акцептуем, он вводится в систему, позиция считается закрытой. Когда у тебя есть задача подобрать от 300 до 600 человек в месяц – такой подход очень важен. И пока ты будешь писать бумаги, а у тебя бизнес-процесс гибкий, он может устареть».
Когда есть четкая автоматическая система фиксации результата, то это избавляет от очень многих вопросов.
3. Выстройте гибкую и оперативную работу с бизнес-процессами и персоналом
Как достичь гибкости и оперативности? Самое главное – постоянное взаимодействие с персоналом: 15-минутные встречи с каждой из групп, операционная встреча общего характера раз в неделю со всеми группами с целью целеполагания на месяц. Еженедельный контроль результата. И 15-минутки в случае изменений с каждым из руководителей групп.
«В случае, если нам было необходимо перебросить ресурсы, мы это делали, – говорит Елена Денисова. – Это было очень мягко, удобно, потому что все сотрудники находились рядом в одном пространстве, слышали друг друга и могли поддержать руководство в этом плане».
Если в рабочий день компания выпадала из процесса, то сотрудники обязательно выходили в выходной, чтобы поддерживать высокий уровень оперативности. Также между группами был налажен процесс обмена идеями: как они достигают того или иного результата.
По итогу месяца в компании был переходящий кубок группе, которая выдала максимальный результат. И в момент его вручения команде предоставлялось слово, и они рассказывали о тех фишках, которые они применяли в достижении результата. И таким образом происходил взаимообмен эффективных практик
4. Зафиксируйте четкий промежуток времени (спринт), в течение которого должны выполняться задачи
«Для нас оптимальным спринтом стал месяц, что тоже интересно, так как, например, при разработке софта идеальным интервалом считается две недели, – приводит пример руководитель отдела управления персоналом SibEDGE Валерий Сергеев. – В этот интервал у нас происходит планирование выполнения стратегически значимых задач, которое занимает небольшой процент времени, остальное уходит на выполнение текущих задач. Следующим обязательным условием является проведение ежедневных стендапов. Тут все четко следуя канонам: заданный регламент по времени и стандартные вопросы».
Это прежде всего помогает всей команде получать информацию, а также как можно раньше вытаскивать проблемы и решать их, как говорится, «не отходя от кассы».
Все итоги стендапов важно фиксировать для последующего анализа. По завершению спринта, следует провести ретроспективу – очень важный элемент командной работы, который позволяет вспомнить все положительные и отрицательные моменты в процессе работы, проанализировать их и понять, что необходимо предпринять для увеличения эффективности и качества функционирования отдела. А если к этому мероприятию подходить творчески, то результатом станет 100%-ная вовлеченность, и, как следствие – максимальный результат.
«Итог – через несколько месяцев подобной работы мы заметили эффект такого взаимодействия, – резюмирует Валерий Сергеев. – Стратегические задачи выполнялись, проблемы решались. Примечательно, что с каждым следующим спринтом количество проблем уменьшалось, команда становилась более сплоченной». Тем не менее, нужно понимать, что кому-то не подойдет такой способ работы, и он может покинуть команду. К этому нужно быть готовым. Но с точки зрения достижения общего успеха этот риск всегда оправдан».
5. Создайте самоорганизующиеся команды
«В нашей компании нет нормированного труда, а только поставленные задачи группе и ограниченные требования, описанные в ТЗ, – говорит генеральный директор компании «Дом Ковчег» Наталья Брайловская. – Команда должна самоорганизоваться и выполнить эту задачу в срок. Человек в компании, использующей гибкие методики, должен быть самоорганизующимся. Обычно наши сотрудники, которые вошли в группу, сами разделяют между собой задания и затем докладывают руководителю проекта об их реализации».
Практически в ежедневном режиме сотрудники озвучивают проблемы, и путем мозгового штурма их коллективно решают. И архитекторы, и начальники цехов обсуждают, как решить задачу, чтобы цепочка была единой и не давала сбоев. Предоставьте людям свободу, дайте им возможность проявить творчество, креативность – и уровень вовлеченности вырастет.
6. Измените должностные инструкции
Традиционные инструкции не поддерживают подход Agile. Они не могут быть директивными, излишне детальными или ограничивать индивидуальность.
Упростите их, сделайте легко адаптируемыми для того, чтобы поощрять развитие всесторонних навыков и сотрудничество. Используйте тон и язык документации, подходящие для ее пользователей.
7. Используйте Lean подход
Lean – это бережливый подход, который позволяет экономить ресурсы и устранять все виды потерь.
«Внедряя Lean подход, мы начали с системы продаж, но хотим внедрять их во все сферы бизнеса, – говорит Наталья Брайловская. – Анализируем, что у нас много входящих заявок на заказы, и менеджер тратит много времени на их обработку. Проанализировав ситуацию, мы стали выводить вопросы, которые нужно задавать клиенту – и в зависимости от этого будет зависеть следующий шаг менеджера. Одним этим мы очень сильно упростили общение между клиентами и менеджерами».
Сейчас, исходя из анализа текущей ситуации, компания разрабатывает скрипты, чтобы упростить работу, убрать лишние ходы: проблемные места на производстве, потери во времени, потери материалов. Для этих целей вводятся стандарты, регламенты.
8. Выстройте эффективные коммуникации между сотрудниками, клиентами и руководством
«Думаю, что новые задачи бизнеса – это цель его развития: мы выбираем направление и движемся к нему, – говорит Наталья Брайловская. – Любые предложения персонала просматриваются, и часто среди идей встречаются очень полезные вещи, и мы их принимаем. К некоторым предложениям позже обращаемся, чтобы не менять резко заданное направление. Вообще, налаженное взаимодействие между сотрудниками, клиентами, руководителями очень важно – люди должны понимать ответственность друг перед другом и за результат работы команды».
Гибкие методики позволяют комфортно взаимодействовать с заказчиками, предоставляя тот результат, который они ожидают. И всю команду важно настраивать, что это самое важное. Чтобы произвести хороший продукт и постараться соответствовать ожиданиям клиента – важны усилия абсолютно всех звеньев цепи. Мы все друг от друга зависим, и в конечном итоге от нас зависит результат.
9. Предоставьте людям самостоятельность, творчество. Используйте к ним индивидуальный подход
«Людям начинают давать возможность влиять на процессы, быть активными участниками того, что они делают, – говорит генеральный директор компании «Управед» Борис Тунников. – Принципиально новое в том, что сейчас происходит – это переход от управления через иерархию, к управлению через создание среды. Иерархия – это когда из людей вытачивают шестеренки и пытаются загнать в некие рамки. Стало очевидно, что когда этот подход масштабируется, мы получаем крайне инертную неповоротливую систему, которая не работает в современных условиях».
Сейчас важно создавать коллектив, в котором у людей появляется возможность быть деятелями процесса, а не исполнителями. В таких компаниях каждому позволяют самореализовываться на рабочем месте. Но каким образом привлекать и удерживать тех самых эффективных людей, увлеченных и вдохновляющих процессами?
«Важно наличие общей цели, желательно хоть как-то коррелирующей с их личностными ожиданиями, – говорит Борис Тунников. – Также важно не только ставить задачи соответствующего уровня, но и предоставлять соответствующие полномочия. Причем, достаточно принципиальные – например, полномочия на изменение бизнес-процессов. Если круг сотрудников говорит, что им удобно работать в определенных условиях, то существующие надо поменять».
Это радикально важная часть идеологии. То есть раньше в компании работали «генералы», руководители, вообще невосприимчивые к обратной связи. Но сейчас очевидно, что генеральский подход больше не работает. Все чаще необходимо, чтобы руководитель мог вдохновлять, быть в неком роде коучем. Пришла пора перестать командовать: время директив прошло.
Что нужно сделать в части HR для внедрения Agile?
- Лидеры (оставшиеся руководители) должны стать носителями Agile-принципов – Обучите их.
- Стирайте классические границы «начальник-подчиненный». Функции планирования и контроля переходят командам, у начальника остается обучение, коучинг, недопущение и разрешение ситуаций «неуспеха».
- Примите решение, в каких процессах, проектах и подразделениях будет применяться непосредственно Agile-разработка, а в каких – принципы принятия решений, коммуникации и действий Agile.
- Организационная структура должна отражать «самый короткий путь» создания основных продуктов компании. Уменьшите количество уровней управления, уберите контролеров, создайте постоянно действующие рабочие команды, создающие ваш продукт.
- Команда должна быть вместе – Организуйте рабочие места для команд.
- Agile-метод должен стать «родным» для компании – адаптируйте Agile на нескольких небольших тестовых проектах-пионерах. Создайте свой Манифест.
- Каскадируйте свой Agile на все команды через внутреннее обучение.
- При найме сотрудников отбирайте тех, кто понимает и разделяет принципы Agile.
- Гордитесь успехами Agile-команд! Делитесь этими успехами, используя разные каналы коммуникации и корпоративные мероприятия.
- Поощряйте подход «проблема – это возможность» для достижения лучшего результата.
- «Работающий продукт — основной показатель прогресса».
Дорогу осилит идущий!
Читайте также:
Это его, заказчика, проблемы. В этом вся и штука.
Троллить и обидеть - это не про разработку ПО. Попробую обьяснить по-другому. Представление заказчика о конечном результате разработки - не статично. Оно меняется, даже в ходе обсуждения проекта. Только, нужно учитывать, что на этапе составления проекта, эти изменения "дешевле", чем на этапе программной реализации.
Вопрос тут в следующем: за чей счет этот "банкет". Потому, что, если считать стоимость реализации продукта в "конечном виде" - это будет одна сумма. Если учитывать промежуточные этапы и обсуждения - другая. Мне рассказывали случай, когда разработки одного программиста, под руководством экономиста, зашли в тупик и было предложено "начать сначала". То есть, видимый результат был нулевой, при ненулевой работе. На бытовом уровне, эту ситуацию хорошо иллюстрирует мультик "Автолюбитель" от Олега Куваева. Там заказчик, вроде, прав и не платит за поездку, раз не достиг цели поездки и водитель, вроде, тоже прав, так как все время следовал указаниям заказчика, потратил свое время и бензин.
В таких ситуациях, я полагаю, эмоции бывают сильнее, чем "троллить и обидеть" потому что, компания-разработчик может не пережить этот проект, как вариант. Настолько все серьезно. И этот манифест, эджайл, создавался с учетом всего этого.
С другой стороны, если эджайл рассматривать в отдельности от управления продуктом, она теряет половину смыслов. Потому, вероятно, и является предметом споров в ИТ-среде.
С точки зрения управления продуктом, нет смысла тратить деньги на его разработку в конечном варианте, если он, по итогу, своей аудитории "не зашел". С точки зрения управления продуктом, характеристики продукта, который зайдет целевой аудитории по нашему мнению и по факту - разные вещи. Это не директор Иванов одного предприятия со своими сотрудниками и с туманными, но тем не менее, "конечными" представлениями о разрабатываемом продукте. Это работа на большую аудиторию, со своими методами анализа потребностей и планирования реализации. Если всего этого не учитывать, то и разговор, как бы, смысла не имеет. Потому что, как методология - это комбинация классических методов подогнанная под итеративный подход к разработке.
Проблемы заказчика неизбежно становятся проблемами исполнителя. Насколько серьезными - зависит от контракта.
Никому (обычно) не нужен бесконечный проект с нелимитированным бюджетом.
Троллить - это не ко мне.
Естественно, что в процессе проектирования, обсуждения и согласования изменения вносить проще и дешевле.
У проекта есть бюджет. Я не рассматриваю бесконечный НИР или НИОКР как пример для подражания.
При оценке бюджета проекта есть оценки заказчика и исполнителя. Если стороны соглашаются, то готовится контракт, который стороны обязаны выполнять.
Программист в Вашем примере работал за зарплату? Тогда это проблема его работодателя.
Agile - это Agile. Agile Manifesto - это просто некий текст. Выше я уже писал о том, какого калибра были люди, которые его подписывали, Там же несколько слов по поводу того, в связи с чем этот подход к созданию ПО начал широко обсуждаться.
Проекты изначально имеют вероятностную природу, точных оценок не бывает, как не бывает и проектов без рисков. И заказчик рискует не меньше, если не больше исполнителя.
Совершенно согласен.
Это вопросы к менеджеру продукта и маркетингу, а не к разработчикам. Стратегия вывода продукта на рынок - не самое простое упражнение. Используется ли Agile или нет, какие у разработчиков вкусы и предпочтения, какие книги они читали и т.д., покупателя в широком смысле не интересует.
Тут сразу несколько проблем, но для меня все варианты Agile (их много) относятся к методам уменьшения неопределенности в проекте на этапе разработки и тестирования. В больших и небольших проектов у этих методов есть своя специфика прменения.
"Вопрос конечно интересный" (С)
Мы решаем это следующим образом. Цена проекта определяется как составляющая двух параметров - трудоемкость (с чел.днях) и цена 1(одного) чел.дня.
Представляя банку (наш клиенты) нами разработанное ТЗ на утверждение мы указываем трудоемкость этапов с разбивкой по нашим специалистам и стоимости чел. дня по ним.
У наших клиентов (банки) не "лохи" сидят. У них почти во всех, а в крупных обязательно, есть свои IT-отделы. Попытки обмануть ИСКЛЮЧЕНЫ. Мы играем в честную.
Поэтому, при изменении в процессе разработки требований мы со специалистами банка обсуждаем и договариваемся увеличилась ли трудоемкость или нет. И если даже наша разработка по каким либо причинам банком не принимается то все равно наши трудозатраты актируются банком и оплачиваются.
Конечно в процессе есть ньюансы. О всех не расскажешь. Но важную роль играет наш авторитет, доверие и умение (искусство;-)) вести переговоры.
Если других затрат нет, а заказчик с этим согласен - отлично. Но, как мы видим на практике, это только первый вариант цены.
Тут первое потенциальное нарушение правильного порядка вещей. Как обычно формулируются требования заказчика, которые Вы (!) оформляете в виде ТЗ для согласования?
Кто источник? Кто их подписывает?
Этапность и калькуляция стоимости в данном случае - это обоснование цены и не имеет отношения к возможному изменению требований в будущем.
В чем их роль при инициации проекта, если они не авторы ТЗ?
Проверка калькуляции трудозатрат?
Это означает, что в Ваших проектах используется контрактная схема Time & Materials. Рад за Вас! Заказчик несет основные риски, даже если продукт не будет внедрен. Исполнитель защищен лучше.
Но вопрос неконтролируемого раздувания бюджета проекта и срыва сроков остается открытым. Увы, это объективная реальность.
Это, возможно, самое важное в проекте. Без взаимного доверия все остальное - юридические ухищрения.
До утверждения в процессе переговоров и согласования ТЗ - разные варианты.
Работы по разработке ПО на рынке автоматизации банков носит специфический характер.
Так после утверждения ТЗ различными подразделениями банка - цена финишируется и поступает в бюджетный комитет на утверждение ВСЕГО банковского проекта, где наша работа всего лишь часть. Бюджетный комитет закладывает в своих (банковских) проектах риски по срокам и деньгам и выделяет деньги на весь банковский проект включающий все!! расходы банка.
В разных банках и в разных проектах по разному.
Источником может быть любое подразделение банка. Чаще всего это либо бухгалтерия либо бизнес. "Ведет " наш проект обычно подразделение IT.
Подписывают до опреленных сумм руководители IT, а для больших сумм вице-президенты, отвечающие за IT.
Имеет!! И очень большое!
Изменение требований влечет за собой изменение трудоемкости и тем самым является ОСНОВАНИЕМ для изменения как цены так и сроков как в большую так и в меньшую сторону. Эти условия заложены в нашем с банком контракте.
С точки зрения формирования бюджета - все нормально. Финансисты понимают, что расходы могут увеличиться и что-то добавляют в резервы - на всякий случай.
Тем не менее, начальная согласованная цена и финальная - после приемки - скорее всего, будут отличаться, если я правильно понял Вашу контрактную схему.
Вопрос, хватит ли резервов. Надеюсь, что хватит.
Как основание для изменения бюджета и сроков, внесения изменений в контракт - да, это понятно.
Но сам факт изменения заказчиком требований, их новый список, приоритеты, содержание и пр. имеют другую природу. В связи с чем требования поменялись? Это последний раз? Причин и ответов может быть сколько угодно.
Что Вы понимаете под "авторством"? ТЗ с точки зрения авторства - это коллективное творчество. Мы его готовим технически. Под "хотелку" от инициатора собираем требования от других подразделений. О их влиянии инициатор может и не знать. IT подразделения отвечают за технику, за будущее сопровождение, за возможные ошибки в работе системы, за всю эксплуатацию ситемы которую мы разрабатываем и им передаем. Объем ТЗ достигает до 150 листов А4.
Нет.
Зафиксированные сроки и деньги под этап. И если требования к этапу не изменились. т.е. не подтверждены документарно от банка, то соблюдение сроков и наши затраты - НАША ПРОБЛЕМА. Т.е если мы первоначально ошиблись в определении денег и сроков то все проблемы наши, а по срокам еще и штрафы платим банку.
У нас такой проблемы нет.
По бюджетам банка такого быть не может. Банк без объективных причин платить не будет. Вот мы можем влететь в отрицательную рентабельность.
Но тут уж компетенции сотрудников и "искусство" управления компанией/проектами - залог успешной деятельности на рынке.
Риторический вопрос: а почему бы в банке не обсудить все это самим, чтобы все подразделения всё узнали, поняли и оценили последствия?
Я много раз был в подобной ситуации как исполнитель, но ничего хорошего для проекта в этом не вижу.
Цитирую Вас из более раннего комментария:
Тут есть некое противоречие:
То есть Вы не выполнили что-то еще, что написано в контракте? Оплачивается результат в обговоренные сроки и налагаются штрафы, если результата нет?
Тогда зачем нужны человеко-дни и их стоимость по каждому исполнителю - если только не для убеждения, что Вы лишнего с заказчика не берете?
Тогда Ваша компания уникальна!
Все остальные об этой проблеме знают и думают, как бы этого избежать.
Единственная причина платить для банка - это контракт.
Искусство вполне можно оставить без кавычек!