Иван декомпозировал функционал, посчитал риски, прикрепил к ТЗ вышеописанную информацию и отправил Олегу. Оказалось, что сумма, требуемая для реализации, превышала ту, которой располагал Олег. Скрывать этот факт было нельзя. Олег и Иван начали упрощать функционал, чтобы уложиться в бюджет. Однако, после того, как убрали несколько функций, Олег отказался от дальнейших сокращений и потребовал скидку: “Больше некуда урезать! Есть компании, которые готовы в два раза дешевле работу выполнить. Мы же с тобой давно работаем, от нас регулярно приходят заказы. Давай, подвигайся!” Иван вынужден был уступить: он не видел, как можно упростить систему на основании аналитики и дизайн-макетов, и давние партнерские отношения с Олегом не хотел портить.
Здорово описано, спасибо! Пишите еще!
В начале статьи вы задаёте вопрос «Как провести этап аналитики и составить ТЗ, чтобы ожидания заказчика и исполнителя совпали?» и потом «на чьей стороне возникает проблема, как ее устранить?». Судя по гипотетической ситуации приведённой в статье у вас сработали риски с оценкой - дизайн был основан не на реальных данных, плюс не было выявлено критериев приемки ни на этапе аналитики, но в ходе изменений макетов и урезания функционала. Понятно, что все упирается в бюджеты, но можно ли это считать все таки недоработками со стороны подрядчика?
Можно вести переговоры с заказчиком. Можно пытаться двигать бюджеты. Выносить доработки в Change Request-ы. Оформлять доп. соглашения.
Много чего можно делать.
Но в любом случае это будет лишь работой с уже сработавшим риском. Фактическая ситуация, когда заказчик не очень-то доволен результатом, а подрядчик не очень-то доволен оплатой - уже налицо, и её можно только смягчить, но не ликвидировать полностью.
К сожалению, такие ситуации в заказной разработке - не редкость. :(
Конечно Acceptance Criteria конечно то же может быть хорошим инструментом для того что бы синхронизировать ожидания, но ты их уже пишешь на придуманное решение. Т.е. ты изначально формулируешь Epic->Feature->UserStory и уже к ним пишешь Acceptence. Тут основная мысль в подходе откуда придумывать решение. Если ты уже сделала UserStory просто на основании пускай даже реальных данных и пускай даже это реальные пользовательские истории то тебе уже тяжело мыслить по другому. Идея в том что бы постоянно задавать себе вопрос: А как моё решение повлияет на метрику или индикатор? Или иногда можно задать вопрос: А что будет, если я этого вообще не буду делать?
Что будет если я не буду вообще рефакторить этот метод?
С виду понятно, но скажи, пожалуйста, что значит опережающие индикаторы и как их выявили, например, в ситуации из этой статьи?
Про опережающие индикаторы можно прочитать ещё тут https://www.scaledagileframework.com/guidance-applied-innovation-accounting-in-safe/
В статье они следующие
Опережающие индикаторы:
-Промежуток времени с момента возникновения инцидента до старта работ администратором.
-Время, которое тратит администратор на решение инцидента.
-Количество критичных инцидентов в системе в месяц.
К примеру можно было бы выявить так: Какую ценность данная система могла бы вам принести?—-> Ну мне бы меньше влетало от начальства потому что было бы меньше критических проблем-—>А сколько сейчас этих критических проблем?—>> Ну много-—>> Миллиартд в год?—->> Нет, что вы, меньше-—> 100 в месяц?—->> Ну критических прям меньше, скорее около 10 в месяц-—-> И получаем кол-во инцидентов в системе.
По другим опережающим индикаторам так же в процессе выявления требований.