В целом, это рефрен идеи Geepaw Hill Many More Much Smaller Steps.
Инженерная проблема характеризуется неопределенностью в четырех смыслах: исходное состояние, целевое состояние, способ достижения целевого состояния и актуальность целевого состояния на момент его достижения.
Первый шаг в неправильном направлении описывает метафору пешего похода применительно к решению проблем, во многом повторяя эти четыре “направления неопределенности”.
Суть идеи в том, что двигаться к цели нужно маленькими шагами, намного меньшими, чем те, которые мы, вероятно, предпринимаем прямо сейчас. И это совершенно логично, если принять за границы шага две точки, в которых система готова к работе, а между ними - не готова. Значит, нужно стремиться минимизировать время неготовности системы к работе, то есть, сокращать шаги.
Для чего? Для того, чтобы быстрее получать обратную связь, потому что Быстрая обратная связь - универсальное преимущество. Также для того, чтобы иметь возможность менять направление движения в любой момент, как раз на основе полученной обратной связи.
Можно поступить, как Кент Бек с экстремальным программированием, и выкрутить эту идею до максимума, до почти абсурдного уровня, до уровня отдельных строчек кода.
На самом мелком уровне - это атомарные рефакторинги и Flocking Rules. А дальше можно пойти по уровням вверх и рассматривать мелкие шаги на уровне деления историй на отдельные задачи (микротаски), на уровне деления эпиков на истории (пример с историей на 13 сторипойнтов), на уровне деления функциональности по модулям (SRP, наверное, тоже косвенно про размер шага и время недоступности системы).
Примеры этой идеи:
- Тагир Валеев и его Атомарный рефакторинг
- 99 бутылок ООП, идея изменения кода по одной строчке за раз и затем прогон тестов, Flocking Rules
- Test-Driven Development в целом, потому что каждое изменение гарантированно покрыто тестом
- Шаблоны разбиения историй на более мелкие - INVEST для пользовательских историй
- ???
Материалы по идее:
- https://benleedom.github.io/misc/2023/02/27/reflections-on-many-more-much-smaller-steps.html
- https://irregularideas.substack.com/p/small-steps-are-better-than-big-steps
Мой опыт:
- Интеграция RCS в Маркетолог/Омни
- Разбиение большой истории на 13 стори-пойнтов.