tgoop.com/dmdev_talks/319
Last Update:
Design Docs - очень мощное оружие!
Я никогда не думал, что описывать обычными словами и картинками то, что я хочу реализовать, будет на столько эффективным инструментом в программировании.
Когда я получал какую-то задачу от своего team lead, я просто сразу принимался за написание кода. Конечно, уровень тех задач были далек от тех, что потом придется выполнять мне в будущем. Тем не менее, если я допускал где-нибудь ошибку, например, в схеме базы данных - то мне приходилось править в очень многих местах вверх по всей цепочке, начиная от sql скрипта и заканчивая сущностями, композиции классов, логики и тестов. Что занимало уйму времени.
А теперь представь, что ошибку допустили еще выше, где-то в архитектуре приложения. Сколько потребуется времени и человеко-часов, чтобы ее исправить или хотя бы залатать дыры с помощью всеми любимых "костылей"? В зависимости от уровня ошибки могут быть задеты не только твоя непосредственная команда, но и множество других команд, а также сами конечные пользователи, потому что приложение, например, может работать очень медленно или не работать вовсе.
Архитектурные ошибки обычно заметны не сразу, а с течением времени. Именно поэтому это так неприятно.
Чем на более ранней стадии получится найти ошибку при разработке ПО, тем дешевле обойдется ее решение
И самое эффективное средство здесь - это написание design docs. Т.е. в них мы можем быстро обсудить с другими программистами и решить проблемы еще до того, как была написана даже строчка кода. А значит, само решение занимает считанные часы или даже минуты: надо лишь подправить текст или перерисовать парочку диаграмм.
Так в моей работе сейчас ни одно сложное решение не обходится без написание design doc. Даже если проблема не столь велика, но имеет несколько возможных вариантов решений, из которых тебе не понятно как выбрать и хочется обсудить - то достаточно 1-2 страничного design doc, который мы еще называем 1-pager или 2-pager соотвественно.
BY DMdev talks
Share with your friend now:
tgoop.com/dmdev_talks/319