Что-то в чате давно не было тем. Расскажу тогда про свой опыт. Как обычно про то, как не надо делать.
Читал недавно книжку, где была хорошая фраза:
"Сперва сделай, чтобы работало, затем сделай, чтобы работало правильно, в конце сделай так, чтобы работало быстро".
Мне кажется, что создание документации также идёт по этому же пути.
Сперва идёт драфт самой идеи, потом дополняется требованиями от разных стейкхолдеров, в конце концов происходит изменение структуры решения для наилучшего быстродействия.
Я к тому, что надо помнить, что на первой фазе создания драфта не стоит сильно углубляться в детали, а на заключительной стадии надо ожидать изменения структуры и не противиться тому, что нужно добавить новый компонент, поменять технологию или иной атрибут драфта технического решения.
И вот если ваша команда на третьем шаге решила не менять техническое решение и пытаться реализовать всё на том не оптимальном стеке/техническом решении, которое было составлено изначально (из-за недостатка ресурсов, знаний стека и т.д.), то она нарывается на риски:
- сделать нерабочее решение
- сделать решение, которое сложно масштабировать
- сделать решение, которое будет медленно работать
- сделать решение, которое будет дорого сопровождать
Как оказалось, хуже может быть только тогда, когда вы ещё не закончили писать техническое решение, а разработка уже началась.
И это дополнительные риски:
- сделать решение, которое потом придётся частично переделывать (менять тесты, менять логику, менять структуру и т.д.)
И вот тут, как я понимаю, есть несколько вариантов решения проблемы:
- взять эти риски и пойти к человеку у которого есть полномочия для запрет разработки кривого решения, который может повлиять на ситуацию и принудить команду выделить дополнительные ресурсы для реализации правильного технического решения (это может быть спонсор, архитектор, тимлид, руководитель, представитель бизнеса и так далее).
- написать письмо на широкий круг заинтересованных лиц, чтобы указать им на риски и пусть они там сами развлекаются.
И вот если ничего не получилось. Съезжайте с этого проекта/работы к чертям! xD
Т.к. со всеми проблемами этого проекта будут идти к вам. И внедрять его вам. И инциденты потом вам разгребать. И развивать систему тоже.
Ну а если съехать пока что не можете, то минимизируйте работу на проекте, выделите определённый объём времени в день на него, и сфокусируйтесь на личной жизни, учёбе, других делах. Примите за факт, что проект никчёмный и тратить на него нервы/лишнее время не стоит.
Почему?
Потому, что вместо того, чтобы выделить ресурсы и сделать всё как надо, команду обязали страдать. На ваших нервах/усилиях решили сэкономить.
Ну а вы на работу не страдать пришли, а работать. Так что главное не делайте это своей проблемой.
Наверное я кэп, но всёж.