How to go from specs/requirements to design, architecture, code, tests, documentation for embedded systems?
The biggest weakness I usually see is documentation

The first thing is decide how you're going to document your projects.  I've had very good results from "basic" software such as Mediawiki.

Then decide on your process.  Typically it's Spec, Design, Prototype, Test, Design-for-production, Implement.  All with various kinds of interlock, iteration, and back annotation.  It's worth reading some companies' ISO 9001 quality handbooks, not necessarily in engineering, for a sense of what some companies formalise.  (Very many are published, easy to find.)

Number everything!  "I think we need to change the spec in spec para 1.2.3.4 because the parts available in design-for-production para 2.3.4.5 have a different noise immunity."   Keeping the paragraph numbering static can be a challenge.  Numbering everything means you can cross refer to everything, including in phone calls.  Make sure circuit diagrams etc have good document numbering and grids, so you can refer to areas easily.

Insist on discipline and reasoning in version control commit messages.  Usually the best place for this is in the branch merge (using git terminology), rather than the line-by-line edits.

Keep hardware, firmware and software version control locked in sync.

Budget good time for documentation.  It's not window-dressing.