Other Tutorials by

Visual Basic - Visual Basic tutorials

VB6 beginners tutorial - Learn VB6

Advanced VB6 tutorial - Learn Advanced VB6

You are here: > Systems Analysis and Design

Role of Quality in Software Development

Till now in this chapter we have talked about the testing of the system. Testing is one process to have a error free system, but it is only a small part of the quality assurance activities, which are employed for achieving the good quality and error free system. We have not yet talked about quality of system produced. Quality enforcement is very important in system development. In this part we'll study how we can apply quality factors in order to produce a quality system. Here mainly software system and quality is considered.

We employ software to solve and simplify our real-life problems and it goes without saying that it should be of high class i.e. quality software, thus here the software quality and it's assurance come into the picture. Software quality assurance is an umbrella activity, which must be applied throughout the software engineering process. But this leads us to few questions such as how to define quality and what exactly it is with respect to software. Hence it becomes a subjective issue but then there are some basic do's and don’ts to be taken care of during the course of software cycle which if applied thoroughly will lead to a reasonable quality software and that is what the following definition of software quality states- Conformance to explicitly stated functional and performance requirements, explicitly documented development standards and implicit characteristics that are expected of all professionally developed software.

Though this definitions speak a volume about the matter, to further make it more simple for our understanding we can focus on the points given below.

Software requirements have to be met by the newly developed system and thus any lack of conformance in them will be serious quality lag.

Specified standards define a development criteria which displays the manner in which the software is engineered. Any deviation from the given criteria will result into lack of the quality.

No matter how much vocal, straight, honest and frank the client may be but then there are always a set of implicit requirements which are not mentioned but they should be met.

The dominant nature of the software market is its dynamic growth. New application areas are continually emerging along with birth of new technologies. New methods of information processing and new programming environments have created a dilemma in management of software development. For software developers whatever they produce , it must be sold in order to survive in this dynamic software industry. Also these companies should always try for continuous improvement in quality.

For quality, Software Engineering Institute Carnegie Mellon University, Pennsylvania has devised a quality model known as Capability Maturity Model CMM. This model is based on the principles of Total Quality Management(TQM) for improving the entire software development process. The goal of CMM is that a firm's process capability is reflected to the extent to which it plans for and monitors software quality and customer satisfaction. As organizations grow, software project management practices are adequately utilized and software development undergoes a more refined process. In CMM , the process capability of a company is understood in five advancing maturity levels, a brief overview of them is given below:

LEVEL 1 : Initial - processes are not adequately defined and documented.

LEVEL 2 : Repeatable - implementation of project management tools.

LEVEL 3 : Defined - all projects use an organized, documented and standardized set of activities that are implemented throughout the project life cycle.

LEVEL 4 : Managed - Specific process and quality outcome measures are implemented.

LEVEL 5 : Optimized - Continuous process improvement is adopted in the entire organization. Sophisticated methods of defect prevention, technology changes management and process change management is implemented.

The CMM has become tool to evaluate the potential of an organization to achieve high quality in software development. Each software company should aim to achieve high CMM level.


<< Previous Page | Contents | Next Page >>


Home | About Us | Privacy Policy | Contact Us

Copyright © | All Rights Reserved