Небольшой очерк из книги " Становимся реальностью ", написанный сотрудниками 37signals. Оригинал можно прочитать Здесь .
Спецификация — это абстрактный документ, который в большинстве случаев не имеет ничего общего с готовым программным продуктом.
Почему? Мы будем рады объяснить: 1. Спецификация является выдумкой.
Это не имеет ничего общего с реальностью.
Приложение становится реальным, когда разработчики пишут код, дизайнеры рисуют интерфейс, а люди начинают использовать готовый продукт. Спецификация ничуть не приближает проект к завершению — это не более чем слова на бумаге.
2. Цель спецификации — угодить всем.
Любая спецификация обещает все и сразу и старается всех угодить.
Это похвальный, но совершенно бесполезный подход. Спецификация никогда не предполагает сложных компромиссов и выбора лучших вариантов, а при разработке приложений это необходимо.
3. Спецификация — это всего лишь иллюзия согласия.
Несколько сертификационных подписей на нескольких страницах спецификаций не являются соглашением.
Ваша команда прочитала один и тот же текст, но, скорее всего, все поняли его по-разному.
И это обязательно всплывет в дальнейшей работе.
«Подождите, я совсем не это имела в виду!», «Стоп, я совсем по-другому поняла!», «Нет-нет, именно так и есть, и вы все на это подписались».
Вы прекрасно знаете, как это происходит. 4. Спецификация заставляет вас принимать самые важные решения, когда вы знаете о проекте меньше всего.
Меньше всего о проекте известно в самом начале работы над ним.
Чем дольше длится проект, тем больше вы о нем узнаете.
Так почему же вам следует принимать самые важные решения еще до того, как вы начнете работать? 5. Использование спецификаций приводит к ненужному функционалу На момент написания спецификации вас ничто не ограничивает, кроме вашей фантазии.
Нет ничего проще, чем добавить абзац текста или добавить в список еще один элемент. Вам ничего не стоит добавить в проект чужую идею, просто чтобы порадовать автора.
Что мы имеем в итоге? Ваш проект начинает руководствоваться не здравым смыслом, а абзацами текста и нумерованными списками.
Так рождаются сайты с тридцатью горизонтальными вкладками в навигационной панели.
6. Спецификация не позволяет развивать, изменять и оценивать пройденный путь.
Любой пункт спецификации обсуждается трижды и закрепляется кучей подписей.
Даже если в процессе разработки вы поймете, что некоторые функции бесполезны, пути назад у вас не будет. Само существование фиксированной спецификации опровергает тот факт, что требования могут меняться по мере создания приложения.
Что должно заменить спецификацию? Начните с более простого документа, который быстрее приблизит вас к работающему прототипу приложения.
Напишите краткий текст, объясняющий, что делает ваш продукт. Выражайте свои мысли в свободной форме, не придерживаясь каких-либо шаблонов.
Ограничьтесь одной страницей и не тратьте на эту задачу более одного дня.
После этого приступайте к созданию пользовательского интерфейса.
Именно интерфейс послужит заменой спецификации.
Начните с простых эскизов на бумаге, а затем спроектируйте интерфейс в статическом HTML. (Getting Real в основном рассказывает о веб-приложениях — прим.
перев.
) Интерфейс, который можно увидеть и потрогать, понятен без объяснений и исключает любые недоразумения.
Прежде чем приступить к написанию основного кода приложения, сделайте прототип интерфейса, который вы сможете посмотреть, кликнуть и обсудить.
Постарайтесь как можно раньше взглянуть на свой продукт глазами конечного пользователя.
Забудьте о фиксированных спецификациях.
Они заставляют вас принимать самые важные решения на ранних этапах проекта.
Постарайтесь избегать спецификации в ее классическом понимании, и вам будет гораздо проще изменять требования, сохраняя при этом гибкость.
Наконец - небольшой цитировать от Линуса Торвальдса:
«.Теги: #спецификации #37сигналы #шкаф #становимся реальностьюОни практически бесполезны.
Я не видел ни одного крупного проекта, в котором характеристики полностью соответствовали бы реальности и при этом действительно помогали разработчикам.
Но я видел много неудачных проектов, которые слепо полагались на спецификации.
Поверьте: разработка по спецификациям — худший способ создания приложений, поскольку подразумевает, что ваш проект будет сделан только в теории, без оглядки на реальность».
-
Что Такое Внешний Жесткий Диск?
19 Oct, 24 -
Панамский Канал
19 Oct, 24 -
Простое Распознавание Лиц На Лету В Django
19 Oct, 24 -
Crayon Physics Выйдет В Начале Января.
19 Oct, 24