В настоящее время я выбираю между двумя жизнеспособными программными решениями / решениями. Решение 1 легко внедрить, но оно заблокирует некоторые данные в проприетарном формате, и его будет сложно изменить позже. Решение 2 сложно реализовать, но потом будет намного легче изменить.
Должен ли я пойти YAGNI по этому вопросу или я должен включить стоимость выхода в процессе принятия решений? Или по-другому спросить, является ли стоимость выхода частью ТШО?
Я думаю вернуться к клиенту, чтобы спросить, считает ли он, что затраты на выход актуальны, но я хотел бы знать, что сообщество думает в первую очередь.
PS Является ли стоимость выезда правильным сроком?
design
architecture
terminology
decisions
dvdvorle
источник
источник
Ответы:
Стоимость выхода является частью совокупной стоимости владения ( T делает стенд для общей сложности ), но это трудно прибить , если вы не знаете , априори , как долго система будет последним. Другими словами, если вы знаете, что система будет использоваться ровно в течение одного года и ее вывод из эксплуатации через год будет стоить 52 000 долларов, вы можете быть достаточно уверены в том, что добавляете 1000 долларов в неделю в оперативный бюджет для ее покрытия.
Эта модель исчезает из окна, когда вы не знаете, как работает система. Теоретически система может оставаться в эксплуатации вечно, что означает, что на ее закрытие не будет потрачено никаких денег. Все, что вы сейчас учитываете, будет в сегодняшних долларах, и эти цифры вполне могут быть бессмысленными через пять лет из-за изменений в ставках рабочей силы и технологии, которые делают процесс более простым (или более сложным).
Лучше всего дать своим клиентам представление о том, что необходимо для перехода от системы, и позволить им учесть это при принятии решения о замене, когда придет время.
(И теперь, написав этот ответ, я голосую, чтобы закрыть его как не по теме.)
источник
YAGNI - прекрасное правило на своем месте, но я не уверен, что оно должно применяться в этом случае. Вы оцениваете будущие затраты здесь, деятельность, которая должна включать некоторое рассмотрение будущих изменений требований. Если бы вы писали реализацию, это была бы другая история!
Я бы посоветовал вам оценить, но убедитесь, что клиент понимает, почему вы это сделали. Если они не очень техничны, не удивляйтесь, если они скажут что-то вроде «это не может быть хорошим решением, если вы уже думаете об использовании чего-то другого!»
При составлении / представлении сметы расходов следует учитывать некоторые более тонкие аспекты:
источник
Исходя из вашего комментария о ситуации с файлом Excel, я смотрю на это как:
Я верю, что YAGNI относится к этому шагу разбора; убедитесь, что вы сохраняете знания о текущей структуре, но пока не выполняете синтаксический анализ.
Кроме того, проанализированная структура данных может быть не такой гибкой, как вы думаете; требования могут также касаться хранения различной информации / файлов, что означает, что вам придется обновлять / расширять свои таблицы.
источник
Если вы не уверены на 95%, что это изменится в будущем - Решение 1 - YAGNI =)
Конечно, это зависит от ваших клиентов, и от вашего опыта программирования чего-то для этого клиента.
источник
По моему опыту, заново изобретенные колеса занимают больше времени, чем вы думаете, а внешние колеса, как правило, легче заменить. Оба вида колес, как правило, выглядят хуже, когда они приобретены, чем когда вы приняли решение.
Если вы действительно думаете, что № 1 легко реализовать, и задаетесь вопросом, сколько времени займет № 2, я бы выслушал вопрос. Внедрите №1 сейчас и подумайте о большем дизайне. Это поможет вам, если вы позже захотите изобрести это заново.
И наоборот, если # 1 больше не выглядит так просто, как вы думали, перейдите к # 2.
источник