Должен ли я учитывать стоимость выхода при выборе решения?


10

В настоящее время я выбираю между двумя жизнеспособными программными решениями / решениями. Решение 1 легко внедрить, но оно заблокирует некоторые данные в проприетарном формате, и его будет сложно изменить позже. Решение 2 сложно реализовать, но потом будет намного легче изменить.

Должен ли я пойти YAGNI по этому вопросу или я должен включить стоимость выхода в процессе принятия решений? Или по-другому спросить, является ли стоимость выхода частью ТШО?

Я думаю вернуться к клиенту, чтобы спросить, считает ли он, что затраты на выход актуальны, но я хотел бы знать, что сообщество думает в первую очередь.

PS Является ли стоимость выезда правильным сроком?


Можете ли вы добавить, почему вы думаете, что первое решение заблокирует данные, и их будет сложно изменить позже?
Яап

По сути, не являются ли все форматы проприетарными, даже если они считаются «стандартными» или «открытыми»? Yagni, вероятно, применяется, если «запатентованный» формат легче реализовать, он прост в использовании и / или формат defacto для обмена.
JustinC

Не вдаваясь в подробности; Представьте, что вы помещаете лист Excel (разработанный заказчиком) в систему управления документами (решение 1) вместо создания соответствующих таблиц и графического интерфейса и создания листа Excel по требованию (решение 2). За исключением того, что это не Excel.
dvdvorle

Однако это, вероятно, не исключает возможности обратить внимание на этот аспект беспокойства при представлении выбора и решения спонсору проекта.
JustinC

@JustinC хорошо, в конце концов мы говорим о наличных деньгах здесь. Дешевле ли использовать «проприетарный» формат в долгосрочной перспективе или нет? Вот что я считаю наиболее важным для спонсора проекта
dvdvorle

Ответы:


4

Стоимость выхода является частью совокупной стоимости владения ( T делает стенд для общей сложности ), но это трудно прибить , если вы не знаете , априори , как долго система будет последним. Другими словами, если вы знаете, что система будет использоваться ровно в течение одного года и ее вывод из эксплуатации через год будет стоить 52 000 долларов, вы можете быть достаточно уверены в том, что добавляете 1000 долларов в неделю в оперативный бюджет для ее покрытия.

Эта модель исчезает из окна, когда вы не знаете, как работает система. Теоретически система может оставаться в эксплуатации вечно, что означает, что на ее закрытие не будет потрачено никаких денег. Все, что вы сейчас учитываете, будет в сегодняшних долларах, и эти цифры вполне могут быть бессмысленными через пять лет из-за изменений в ставках рабочей силы и технологии, которые делают процесс более простым (или более сложным).

Лучше всего дать своим клиентам представление о том, что необходимо для перехода от системы, и позволить им учесть это при принятии решения о замене, когда придет время.

(И теперь, написав этот ответ, я голосую, чтобы закрыть его как не по теме.)


Альтернативой стоимости выхода, являющейся частью совокупной стоимости владения этого решения, будет то, что она будет частью совокупной стоимости владения следующего решения. Теперь я знаю, что это звучит странно, если я скажу это просто так, но по моему опыту стоимость вывода из эксплуатации системы включена в план / бюджет проекта следующей системы, а не в план / бюджет проекта для текущей системы. Имеет ли это смысл?
dvdvorle

1
Имеет смысл для меня, и это в значительной степени вывод, к которому я пришел. Вы не можете придумать фактическую сумму, пока все не закончится и не закончится.
Blrfl

Я согласен с трудностями в точной оценке «затрат на выезд», я думаю, что есть смысл в их предоставлении, даже если это в сегодняшних деньгах. Сравните «это будет сложно и отнимает много времени» и «это будет стоить от 25000 до 50000 долларов, если будет сделано завтра».
vaughandroid

@Blrfl, что делает этот вопрос не по теме?
Неонтапир

1
@neontapir: суть вопроса действительно в управлении проектами; тот факт, что речь идет о программе, на самом деле не касается программирования. То же самое можно легко применить к телефонным коммутаторам или печам для пиццы.
Blrfl

2

YAGNI - прекрасное правило на своем месте, но я не уверен, что оно должно применяться в этом случае. Вы оцениваете будущие затраты здесь, деятельность, которая должна включать некоторое рассмотрение будущих изменений требований. Если бы вы писали реализацию, это была бы другая история!

Я бы посоветовал вам оценить, но убедитесь, что клиент понимает, почему вы это сделали. Если они не очень техничны, не удивляйтесь, если они скажут что-то вроде «это не может быть хорошим решением, если вы уже думаете об использовании чего-то другого!»

При составлении / представлении сметы расходов следует учитывать некоторые более тонкие аспекты:

  • Насколько вероятно, что данные будут перенесены в другую систему в будущем?
  • Вполне вероятно, что поставщик решений изменит свой собственный формат данных, чтобы в будущем было легче / сложнее переносить данные? Если это так, повлияет ли это на ваше решение?
  • Даже если вы не хотите изменять данные позже, есть ли вероятность, что вы захотите представить / получить к ним доступ другим способом? Мой опыт показывает, что это довольно часто!

1

Исходя из вашего комментария о ситуации с файлом Excel, я смотрю на это как:

  • не меняя текущий формат (решение 1)
  • по сравнению с анализом формата сейчас и сохранением его в другом формате (возможно / возможно, более подходящий / готовый к будущему) (решение 1 + этап синтаксического анализа, или решение 2)

Я верю, что YAGNI относится к этому шагу разбора; убедитесь, что вы сохраняете знания о текущей структуре, но пока не выполняете синтаксический анализ.

Кроме того, проанализированная структура данных может быть не такой гибкой, как вы думаете; требования могут также касаться хранения различной информации / файлов, что означает, что вам придется обновлять / расширять свои таблицы.


Чтобы было ясно, в настоящее время нет решения (решение 0, если хотите). В настоящее время они хранят всю информацию в бумажных файлах. Я бы искренне согласился с этим ответом, если бы они уже использовали файл «Excel» в системе управления документами, но здесь все еще есть выбор.
dvdvorle

Или вы думаете, что это не актуально, потому что реализация решения 1 стоит дешево?
dvdvorle

Суть в том, что я считаю, что если решение 2 можно считать улучшением решения 1, но это улучшение сейчас не является строго необходимым, применяется YAGNI.
Яап

Я понимаю что ты имеешь ввиду. Это о чем подумать. Хотя я думаю, что пришло время обратиться к клиенту сейчас, посмотрим, что он думает о том, что это улучшение и еще много чего.
dvdvorle

0

Если вы не уверены на 95%, что это изменится в будущем - Решение 1 - YAGNI =)

Конечно, это зависит от ваших клиентов, и от вашего опыта программирования чего-то для этого клиента.


2
То есть, вы говорите, что любая цена, связанная с 5% вероятностью изменения решения, не имеет значения?
dvdvorle

Я имею в виду, что это какое-то чувство ... Вы сами знаете, что значит "ЯГНИ" - остальные чувствуют =)
MikroDel

0

По моему опыту, заново изобретенные колеса занимают больше времени, чем вы думаете, а внешние колеса, как правило, легче заменить. Оба вида колес, как правило, выглядят хуже, когда они приобретены, чем когда вы приняли решение.

Если вы действительно думаете, что № 1 легко реализовать, и задаетесь вопросом, сколько времени займет № 2, я бы выслушал вопрос. Внедрите №1 сейчас и подумайте о большем дизайне. Это поможет вам, если вы позже захотите изобрести это заново.

И наоборот, если # 1 больше не выглядит так просто, как вы думали, перейдите к # 2.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.