Timeboxing означает, что итерации не становятся длиннее
Вы спрашиваете, как сократить итерации. Но это означает, что они занимают больше времени, а значит, вы не применяете бокс времени. В любой итерации, когда сложность начинает весить больше (или у вас есть другие непредвиденные неудачи), вы не меняете длину итерации. Вместо этого вы отказываетесь от добавления, которое вы запланировали в начале итерации. Некоторые итерационные методы предлагают выполнять эту оценку в середине итерации (пока не стало слишком поздно). Узнайте больше о том, что предлагает OpenUP :
Управление задачами
Когда команда значительно отстает или возникают критические проблемы, которые мешают команде выполнить задачи итерации, может потребоваться отменить работу, чтобы гарантировать, что команда обеспечивает полезный прирост продукта к концу итерации, одновременно максимизируя стоимость заинтересованных сторон. Работайте с командой и заинтересованными сторонами, чтобы пересмотреть План итерации и, при необходимости, уменьшить акцент на менее важные задачи, отложив их до следующей итерации. В редких случаях, если цели итерации все еще кажутся невозможными, группа может рассмотреть вопрос о прекращении итерации или переформулировании итерации для достижения новой цели.
Если вы посмотрите на первый график, вы увидите, что на последующих итерациях добавленная стоимость меньше. Это означает, что итерации по-прежнему занимают столько же времени, что и раньше, но, возможно, в каждой итерации меньше (относительно) новых функциональных возможностей.
Как вы говорите, итеративная сила в том, чтобы снижать риск, часто получая обратную связь. Похоже, вы говорите о сложности проекта, преследующей вас на последующих итерациях? Я не согласен, что это слабость итеративного. Это слабость плохо управляемой сложности.
Теоретически, вы ставите самые большие риски проектов на первое место. Это означает, что у вас очень нестабильный проект, но поскольку вы управляете большими рисками, он должен стабилизироваться. Сложность, конечно, является одним из рисков.
Языки сценариев и автоматизированные процессы помогают снизить риск сложности, который можно назвать «случайной» сложностью (и обсуждается в другом ответе). Высоко итеративные, но сложные проекты (хороший пример - Chromium, даже если это не игра) имеют много инфраструктуры для управления сложностью. Посмотрите на https://www.chromium.org/developers множество примеров таких вещей, как советы по кодированию для BuildBot .
На этом рисунке не показана стабильность проекта, которая выглядит примерно так:
Пока технические риски не будут хорошо поняты, вы имеете дело с простыми прототипами