|
|
|
|
|
by EliRivers
3313 days ago
|
|
I worked somewhere that did waterfall, hardcore. For everything, requirements came first (sometimes, since moving on, I've even found myself suggesting in meetings that if we don't know what we're meant to be making, the odds of getting it right are pretty slim - obvious yet somehow it needs stating out loud more than it should be). Sometimes literal months were spent on getting them right. Then the design. Full on designs, full on design reviews, the whole lot. It wasn't impossible to come back afterwards and change things, but it was pretty rare. By the time coding came around, it wasn't much more than implementing the design (coded up in literal programming style, too, such that what was written turned into two separate sets, being beautiful latex-based documents interspersing the design and commentary of that design with the code implementing each piece of design, and the code for the compiler to eat); all the actual programming thinking had been done during the design. Then levels of testing, starting small and unit, moving up through the layers until the original requirements were being tested against. It's the only place I've ever worked in which the customer never registered a single bug. They even asked us if we could take over from a different supplier since they'd never managed to deliver anything that worked. When the tests were signed off (and they literally were; the tester signed their name against each test, data records were archived, the paper test steps and signatures were sealed in envelopes for customer inspection on demand) that software did its job from delivery day one. Waterfall is really demanding and really hard to do well (and it also requires a high quality of customer; if your customers don't know what they want and simply cannot be guided into telling you, I suspect it's impossible), but it sure can deliver. I've never worked anywhere else that managed such high quality. |
|