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

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

  •  16-10-2019
  •  | 
  •  

Вопрос

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

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

Я использую правильную точку зрения на это? Это на самом деле мнение или идеальная спецификация дизайна всегда лучший путь?

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

Решение

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

Это не означает, что они бесполезны - если вы доставляете что -то для кого -то, должно быть авторитетное и согласованное заявление о том, что будет предоставлено достаточно подробно, что каждый может указать на нее, если кто -то недоволен сделкой и скажет » Это то, что мы обещали »и оцениваем это против того, что было доставлено.

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

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

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

Это определенно зависит от размера и структуры проекта.

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

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

Зависит от того, что вы имеете в виду под дизайнерскими документами.

Я провожу от 1/3 до 1/2 своего времени, записывая дизайны для программного обеспечения, которое я пишу, в книге «Заметки», наброски вещей, выясняя алгоритмы, отношения, истории и т. Д.

Я не делаю это все впереди.

У меня нет основного подписанного и запечатанного документа, из которого я работаю. У меня в прошлом, и я никогда не выполнял какую -либо работу, потому что я всегда ждал, пока кто -то что -то подписал. Это было скорее проблемой с бюрократией компании, с которой я был, чем концепция дизайна всего, но я все еще предпочитаю более плавный/гибкий подход, который у меня сейчас есть.

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