Monday 18 April 2016

Personl Quality Management with Personal Software Process Part 1

asp.net software companies india


















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