Цель состоит в том, чтобы избежать ненужной работы, заставляя пользователя / клиента предоставлять солидную, ощутимую деловую выгоду в качестве причины существования этой функции.
Не случайно, что эти функции добавляются только потому, что кто-то считает, что они звучат круто, или потому, что они есть у других программ, поэтому у нас это тоже должно быть. Чаще всего это, по крайней мере, совершенно ненужно, если не активно вредно.
Однако, как правило, легко определить эти функции, потому что люди, предлагающие их, как правило, будут испытывать трудности с предоставлением убедительной деловой причины для них.
Существует методика, называемая Popping The Why Stack , где вы берете часть «так что» и спрашиваете «Почему?», Затем вы берете этот ответ и спрашиваете «Почему?» опять рекурсивно. Если после (скажем) трех-пяти «почему» вы не пришли ни к «потому что это принесет нам деньги», ни «потому что это сэкономит нам деньги» (желательно с точным описанием того, как именно произойдет), тогда эта функция не стоит реализовывать.
Некоторые люди считают это настолько важным, что фактически ставят его на первое место в шаблоне истории:
Чтобы [...]
Как [...]
Я бы хотел [...]
Вот замечательный пример из выступления некоторых людей из Thoughtworks: один из их клиентов хотел, чтобы печатные отчеты были отформатированы очень своеобразно. Когда консультант спросил «Почему», они ответили, что таким образом их легче ввести обратно. Поэтому вместо реализации функции форматирования отчетов они просто передали отчеты по сети. Без пункта «так, что» они все равно будут печатать эти документы в одном отделе, отправлять их по почте в другой отдел и печатать их обратно.