9 a] Define software quality and explain place of software quality in project management.
Software quality is a measure of how well software meets the needs and expectations of its users and other stakeholders, and how well it adheres to specified requirements and standards. It encompasses various attributes that determine the effectiveness, efficiency, reliability, and maintainability of the software.
Software quality refers to the degree to which software meets the needs of its users and stakeholders. It encompasses both the functionality of the software and its underlying development processes.
Key Aspects of Software Quality
- Functional quality: How well the software performs its intended tasks, adhering to specified requirements.
- Non-functional quality: Attributes like performance, usability, reliability, maintainability, security, and portability.
- Process quality: The effectiveness and efficiency of the software development processes.
Achieving Software Quality
Software quality is achieved through a combination of factors:
- Clear and concise requirements: Defining what the software should do.
- Effective design and architecture: Creating a solid foundation for the software.
- Rigorous testing: Identifying and fixing defects.
- Code quality: Writing clean, maintainable, and efficient code.
- Continuous improvement: Refining processes and practices.
Software quality in project management.
Quality will be of concern at all stages of project planning and execution, but will be of particular interest the following points in the Step Wise framework (Figure 13.1).
Step 1: Identify project scope and objectives Some objectives could relate to the qualities of the application to be delivered.
Step 2: Identify project infrastructure Within this step, activity 2.2 identifies installation standards and procedures. Some of these will almost certainly be about quality.
Step 3: Analyze project characteristics In 3.2 (‘Analyze other project activity characteristics-including quality based ones’) the application to be implemented is examined to see if it has any special quality requirements. If, for example, it is safety critical then a range of activities could be added, such as n-version development where a number of teams develop versions of the same software which are then run in parallel with the outputs being cross-checked for discrepancies.
Step 4: Identify the products and activities of the project It is at this point that the entry, exit and process requirements are identified for each activity. This is described later in this chapter.
Step 5: Review and publicize plan At this stage the overall quality aspects of the project plan are reviewed.