Что такое Agile контракты?
Agile контракты – это гибкая методология поддержки деловых отношений в цепочке «клиент – исполнитель».
Какие есть основные модели Agile контрактов?
C чем связаны риски Agile контрактов?
Чаще всего основные риски связаны с тем, что в Agile контрактах не прописываются точные результаты проекта.
Agile контракты: значение, виды и преимущества
В современном мире Agile контракты пользуются огромной популярностью и уже достаточно давно стали нормой. Это развивающаяся область, которая дает возможность создавать комфортные условия сотрудничества для всех сторон: Product owner'а и исполнителя. Виды таких контрактов продолжают появляться и сейчас, так как с их помощью любая сделка становится более безопасной и выгодной.
Что такое Agile контракты и зачем они нужны
Как заказчик, так и исполнитель услуг понимают, что простого устного соглашения недостаточно. Такой вариант сделки усложнит жизнь всем. Исполнителю будет тяжело из–за размытых условий выполнения работы, а заказчик вряд ли будет доволен, если его проект будет реализован не так, как он хочет. Поэтому контрактное соглашение необходимо, хотя бы по той простой причине, что нужно обеспечить общее понимание того, что будет сделано, а также сколько, кто и когда получит.
Контракт – это, по сути, набор «правил» и условий, которые увеличивают шансы на успех для обеих сторон. Он определяет контроль работы, распределяет риски и помогает установить доверительные отношения между сторонами. Контракты включают в себя ответы на все часто задаваемые вопросы: Что будет, если возникнут непредвиденные обстоятельства? Ценообразование, если проект окажется сложнее, чем ожидалось? Что, если проект будет завершен раньше, чем планировалось? и т.д.
Если условия будут составлены неверно, это приведет к повышению цен, возможному продлению сроков или к постановке задач, которые невозможно реализовать.
Характеристики Agile контрактов
Чтобы лучше разобраться в данной теме, давайте рассмотрим основные характеристики Agile контрактов:
Эффективное решение проблем
Гибкая методология разработки достаточно непредсказуема по своей природе. Поэтому в отличие от обычных договоров для разработчиков, нарушение контракта или вообще внезапное расторжение – неприменимы к Agile контрактам. Кроме того, Agile контракты обеспечивают более гибкую среду для работы, что помогает решать проблемы быстрее и эффективнее, а значит более выгодно в финансовом плане.
Например, если анализ потенциального проекта выявил риск возникновения технических или бизнес–проблем (которые даже могли не возникать раньше), это можно прописать в контракте. И в результате: клиент получает реалистичное представление о сложности проекта, а исполнитель мало того, что застрахован, но и выигрывает время на разработку стратегии, если такие ошибки все же возникнут.
Отчетность
Одна из ключевых черт Agile контрактов – их гибкость. Поэтому конкретных формулировок о результатах работы вы в них не увидите. Однако такая характеристика не означает, что придется импровизировать. Ответственность исполнителя является жизненно–важным критерием для успеха самого проекта. Таким образом, хороший Agile контракт должен включать в себя положения, которые будут обеспечивать отчетность для клиента. Например:
четкое представление о принципах работы проекта, включая роли и обязанности;
приоритетность задач, а также оценка количества ресурсов, необходимых для выполнения работы;
меры обеспечения контрольных расчетов и список метрик, которые будут использованы для них;
гарантийный срок, который позволит проверить соответствие конечного продукта описанию начальных требований.
Эффективное разрешение споров.
Agile контракт должен предоставлять методы решения споров, которые могут возникнуть между заказчиком и исполнителем в процессе работы. Чтобы не пострадало качество выполнения работы (да и сроки тоже), нужно продумать пути быстрого решения потенциальных конфликтов или оценить возможность удаления каких–то потенциально–спорных моментов проекта.
Прозрачная модель ценообразования
При изменении масштабов проекта или конечного продукта, начальный бюджет тоже может расширяться. Поэтому идеальная форма Agile контракта – это контракт без фиксированного бюджета. Однако, если правильно расставить приоритеты, то можно справиться и с фиксированным вариантом бюджета. В таком случае условия, у которых выставлен низкий приоритет, могут быть убраны из плана проекта.
Главное условие – обсудить с заказчиком этот пункт во время выбора модели ценообразования. В Agile контрактах обычно используют следующие модели:
фиксированная сумма за Story points;
фиксированная сумма за итерацию;
фиксированная сумма за какую–то согласованную готовую часть продукта;
за время, потраченное сотрудниками исполнителя на проект.
Сосредоточенность на бизнес–ценностях
Agile контракты должны быть составлены таким образом, чтобы акцентировать внимание на основных бизнес–ценностях. Результатом такого подхода будет автоматическая фокусировка на качестве и конечных пользователях продукта, что является беспроигрышным вариантом для всех: заказчика и исполнителя.
Типы Agile контрактов
Fixed Price (фиксированная стоимость)
Контракты с фиксированной стоимостью «замораживают» сразу все три основных рабочих показателя: стоимость, время и объем. К каждому такому контракту обычно прилагается сопроводительный документ, который уточняет спецификацию требований. Этот документ нужен, чтобы снизить риск того, что будут упущены какие–то важные детали, а также для того, чтобы прийти к общему пониманию объема работы (не забывайте, что вносить правки в процессе не получится). Чем больше подробнестей будет отражено, тем более доверительными будут отношения между заказчиком и исполнителем. А фиксированный объем работы поможет более точно рассчитать стоимость и время.
Контракты с фиксированной стоимостью часто считаются не самыми удобными для исполнителя. Но, так это или нет, встречаются они повсеместно, потому что большинство клиентов хочет знать как можно более точную стоимость работ заранее. Не стоит бояться таких контрактов. Лучше найти способы заставить их работать. Ведь на самом деле, некоторые аспекты таких контрактов даже лучше подходят именно для Agile команд, так как такие команды привыкли работать с учетом четких временных рамок.
Самое главное – выработать доверие между заказчиком и исполнителем на ранних этапах взаимодействия. Добиться этого можно с помощью определения четкого понимания того, как будет проводиться работа. Таким образом, находясь в условиях ограниченного времени и бюджета, исполнитель сможет вместе с клиентом работать над последующим определением требований, расстановкой приоритетов и т.д. Именно эта эффективная коммуникация между клиентом и исполнителем – ключ к успешной реализации проекта.
2. Time and Materials
Возможно один из самых простых вариантов Agile контракта. Его суть практически полностью заключена в его же названии. В том смысле, что исполнитель получает деньги за время, потраченное на создание продукта или предоставление услуги, а также за ресурсы, которые были использованы в работе.
Конечно, если говорить о рисках такого вида контрактов, первое, что может прийти в голову – это переплата за время. Ведь исполнитель может намеренно затягивать выполнение работы, чтобы получить с этого больше выгоды.Опять же все упирается в вопрос доверия и ответственности. Если исполнитель заинтересован в улучшении своей репутации и получении положительного фидбека от своих клиентов, то такой вариант развития будет просто невозможен.
Однако это не означает, что заказчик совсем не знает, сколько будет длиться работа над его проектом и во сколько примерно это ему обойдется. С помощью анализа проекта и технического планирования исполнитель может оценить количество спринтов, необходимых для достижения результата, и рассчитать предварительную стоимость.
3. Team Per Sprint
Это не совсем коммерческий вариант контракта, а скорее просто соглашение между заказчиком и исполнителем, которое предполагает поэтапную работу. То есть такое соглашение составляется для каждого спринта, выполняемого командой. Оно включает в себя фиксированный набор требований к конечному продукту, а также другие фиксированные параметры: время (длина спринта), объем (бэклог), качество и стоимость (рассчитывается исходя из количество членов команды и длины спринта).
Команда делает все возможное, чтобы к концу спринта предоставить продукт с согласованным набором функций. А заказчик никак не изменяет свои требования в процессе работы.
Огромное преимущество такого вида контрактов – это проверка продукта на соответствие требованиям после каждого спринта. Такое постоянное отслеживание результатов позволяет улучшать проект на ходу, переосмыслять первоначальные стратегии и при необходимости изменять их направление.
4. Fixed Budget
Предполагает, что у заказчика есть свое видение продукта, его функциональности и характеристик. А также у заказчика есть фиксированный бюджет, который он может потратить на данный проект. Таким образом, Product owner и исполнитель вместе расставляют приоритетность поставленных задач в рамках бюджета. Грубо говоря, расписывают, что за какую–то фиксированную сумму можно реализовать, а от чего придется отказаться, т.к. это требует бОльших вложений.
5. Поэтапная разработка
Такой вид Agile контракта предполагает квартальное финансирование успешных релизов. Т.е. весь проект делится на этапы, для каждого из которых есть определенный объем работы и ее фиксированная стоимость. Т.к. договор обычно заключается на полный объем работы (просто разбивается на несколько небольших), то возможен перенос некоторых требований для реализации в следующем временном интервале.
Преимущество такого контракта в том, что риски клиента ограничиваются только затратами на один такой квартал. А у исполнителя есть стимул выполнить свою работу как можно лучше, так как это увеличивает шансы дополнительного финансирования в следующем квартале.
Как вы могли заметить, такой контракт может хорошо сочитаться с контрактами Time & Materials, где тоже есть возможность изменять требования и ограничивать затраты.
6. Fixed Profit (фиксированная прибыль)
Любой бюджет проекта состоит из фактических затрат и фактической прибыли. Несмотря на то, когда и как завершится проект, исполнитель получит согласованное вознаграждение.
Если проект завершается раньше установленных сроков, заказчик заплатит меньше за время работы команды, но сумма вознаграждения все равно останется неизменной. И наоборот, если работа превысит отведенный бюджет, заказчик заплатит больше за саму работу, но фактическая прибыль не поменяется.
Преимущества Agile контрактов
Agile контракты требуют максимального внимания на этапе их составления, т.к. это залог успешного сотрудничества. Однако, благодаря тому, что Agile предполагает гибкость всех сторон этого сотрудничества, у таких контрактов есть множество преимуществ:
Гибкость и адаптивность
Сосредоточенность на видении проекта, а не на самом процессе работы: отображение более конкретных целей в контракте и тщательный анализ бэклога для определения объема работы.
Деление проекта на более короткие спринты позволяет облегчить саму работу над этим проектом
Постоянная обратная связь с клиентом между спринтами, чтобы предоставить имеющиеся результаты выполненной работы и уточнить все аспекты оставшейся.
Высокая вероятность повторного сотрудничества;
Это связано с тем, что поддержка доверительных отношений становится проще, т.к. Agile контракты позволяют определить все возможные трудности и описать процесс работы, а также поощряют работу ради результата, что играет на руку и заказчику, и исполнителю.
Ориентация на удобный вариант контракта для обеих сторон
Снижение рисков с помощью Agile контрактов
Конечно, Agile контракты, как и любые другие, связаны и с некоторыми рисками. В основном есть 2 причины этих рисков:
Из–за того, что в Agile контрактах чаще всего не прописываются точные результаты проектов, иногда исполнителю бывает сложно определить их заранее, что может привести к тому, что какие–то цели будут реализованы частично или не реализованы вовсе.
В большинстве случаев стоимость проекта не зависит от времени.
Снизить эти риски можно разными способами. Вот некоторые из возможных решений:
Добавьте в договор пункт о прекращении работы для каждой итерации, если критерии ее приема не будут выполнены;
Воспользуйтесь одной из вышеупомянутых моделей ценообразования;
Постарайтесь поддерживать обратную связь, т.е. сделать общение «клиент – исполнитель» максимально эффективным;
Рассмотрите добавление пункта о возврате средств за работу, которая не имеет фактической ценности для проекта (именно таких ситуаций вам поможет избежать налаженная обратная связь);
Контолируйте все изменения, вносимые в проект, с помощью дополнительной документации, в которой указана вся специфика требованиий.
Agile контракты – это гибкая методология поддержки деловых отношений в цепочке «клиент – исполнитель». И, конечно, стоит уточнить, что на сегодняшний день существует гораздо больше моделей Agile контрактов, перечислить которые в одном тексте практически невозможно. Однако одно можно сказать точно: процент использования таких контрактов стремительно растет, так как перимущества очевидны.