6 Причин, Почему Не Следует Писать Функциональные Спецификации

Небольшой очерк из книги " Становимся реальностью ", написанный сотрудниками 37signals. Оригинал можно прочитать Здесь .

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

Почему? Мы будем рады объяснить: 1. Спецификация является выдумкой.

Это не имеет ничего общего с реальностью.

Приложение становится реальным, когда разработчики пишут код, дизайнеры рисуют интерфейс, а люди начинают использовать готовый продукт. Спецификация ничуть не приближает проект к завершению — это не более чем слова на бумаге.

2. Цель спецификации — угодить всем.

Любая спецификация обещает все и сразу и старается всех угодить.

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

3. Спецификация — это всего лишь иллюзия согласия.

Несколько сертификационных подписей на нескольких страницах спецификаций не являются соглашением.

Ваша команда прочитала один и тот же текст, но, скорее всего, все поняли его по-разному.

И это обязательно всплывет в дальнейшей работе.

«Подождите, я совсем не это имела в виду!», «Стоп, я совсем по-другому поняла!», «Нет-нет, именно так и есть, и вы все на это подписались».

Вы прекрасно знаете, как это происходит. 4. Спецификация заставляет вас принимать самые важные решения, когда вы знаете о проекте меньше всего.

Меньше всего о проекте известно в самом начале работы над ним.

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

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

Нет ничего проще, чем добавить абзац текста или добавить в список еще один элемент. Вам ничего не стоит добавить в проект чужую идею, просто чтобы порадовать автора.

Что мы имеем в итоге? Ваш проект начинает руководствоваться не здравым смыслом, а абзацами текста и нумерованными списками.

Так рождаются сайты с тридцатью горизонтальными вкладками в навигационной панели.

6. Спецификация не позволяет развивать, изменять и оценивать пройденный путь.

Любой пункт спецификации обсуждается трижды и закрепляется кучей подписей.

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

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

Напишите краткий текст, объясняющий, что делает ваш продукт. Выражайте свои мысли в свободной форме, не придерживаясь каких-либо шаблонов.

Ограничьтесь одной страницей и не тратьте на эту задачу более одного дня.

После этого приступайте к созданию пользовательского интерфейса.

Именно интерфейс послужит заменой спецификации.

Начните с простых эскизов на бумаге, а затем спроектируйте интерфейс в статическом HTML. (Getting Real в основном рассказывает о веб-приложениях — прим.

перев.

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

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

Постарайтесь как можно раньше взглянуть на свой продукт глазами конечного пользователя.

Забудьте о фиксированных спецификациях.

Они заставляют вас принимать самые важные решения на ранних этапах проекта.

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

Наконец - небольшой цитировать от Линуса Торвальдса:

«.

Они практически бесполезны.

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

Но я видел много неудачных проектов, которые слепо полагались на спецификации.

Поверьте: разработка по спецификациям — худший способ создания приложений, поскольку подразумевает, что ваш проект будет сделан только в теории, без оглядки на реальность».

Теги: #спецификации #37сигналы #шкаф #становимся реальностью
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.