I'm in a new job where the project needs to meet strict quality standards, be heavily documented, managed in great detail, UML diagrams, and all those things that are opposite of "cowboy coding" where most of my past work experience has been. Think of the way large-scale aerospace or medical device software is developed.
I'm glad to leave the chaos of cowboy coding and am curious to see how well heavyweight engineering methods go. But how can one rapidly gain experience with the heavy methods?
Besides simply being in the job for some number of months/years, that is.
With a mere language, or new API, one can hack up a toy test program, read, deliberately make mistakes to see what happens, etc. Like becoming good at bicycle riding or playing a musical instrument, practice is essential. It is easy to pick up a flute and spend half an hour every day; no need to join an orchestra or be a full-time flute consultant. But how to practice software engineering activities that are large, complex, involve teams, and much of which is all about communicating and planning, and avoiding miscommunications and exceeding schedule and budget limits?
This doesn't seem possible to do solo. Is there a way a small number of people could simulate engineering a whole big project on a small scale in a short time (one day)?