Thursday, August 13, 2015

Software Quality Basics



Quality Control: The Life of a Mature Organization 


 Producing quality software requires that an organization have quality control in place. What is quality control? Quality control involves having processes and procedures in place to guide and direct quality assurance. From the beginning of Software Development Lifecycle (SDLC) quality should be the top priority. Getting the organization's expectations for quality in line with the client's expecations is sometimes a challenge. An organizations quality control and quality assurance standards must be flexible enough to allow the client's expectations to fit into the big picture. 

  After working as a Software Tester for over fifteen years I have learned that having good quality control is critical to creating quality software. Customer expectations of usability need to align with the software development company’s quality standards. Defects/issues don’t start when the code is being unit tested. but start with the first time an organization meets with the client to discuss their expectations. Quality control establishes parameters/guidelines for ensuring quality is met. Quality control oversees quality from the design phase all the way through installation.

  Assuring a quality piece of software starts with understanding what quality assurance is. Quality assurance creates and assesses the processes needed to produce software. Quality assurance identifies weaknesses. In addition to identifying the weaknesses, it establishes process improvements to remove those weaknesses.

  Controlling quality is a separate function from quality assurance. Controlling quality is established to identify issues in the software, and then correct them. Processes must first be put in place by quality assurance. Establishing processes is a function of quality assurance.
  Capability Maturity Model Integrated (CMMI) is a process improvement appraisal program which guides the process improvement for projects, divisions, and for the company as a whole. There are several levels to CMMI.

  Take for instance, CMMI level 3. Level 3 development model includes the following:

  1. Configuration Management
  2. Measurement and Analysis
  3. Project Planning
  4. Project Monitoring and Control
  5. Process and Product Quality Assurance
  6. Requirements Management
  7. Supplier Agreement Management

 CMMI is very much in line with quality control. Not only is process documentation required, but quality control and monitoring of processes is required. Organizations with CMMI level 3 must document processes and procedures, and have a repository for completed works (design documents, test cases, testing results). CMMI has 5 different levels of maturity (1-5). To do business with the government, a CMMI level 3 designation is required. Overall, CMMI is all about quality control.

  An organization that wants to ensure good quality assurance needs to have good quality control. Without proper quality control, quality assurance is like shooting at a target with a blindfold on. You're most likely to miss the mark on quality. Not only will your organization suffer, but the client will suffer, which means you probably won't be in business for long.

Copyright, 2015, Trevor Lang Carter

No comments:

Post a Comment