SPPM4
SPPM4
Quality Indicators:
●Change Traffic and Stability: Measures the number of Software Change Orders (SCOs) opened
and closed, indicating software stability and convergence towards a final product.
●Breakage and Modularity: Tracks the average extent of changes (breakage) required per change
request. A decreasing or stable trend indicates good modularity, while an increasing trend suggests
maintainability issues.
●Rework and Adaptability: Measures the average effort (rework) needed to implement changes. A
decreasing or stable trend signifies good adaptability, while an increasing trend points to potential
problems.
●MTBF and Maturity: MTBF (Mean Time Between Failures) represents the average usage time
between software faults. A rising MTBF trend over time indicates increasing software maturity and
reliability.
7 Define SCO.
A Software Change Order (SCO) is the smallest unit of authorized work that creates, modifies,
or removes components within a controlled software baseline. It serves as a formal request to
implement a change and is used to track and manage changes throughout the development
process.
Key fields of an SCO include:
●Title: A concise summary of the change.
●Description: A detailed explanation of the proposed modification.
●Metrics: Relevant measurements associated with the change, such as estimated effort or impact.
●Resolution: The outcome of the change request.
●Assessment: Evaluation of the change's impact on the system.
●Disposition: The final action taken on the SCO
9 What is MTBF?
MTBF is a reliability metric that measures the average time a system operates without
experiencing a failure. In software development, it's often calculated by dividing the total test hours
by the number of critical defects (Type 0 and Type 1 SCOs) encountered during testing.
PART-B
Line-of-Business Organizations
● Responsibility for Process Definition and Maintenance: This is specific to a cohesive line
of business.
● Responsibility for Process Automation: This is an organizational role equal in importance
to the process definition role.
● Organizational Roles: These may be fulfilled by a single individual or several different
teams.
Project Organizations
● Artifacts and Activities: Include business cases, customer interfaces, PRA interfaces,
software development plans, planning, monitoring, status assessments, risk
management, software process definition, and process improvement.
● Evolution of Organizations
Inception Phase: Software management (10%), software architecture (20%), software
development (20%), software assessment (10%).
Elaboration Phase: Software management (10%), software architecture (50%), software
development (20%), software assessment (20%).
Construction Phase: Software management (10%), software architecture (10%),
software development (50%), software assessment (30%).
Transition Phase: Software management (10%), software architecture (5%), software
development (35%), software assessment (50%).
● Process Automation
Importance: Critical to an iterative development process. Tools and environments that
support round-trip engineering and integrated environments promote change freedom
and effective evolution of technical artifacts.
Configuration Baseline: A named collection of software components and supporting
documentation subjected to change management. Includes major releases, minor
releases, and interim releases.
These roles and responsibilities ensure that software projects are managed efficiently,
maintaining high standards and quality throughout the project lifecycle.
These quality indicators help in assessing the progress and quality of a software project,
ensuring that it meets the desired standards and is on track for successful completion.
1.Meaningful:
● The metric should be considered meaningful by the customer, manager, and performer.
If any one of these stakeholders does not see the metric as meaningful, it will not be
used.
2.Quantifiable Correlation:
● The metric should demonstrate a quantifiable correlation between process perturbations
(problems) and business performance.
4.Displays Trends:
● The metric should display trends. Understanding the change in a metric's value with
respect to time, subsequent projects, subsequent releases, and so forth is an extremely
important perspective.
5.Natural By-Product of the Process:
● The metric should be a natural by-product of the process. It should not introduce new
artifacts or overhead activities; it should be derived directly from the mainstream
engineering and management workflows.
6.Supported by Automation:
● The metric should be supported by automation. Experience has demonstrated that the
most successful metrics are those that are collected and reported by automated tools.
These pragmatic software metrics help in tracking and improving the software development
process, ensuring that the project stays on track and meets the desired standards and quality.
1.Meaningful:
● The metric should be considered meaningful by the customer, manager, and performer.
If any one of these stakeholders does not see the metric as meaningful, it will not be
used.
2.Quantifiable Correlation:
● The metric should demonstrate a quantifiable correlation between process perturbations
(problems) and business performance.
4.Displays Trends:
● The metric should display trends. Understanding the change in a metric's value with
respect to time, subsequent projects, subsequent releases, and so forth is an extremely
important perspective.
These pragmatic software metrics help in tracking and improving the software development
process, ensuring that the project stays on track and meets the desired standards and quality.
Elaboration Phase
● In the Elaboration phase, the emphasis shifts to refining the project's architecture and
addressing major technical risks. The architecture team plays a significant role in
developing and validating the system's architecture. The development team continues to
build and integrate components, while the assessment team ensures that the project
meets its quality and performance goals.
Construction Phase
● The Construction phase focuses on building the complete system based on the refined
architecture. The development team takes the lead in constructing and integrating all
components, while the assessment team conducts thorough testing and quality
assurance. The architecture team provides support and guidance as needed.
Transition Phase
● During the Transition phase, the project shifts towards deployment and user acceptance.
The assessment team plays a crucial role in final testing, validation, and ensuring that
the system meets all requirements. The development team addresses any remaining
issues and prepares the system for release. The architecture team provides final support
and documentation.
These life cycle expectations ensure that the project progresses smoothly through each phase,
with appropriate focus and resources allocated to different activities. This approach helps in
managing risks, maintaining quality, and achieving successful project completion.
5.Metrics Definitions:
● Detailed definitions of the metrics to be collected, including requirements progress,
design progress, implementation progress, assessment progress, and other dimensions.
These definitions ensure that everyone involved understands what each metric
represents and how it is measured.
6.Actors:
● Typically include the monitor and the administrator, who are responsible for overseeing
the metrics collection process and ensuring that the data is accurate and up-to-date.
● Project Activity Status: An overview of the status of top-level Work Breakdown Structure
(WBS) elements, coded with colors to reflect their current status (e.g., green for ahead of
plan, yellow for within 10% of plan, red for more than 10% variance).
● Technical Artifact Status: The current state of requirements specifications, design
models, source code baseline, and test programs.
● Milestone Progress: An assessment of the achievement of milestones against the plan.
● Action Item Progress: The current number of open and closed issues, providing a
different perspective on progress.
Metrics automation is essential for maintaining control over a software project, ensuring that it
stays on track and meets its quality and performance goals. By leveraging automated tools and
systems, organizations can achieve greater efficiency, accuracy, and insight into their software
development processes.
Management Indicators
Management indicators are essential metrics used to assess the progress and performance of a
software project. They provide insights into various aspects of project management, helping to
ensure that the project stays on track and meets its objectives. Here are the key management
indicators:
● This metric tracks the cost expenditures over the project lifecycle. It involves using an
earned value system to measure financial performance, which includes parameters like:
○ Expenditure Plan: The planned spending profile for a project over its planned
schedule.
○ Actual Progress: Actual progress relative to the planned progress.
○ Actual Cost: The actual cost for a project over its actual schedule.
○ Earned Value: The value that represents the planned cost of the actual progress.
○ Cost Variance: The difference between the actual cost and the earned value.
○ Schedule Variance: The difference between the planned cost and the earned
value.
● This metric tracks actual versus planned staffing and the relationship between attrition
and additions. Key points include:
○ Tracking Staffing: Monitoring the number of staff members and their roles.
○ Attrition and Additions: Assessing the impact of staff turnover and new hires on
project progress.
○ Team Dynamics: Evaluating the overall team morale and productivity.
Quality Indicators
Quality indicators are metrics used to assess the quality and stability of a software project. They
provide insights into the project's health and help identify areas that need improvement. Here
are the key quality indicators explained with examples:
● Change Traffic and Stability:
○ Change Traffic:This refers to the number of software change orders (SCOs)
opened and closed over the lifecycle of the project. It provides insight into the
stability of the software and its convergence towards stability. For example, if a
project has a high number of SCOs being opened and closed, it indicates that the
software is undergoing significant changes and may be unstable.
○ Stability: This is defined as the relationship between opened versus closed
SCOs. A stable project will have a balance between the number of changes
being made and the number of changes being resolved. For instance, if a project
consistently closes as many SCOs as it opens, it suggests that the project is
stable and changes are being effectively managed.
● Breakage and Modularity:
○ Breakage: This is the average extent of change required, which is the amount of
software that needs rework. High breakage indicates that changes are causing
significant disruptions. For example, if a project frequently requires extensive
rework to implement changes, it suggests that the software is not modular and
changes are difficult to manage.
○ Modularity: This refers to the trend of breakage over time. A healthy project will
show a decreasing or stable trend in breakage, indicating that the software is
becoming more modular and easier to maintain. For instance, if a project shows
a decreasing trend in breakage, it suggests that the software is becoming more
modular and changes are easier to implement.
● Rework and Adaptability:
○ Rework: This is the average cost of change, which includes the effort to analyze,
resolve, and retest all changes to software baselines. High rework costs can
indicate inefficiencies in the development process. For example, if a project
frequently requires significant effort to implement changes, it suggests that the
software is not adaptable and changes are costly.
○ Adaptability: This is the trend of rework over time. A healthy project will show a
decreasing or stable trend in rework, indicating that the software is becoming
more adaptable to changes. For instance, if a project shows a decreasing trend
in rework, it suggests that the software is becoming more adaptable and changes
are easier to implement.
● Mean Time Between Failures (MTBF) and Maturity:
○ MTBF: This is the average usage time between software faults. It is calculated by
dividing the test hours by the number of critical and major SCOs. A higher MTBF
indicates a more reliable software product. For example, if a project has a high
MTBF, it suggests that the software is reliable and faults are infrequent.
○ Maturity: This is the trend of MTBF over time. A mature software product will
show an increasing trend in MTBF, indicating that it is becoming more reliable
and less prone to failures. For instance, if a project shows an increasing trend in
MTBF, it suggests that the software is maturing and becoming more reliable.
These quality indicators help in assessing the progress and quality of a software project,
ensuring that it meets the desired standards and is on track for successful completion.
Process Automation
Process automation is a critical aspect of modern software development, ensuring efficiency,
consistency, and quality throughout the project lifecycle. Here’s a summary based on the
documentation:
Process automation is essential for maintaining control over a software project, ensuring that it
stays on track and meets its quality and performance goals. By leveraging automated tools and
systems, organizations can achieve greater efficiency, accuracy, and insight into their software
development processes.
These roles and responsibilities ensure that line-of-business organizations can effectively
support software projects, maintain high standards, and achieve business objectives.