Tuesday

software process

When you build a product or system, it’s important to go through a series of predictable steps—a road map that helps you create a timely, high-quality result. The road map that you follow is called a ‘software process.’

 Software engineers and their managers adapt the process to their needs and then follow it. In addition, the people who have requested the software play a role in the software process.

 Process important because it provides stability.

 At a detailed level, the process that you adopt depends on the software you’re building. One process might be appropriate for creating software for an aircraft avionics system, while an entirely different process would be indicated for the creation of a Web site.

 From the point of view of a software engineer, the work products are the programs, documents, and data  produced as a consequence of the software engineering activities.

 A number of software process assessment mechanisms enable organizations to determine the “maturity” of a software process. defined by the process.

 we define a software process as a framework for the tasks that are required to build high-quality software.

 A software process defines the approach that is taken as software is engineered. But software engineering also encompasses technologies that populate the process—technical methods and automated tools.

 More important, software engineering is performed by creative, knowledgeable people who should work within a defined and mature software process that is appropriate for the products they build and the demands of their marketplace.



Umbrella activities in this category include:
 
  1. Software project tracking and control
  2. Formal technical reviews
  3. Software quality assurance
  4. Software configuration management
  5. Document preparation and production
  6. Reusability management
  7. Measurement
  8. Risk management

In recent years, there has been a significant emphasis on “process maturity.”

software engineering practices and establishes five process maturity levels that are defined in the following manner:

Level 1: Initial. The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends on individual effort.

Level 2: Repeatable. Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.

Level 3: Defined. The software process for both management and engineering activities is documented, standardized, and integrated into an organization wide software process.

Level 4: Managed. Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled using detailed measures.

Level 5: Optimizing. Continuous process improvement is enabled by quantitative feedback from the process and from testing innovative ideas and technologies.

No comments:

Post a Comment