Сегодня мы решили рассказать о двух самых частых подходах к расчету стоимости разработки программного продукта, а именно Fixed price и Time&Materials. По названию этих подходов уже можно догадаться, что они из себя представляют, однако давайте дадим определения здесь:

Fixed Price — стоимость работ считается и фиксируется заранее и вписывается в договор вместе с детальным описанием задачи, также известным как техническое задание.

Time & Materials — размер вознаграждения определяется по ставкам специалистов и затраченному на проект времени; общую сумму можно предположить заранее, но точно известна она станет только после завершения работ.

Оба эти подхода имеют плюсы и минусы и по-разному подходят для разных проектов и заказчиков.

Fixed price.

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

И действительно, этот подход будет хорош для небольших проектов (длительностью до 3-4 недель) или проектов где есть уже четко прописанные требования (например проекты для гос структур или MVP).

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

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

На больших проектах всегда "Аппетит приходит во время еды".

В ходе разработки у заказчика появляются новые идеи по изменению логики программы, добавления нового функционала (user stories, как это модно называть в индустрии), да и бизнес заказчика не стоит на месте. Меняются бизнес процессы, рынок, конкуренты. Трудно представить, что в ходе разработки, которая длится несколько месяцев а то и лет, у заказчика не возникнет новых идей и работа будет вестись строго по изначальному ТЗ.

В случае фиксированной стоимости проекта придется разводить бюрократию, подписывать доп соглашения, сдвигать сроки. Поэтому новые фичи при fixed price внедрить в продукт практически нереально.

Здесь нам на помощь приходит подход Time & Materials.

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