пятница, 27 ноября 2020 г.

[life.memories] Тридцать лет в программизме

2020-й год уже скоро закончится, а я все забываю рассказать о том, что пришел в программизм тридцать лет назад, в 1990-ом году. Ну а раз на календаре тяпница, то можно попробовать разворошить свой склероз.

понедельник, 23 ноября 2020 г.

[soft.process] Погружение в Agile: заметки на полях. О какой документации говорят Agile-коучи?

Очередное наблюдение по ходу погружения в тему Agile. В Agile-манифесте есть постулат: "Работающий продукт важнее исчерпывающей документации".

И вот я сталкиваюсь с тем, что Agile-коучи, рассказывая об Agile, интерпретируют его как-то так (не дословно, но общий смысл сохранен):

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

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

Т.е. суть старых подходов, которым противопоставляется Agile, в том, что на i-ой стадии мы максимально подробно прорабатываем и исчерпывающе документируем требования к тому, что будет делаться на (i+1)-ой стадии. Т.е. сперва документация, потом работа согласно этой документации. Из-за чего (i+1) стадия в условном водопаде физически невозможна, если нет исчерпывающей документации.

Тогда как в Agile подходах ситуация принципиально иная. И очередную итерацию можно начинать не имея на руках всех тщательно описанных деталей того, что нужно сделать. Недостающие детали будут проработаны прямо в процессе. Для чего и требуется плотное вовлечение представителей заказчика в Agile.

Так что фразу "Работающий продукт важнее исчерпывающей документации" из Agile-манифеста я воспринимаю так, что важнее начать разрабатывать то, что нужно заказчику, нежели сперва подготовить пакет проектной документации, в которой будет подробно расписано что же именно предстоит сделать. Т.е. речь идет о документации, предшествующей разработке.

Так вижу.