It's pretty tricky to manage software releases. Fresh graduates often don't encounter situations like this until they get a big project.
When management doesn't check whether developers are disciplined in following preset guidelines, a release isn't "replayable" when the shit hits the fan.
effort to develop software
1 unit = code for yourself
3 units = code given to someone else (library probs, config probs)
9 units = code given to a group (HOWTO, ifdefs, tar-gzip, etc)
27 units = FOSS code (cvs, mailing list, configure, make, docs)
81 units = product code (legal, sales, market, packaging, distribution)
243 units = viable software for 30 years (literate pgms, deep documentation, research, major redesign, etc)