Software development organizations have a variety of mechanisms at their disposal to help in managing and improving the quality of the products they produce for asp.net software companies in india. Quality Assurance organizations, problem reporting systems, software process improvement and peer reviews (to name just a few) are important tools for product quality enhancement. But an often-overlooked piece of the quality puzzle may well provide the most effective means to improve product quality: the individual software engineer.
After a short introduction to what the Personal Software Process (PSP)
is, we will highlight the ways in which individual engineers (and their
organizations) can benefit from adding the PSP’s Personal Quality Management
techniques to their professional repertoires. We will take a brief look at the
benefits that have been achieved by those who have already learned to apply
these principles in their work for asp.net software companies india. Then we will examine in more detail the
specific activities PSP-trained engineers engage in to manage the quality of
the software they produce. We will look at everything from simple defect
logging, to personal and peer reviews, to developing a personal quality plan
and using it to guide your work.
What is the PSP?
The concepts and activities discussed in this article are the quality
management aspects of the Personal Software Process (PSP) developed by Watts S.
Humphrey of the Software Engineering Institute (SEI).
The PSP is more than just training; it is a boot camp consisting of
about 40 hours of classroom instruction, 10 programming assignments, and 3
data-analysis exercises, requiring a total of about 150 hours for the average
programmer to complete for asp.net software company in india.
The result of the PSP boot camp is that the programmers don’t just
learn about good processes, they actually improve their own processes, measure
the effects of those process changes, quantify the benefits they have
experienced, and set goals for further improvements. The PSP achieves these
results by leading students through three steps.
In PSP step0, they lay a simple foundation for the learning to come:
- Following simple process scripts,
- Collecting three basic measures of their work (time spent, size of products produced, and defects corrected), and
- Performing a simple post-project analysis.
In PSP step1, they begin to build the capability to plan and manage
their own work, setting the stage for Personal Quality Management:
- Following a defined project planning process,
- Using their own prior data to make increasingly more accurate estimates for each programming assignment, and
- Planning their work at a level of detail that allows them to track and manage their progress.
In PSP step2, they focus on achieving significant quality improvements
by learning how to engage in Personal Quality Management:
- Using their prior data to plan for incremental improvements in the quality of their programs,
- Removing defects early using personal review techniques guided by their own prior defect performance, and
- Identifying and capitalizing on defect prevention opportunities in their program design and implementation methods.
Those who complete the PSP boot camp emerge with the knowledge and
skills to make accurate plans, work to those plans, and produce superior
quality products.
The Motivation for Personal Quality Management
Most programmers have never learned to apply personal quality
management techniques like those described in this article in their work for asp dot net software companies in india. This
is because our educational system has generally ignored the topic, and in the
software business, "quality assurance" often refers to little more
than testing. This is unfortunate, because vast opportunities for improving the
quality of the software we produce are being missed as we continue with
business as usual.
This is surprising, given that these techniques are anything but new.
Other engineering disciplines have embraced them for decades and manufacturers
and engineering companies have been applying them for nearly fifty years.
Watts Humphrey, in the PSP has given programmers the opportunity to
understand these methods and apply them to software development. Those who have
done so have found the effects on their work to be dramatic, with the
improvement in the quality of their software the most obvious and rewarding
aspect. These individuals have begun to take control of the task of writing programs,
and are taking the first steps toward changing "software engineering"
into a true engineering discipline.
Defect Content as a Dimension of Quality
When we think of software quality, we tend to think about defects.
This is a natural tendency, since defective software isn’t good for much. But a
defect (or more correctly, lack of defects) is not the only, or even the most
important dimension of quality. Other dimensions of quality include Usability,
Maintainability, Install-ability, Security, and Reliability. In any product,
each of these dimensions is important to one degree or another and every
development project must be careful to pay appropriate attention to them. But
from the point of view of Personal Quality Management, defect management is
first priority. This is true for two reasons:
- The other dimensions of quality are issues of either product requirements or organizational standards. While the individual software engineer can affect these things, they are not under his or her direct control.
- Defect injection is a purely personal phenomenon. Each person’s defect numbers, types and patterns are unique, and require personalized actions to effectively detect and eliminate them.
You may note throughout this article that I will never refer to
"bugs". I believe that this term trivializes a very important issue,
making it sound minor, or even cute. In fact, defective software wastes
millions of dollars for companies and individuals throughout the world. And as
we become more and more dependent on software for critical functions, it is
becoming important to organization’s and individual’s health and life. In order
to focus on defects as a quality management priority, we must understand their
nature. This nature can be summed up this way:
- Software that contains one or more defects is "defective".
- Defects are the result of human errors.
- All humans make errors.
- All software engineers are human.
Therefore, defect management must be the first quality management
focus for all Software Engineers.
Courtesy: Sanika Taori
No comments:
Post a Comment