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.
I think you can do some further research on Prince2 and use it effectively to manage Quality. Its not Software specific but scalable to any project in any area. It doesn’t provide a diagram for software build process bcos thats not the intention, its meant to be a project management methodolody but provides a strong focus for quality. It has a separate technique on ‘Quality Review’ as well.