All software, whether intentionally or not, is developed within some sort of model. Be it waterfall, agile, spiral, etc. Each has it’s proponents and detractors, but the common to them all is that they can be drawn out on a whiteboard to explain them. Typically I describe how software is actually built in the world at large (from my experience and speaking with others) is to draw something very waterfall-ish and then point out the places where you can inject Quality into the mix.
Where am I going with this? Well, through a discussion on the software-test mailing list I became aware of the Prince2 process model. Two things about it make it interesting from a QA perspective is
- All deliverables need testing – note how they do no limit this to ‘software deliverables’
- Nothing is complete until it is checked, reviewed and tested – again, note the ‘nothing’
Of course, things like Prince2 and CMM are just tools in the greater battle against bugs and are not suitable in all environments, but I think theyve got some of the philosophy correct. Now if only they had a diagram for the software-build process and not just the project-management process.