Сколько времени вы тратите на дизайн перед кодированием? [дублировать

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/23604

  •  22-10-2019
  •  | 
  •  

Вопрос

Этот вопрос уже имеет ответ здесь:

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

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

Мне было бы интересно услышать, сколько времени вы тратите на проекты планирования/проектирования, прежде чем начать делать кодирование. Вы делаете это для каждого проекта или просто «серьезных»?

Это было полезно?

Решение

Это во многом зависит от проекта.

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

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

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

Другие советы

Столько, сколько нужно

Чтобы понять проект, модель, риски и неизвестные

Особенно риски и неизвестные

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

При работе с Epic (проектом, который длится несколько спринтов), я намного свободнее с тем, что называю «дизайном». Дизайн в этом случае обычно включает в себя грубый набросок основной архитектуры и несколько пользовательских историй, которые я ожидаю. Это не кодирование ковбоя, но это не строгий процесс проектирования (например, традиционная модель водопада). Что-то появится (изменение требований или момент A-ха), которое меняет игру где-то в будущем. Я стараюсь не тратить слишком много времени в то, что, вероятно, будет выброшено или сильно изменено.

Знаменитый Джейми Завински сказал в книге «Кодеры на работе» что -то вроде ... Лучше потратить достаточно времени, чтобы иметь возможность кодировать то, что мы можем использовать, а затем пойти оттуда. В зависимости от проекта и конкуренции, если вы тратите слишком много времени на планирование и размышления о лучшем способе что -то сделать и у вас нет рабочего продукта в данный период времени, ваши конкуренты будут впереди игры, и это будет огромная потеря.

Я не обязательно согласен с этим, но вы должны отдать ему должное за то, что он достиг.

Лицензировано под: CC-BY-SA с атрибуция
scroll top