
1. Конечный результат должен быть простым и понятным всем, никакие дела в одиночку не делаются, отсутствие понятного результата приведёт как минимум к спорам о целесообразности этого решения.
2. При этом, решение на момент завершения работы не должно успеть устареть, то есть изначально надо иметь план с прицелом на будущее. Если так не планировать, то в процессе реализации может появится что-то другое, доступное, понятное и дешёвое, перечёркивающее текущий проект на корню. Тут стоит учитывать что этим новым могут быть собственные знания и опыт, тогда через какое-то время может показаться что вы делаете полную ерунду.
3. Если переборщить и распланировать что-то ультрасовременное, то работа встанет ровно до того момента когда ультрасовременное не превратится просто в современное. Встанет по многим причинам, от банальной нехватки каких-то новых материалов, до психологического принятия этого решения.
4. В любом случае будет что-то новое и это новое встретит определённое сопротивление, может даже со стороны начинателя проекта. Результат и работа всегда вначале кажутся сложными даже переусложнёнными, бывает что это действительно так, но в большинстве случаев это боязнь новизны, это возвращает нас к первому пункту.
5. Даже без формальной документации план должен быть. Просто потому что скорость течения проекта непостоянна, в какие-то моменты будут провалы по времени, возможно, на месяцы и всегда надо быть готовым вернуться к работе в нужном месте.
6. К таким остановкам надо быть готовым, тут спасает чёткое понимание результата. Минимизировать простои помогает деление большой задачи на мелкие шаги, какие-то из них обязательно можно будет делать параллельно, оставить застрявший этап и делать то что можно в данный момент.
7. Надо стараться выдержать начальную архитектуру. Обязательно появится соблазн что-то поменять на ходу и что-то обязательно придётся поменять в большей или меньшей степени. В основном происходят банальные вещи, что-то не успели купить или доделать, на общем фоне мелочь которую можно решить чуть другим способом. Но часто это остаётся нерешённым, поэтому архитектура наша всё, ошибки в ней дорого обходятся, но к костылям стоит приготовиться.
8. От чего-то придётся отказаться. Это случается, например, по причине, что изначально слишком много подстелили соломки, или удалось получить устройство для которого само решение упрощается без дополнительных плясок с бубном, или накопленные знания позволяют пересмотреть кусок реализации. Каким бы ни был изначальным красивый замысел за который хочется держаться, если можно упросить - стоит упростить, но не сильнее чем требуется.
9. В самом конце желание подставить костыли или всё бросить нарастает, хочется побыстрее всё закончить любым способом, потому что надоело. Если есть чёткие сроки то это усугубляется. Остаются мелочи которые, кажется, можно не доделывать, ведь большая часть уже работает и так. Сила воли и чёткий план, но в основном сила воли должна помочь. Работа славна концом.