Так что у меня проблема. Или, скорее, у моего друга проблемы, так как я никогда не буду писать о своей компании на интернет-форуме.
В моем письме о компании написано, скажем, немного недоиспользованное. Там глубоко укоренившаяся культура написания кода вначале и задание вопросов позже, будь то для библиотечной программы или нового инструмента для нанесения на их долготерпенных дизайнеров.
Это, конечно, приводит к ситуациям, когда функциональность частично корректна, неправильна или просто полностью отсутствует ( "о, просто сохраните, прежде чем пытаться что-то, что вы можете отменить" ). Обычно это приводит к потере производительности для тех слабых дизайнеров или бета-периодов, когда исправление ошибок в основном выполняется с реализацией.
Мой друг нашел, что его рекомендации по написанию (и тестированию) спецификаций, как правило, хорошо приняты. Большинство его коллег обрело прекрасное чувство обнаружения ложных предположений на бумаге, а не в 11 часов вечера в воскресенье в середине бета-версии. Viva La Revolution!
Однако есть несколько человек, которые poo-poo все, что стоит между их задачей и клавиатурой. Они смеются над мыслью о том, что они вообще что-то конструируют, и пишут код с веселым отказом. В основном это старшие, давно работающие разработчики, не желая "тратить время".
Проблема в том, что эта вторая группа еретиков неизменно производит вещи (или, по крайней мере, что-то) быстрее, чем первая. Впоследствии это становится оправданием по строкам "Нет смысла писать спецификации для чего-то столь же простого, как и для resizer! О, и те ошибки, где ширина!= Высота или изображение использует RLE, просто нужно несколько настроек".
И теперь вопрос:)
Кроме того, что "сказал вам так" в конце проекта, какие хорошие краткосрочные способы продемонстрировать, как практика написания функциональных или технических спецификаций приводит к лучшему программному обеспечению в долгосрочной перспективе?
Ура!