May 15th, 2013

vit_r

В дебрях водопада

Waterfall:
You need well defined requirements or at least clear goals to speak with people that give you money.
Agile:
You take the money and then ask your sponsors how to burn it.


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

Впрочем, эта тема дальше не пойдёт. Надо взять чего-нибудь попроще.

Весь опыт работы вокруг спецификаций говорит о том, что в книжках, докладах и сертификатах всё более или менее фигня. Единственное абсолютное и необходимое требование на требование - это наличие двух полей:
  1. Owner
  2. Stakeholder(s)

Всё остальное - сахар и может меняться, дополняться, обговариваться, содержать ошибки или вообще отсутствовать. Может быть записано в толстых документах, которые никто не в силах прочесть, может быть запихнуто в тул, может быть зарисовано на салфетке. Всё это восстановимо и исправимо. Иногда дорого, но практически всегда не критично.

И только одно надо вбивать в голову канделябром, выжигать на лбу калёным железом, выдрессировать с помощью всех административных, экономических и психологических кнутов и пряников: всегда и везде писать кто данную конкретную фигню написал и кому она нужна.

Пусть там, даже, стоит «TBD», «UNKNOWN» или «Х/З». Это гораздо лучше, чем десятки и сотни человеколет, которые сгорают в попытках найти того, у кого есть хоть-какая-то информация.

В одном недавнем проекте ко мне подошёл один местный гений и сообщил:

- Надо исправить обработку. Мы тут нашли не используемую колонку «Req_Owner» и будем вставлять туда флаг для разрешённых исключений, чтобы твоя программа не ругалась, когда из требования уровня программного модуля выводится спецификация на интеграционный тест.