Обратите внимание на дальнейшее обсуждение на http://news.ycombinator.com/item?id=4037794
У меня есть относительно простая задача разработки, но каждый раз, когда я пытаюсь ее атаковать, я все глубже задумываюсь - как это может продлить будущее, что понадобится клиентам 2-го поколения, как это влияет на «нефункциональный» аспекты (например, производительность, авторизация ...), как это лучше всего спроектировать, чтобы изменения позволили ...
Я помню себя некоторое время назад, моложе и, возможно, более нетерпеливым. «Я», которым я был тогда, не задумывалось бы обо всем этом - он пошел бы дальше и написал бы что-нибудь, затем переписал бы это, затем переписал бы это снова (и снова ...). «Я» сегодня более нерешительно, более осторожно.
Сегодня мне гораздо проще сидеть, планировать и инструктировать других людей о том, как что-то делать, чем на самом деле делать это самому - не потому, что я не люблю кодировать - наоборот, я люблю! - но потому что каждый раз, когда я сижу за клавиатурой, я оказываюсь в том же раздражающем месте.
Это неправильно? Это естественная эволюция, или я загнал себя в колею?
Справедливое раскрытие информации - раньше я был разработчиком, сегодня моя должность называется «системный архитектор». Удачи вам понять, что это значит - но это название.
Ух ты. Я, честно говоря, не ожидал, что этот вопрос вызовет так много ответов. Я постараюсь подвести итог.
Причины:
- Паралич анализа / Из-за инженерной мысли / позолота / (любое другое «слишком много обдуманного заранее может повредить вам»).
- Слишком много опыта для данной задачи.
- Не фокусируясь на том, что важно.
- Не хватает опыта (и осознания этого).
Решения (не соответствующие причинам):
- Сначала тестирование.
- Начать кодирование (+ для удовольствия)
- Один выбросить (+ один API выбросить).
- Установите временные ограничения.
- Сними пух, оставайся с вещами.
- Сделайте гибкий код (что-то вроде «выбросить», нет?).
Спасибо всем - я думаю, что главным преимуществом здесь было осознать, что я не одинок в этом опыте. На самом деле я уже начал кодировать, и некоторые из слишком больших вещей, естественно, отпали.
Поскольку этот вопрос закрыт, я приму ответ с большинством голосов на сегодняшний день. Когда / если это изменится - я постараюсь следовать.