Statistical Process Control (SPC) has been an integral component of the Software Engineering Institute's (SEI's) maturity models for about nineteen years. This article describes an intellectual journey in which the primacy of SPC applied to software development processes is challenged.
Although this is an old one, I thought it would be worth commenting. My comment lies outside the CMMI concepts or the development process itself, and looks at defects fro ma different perspective. For large and complex systems there is a lot of fragility inherent in the system. You need to be able to ensure that a lot of critical to customer actions do not deteriorate from a certain baseline which is the acceptable quality for the customer and usually this is the previous version of the software. So what I am interested in is how with each commit, CPU cycles, RAM and sometimes disk size of a saved file changes. This way you can create a control chart and apply SPC in practice. You can detect bad committing practices, bugs by monitoring changes in standard deviation or significant changes in business logic and decide if a move in mean can be justified to a customer or not.
Bob Raczynski is a Software Quality Assurance Manager at Lockheed Martin Space Systems Company (SSC). He holds a Masters degree in Applied Computer Science and a Bachelors degree in Electronics Engineering Technology. Prior to his current position, he worked in engineering and quality roles at AT&T Bell Labs, Motorola, and Siemens. He is an ASQ Certified Software Quality Engineer (CSQE) and IEEE Computer Society member.
CMCrossroads is a TechWell community.
Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.
User Comments
Hi Bob
Thanks for the article
Although this is an old one, I thought it would be worth commenting. My comment lies outside the CMMI concepts or the development process itself, and looks at defects fro ma different perspective. For large and complex systems there is a lot of fragility inherent in the system. You need to be able to ensure that a lot of critical to customer actions do not deteriorate from a certain baseline which is the acceptable quality for the customer and usually this is the previous version of the software. So what I am interested in is how with each commit, CPU cycles, RAM and sometimes disk size of a saved file changes. This way you can create a control chart and apply SPC in practice. You can detect bad committing practices, bugs by monitoring changes in standard deviation or significant changes in business logic and decide if a move in mean can be justified to a customer or not.