8 Fundamental Principles That Guide the Software Process

A Personal Summary of Roger S. Pressman's Core Tenets


10 min read

8 Fundamental Principles That Guide the Software Process

A software process provides the conceptual framework from which a complete plan for software development can be established. Software Engineering: A Practitioner’s Approach by Roger S. Pressman is a “must” for anyone in the computer industry. In my summary of his 8 fundamental principles of the software process, I interpret what has caught my attention the most. This is a completely personal summary that I approach from the point of view of my work. These principles apply to the structure and, by extension, to any software process.

Principles
Agility
Focus on Quality
Adaptation
Team Effectiveness
Communication and Coordination
Change Management
Risk Assessment
Generation of Valuable Products

Agility

Whatever process model is chosen (prescriptive or agile), it is the agile principles that should govern the approach. The technical approach must be kept as simple as possible, products should be as concise as possible, and decisions should be made locally whenever possible.

Focus on Quality

At each stage, the focus must be on quality. The exit condition for every task, activity, and process should be focused on the quality of the product generated.

Adaptation

The process is not a dogma, and it is necessary to adapt the approach to the constraints imposed by the problem, the people, or the project itself.

Team Effectiveness

The software engineering process and practice are important, but the goal is the people. To achieve effectiveness, it is essential to foster trust among team members and mutual respect.

Communication and Coordination

Many times, projects fail because important information is not communicated or because project members do not coordinate their efforts to create a successful final product.

Change Management

The approach can be formal or informal, but mechanisms must be established to manage the way in which changes are requested, evaluated, approved, and implemented.

Risk Assessment

Many things can go wrong when developing a software project. It is essential to establish contingency plans.

Generation of Valuable Products

Only products that generate value for other activities, actions, or tasks in the process should be generated. We must be aware that every product that is developed will pass into the hands of someone else. For this reason, we must ensure that the product presents the necessary information without ambiguities or omissions.


Part 4 of Roger S. Pressman’s book focuses on aspects of project and process management, and analyzes in detail several aspects of each of these principles.