Subscribe by Email


Showing posts with label Personal Software Process. Show all posts
Showing posts with label Personal Software Process. Show all posts

Thursday, March 17, 2011

How does Personal Software Process (PSP) help in Improving Quality of the Product?

Software quality is gaining importance day by day and getting a zero-defect product is really challenging. Any defect in a small part of a large program could potentially cause serious problems. Thus, to produce high-quality large programs, every software engineer who develops one or more of the system's parts must do high-quality work. This means that all engineers must manage the quality of their personal work. To help them do this, the PSP guides engineers in tracking and managing every defect

Simple coding mistakes can produce very destructive or hard-to-find defects. This is particularly important since the source of most software defects is simple programmer
oversights and mistakes.To improve program quality, PSP training shows engineers how to track and manage all of the defects they find in their programs.

- The first PSP quality principle is that engineers are personally responsible for the quality of the programs they produce. The PSP provides a series of practices and measures to help engineers assess the quality of the programs they produce and to guide them in finding and fixing all program defects as quickly as possible. PSP quality management methods are early defect removal and defect prevention.

- The second PSP quality principle is early defect removal.The PSP process includes design and code review steps in which engineers personally review their work products before they are inspected, compiled, or tested. The principle behind the PSP review process is that people tend to make the same mistakes repeatedly.

- The third PSP quality principle is to prevent defects.There are three ways to prevent defects in PSP. First, engineers record data on each defect they find and fix and then review these data to determine
what caused the defects and to make process changes to eliminate these causes. Second, use an effective design method and notation to produce complete designs. Third, with a more thorough design, coding time is reduced, thus reducing defect injection.


The Personal Software Process (PSP) - Objectives and PSP Model

The developer uses some process to build computer software. The process can be ad hoc, may change on a daily basis, may not be efficient, effective or even successful, but a process does exist.
In the PSP methods included are: following a defined process, planning the work, gathering data, and using these data to analyze and improve the process.
While this sounds simple in concept, it is not easy in practice. This is why a principal focus of PSP introduction is on providing a working environment that supports PSP practices.

- PSP helps software engineers to understand and improve their performance by using a disciplined, data-driven procedure.
- PSP emphasizes personal measurement of both the work product that is produced and the resultant quality of the work product.
- PSP makes the practitioner responsible for project planning.
- PSP empowers the practitioner to control the quality of all software work products developed.
- PSP helps software engineers to improve their estimating and planning skills, make commitments they can keep, manage the quality of their projects, reduce the number of defects in their work.
- PSP helps developers produce zero-defect, quality products on schedule.
- PSP emphasizes the need to record and analyze the types of errors you make, so strategies can be developed to eliminate them.

FRAMEWORK ACTIVITIES USED DURING PSP ARE:
The PSP model defines five framework activities:
- Planning: Isolates requirements and based on these develops both size and resource estimates. A defect estimate is also made.
- High Level Design: External specifications for each component to be constructed are developed and a component design is created. Prototypes are built and all issues are recorded and tracked.
- High Level Design Review: Formal verification methods are applied to uncover errors in design.
- Development: The component level design is refined and reviewed. Code is generated, reviewed, compiled, and tested.
- Postmortem: The effectiveness of the process is determined using the measures and metrics collected.


Facebook activity