Software Process Management (SPM) - Unit 5
This unit explores advanced concepts in software process management,
focusing on process improvement and mapping to the SEI Capability Maturity
Model (CMM), an overview of ISO/IEC 12207, and programme management. It
explains how these frameworks and methodologies are used to enhance
project quality, control, and organizational efficiency. Additionally, detailed
one-page answers for key questions provide a deep understanding of how
these practices enable software companies to become market leaders.
1. Process Improvement and Mapping to CMM
Process improvement is critical for enhancing the maturity and performance of
software development practices. The SEI Capability Maturity Model (CMM) is a
widely recognized benchmark that helps organizations assess and improve
their software processes. The CMM defines five maturity levels that describe
the evolution of an organization’s processes—from chaotic and ad hoc to
optimized and continuously improving.
Overview
The SEI CMM provides a structured framework to evaluate and enhance the
software process maturity. It outlines key process areas (KPAs) that an
organization should support as it moves up the maturity levels. For example, at
Level 2, organizations focus on basic project management practices such as
requirements management, project planning, and configuration management.
As organizations progress to Levels 3, 4, and 5, they emphasize process
standardization, quantitative process improvement, and innovation. The
mapping of process improvement activities to CMM helps organizations
identify gaps and target improvements that can lead to higher quality products,
predictable outcomes, and increased market competitiveness.
Key Points:
CMM Levels:
o Level 1 (Initial): Processes are immature and unpredictable.
o Level 2 (Repeatable): Basic project management processes are in
place.
o Level 3 (Defined): Standardized processes are established and
documented.
o Level 4 (Managed): Quantitative performance measurement is
used to control processes.
o Level 5 (Optimized): Continuous process improvement and
innovation are the focus.
Key Process Areas (KPAs):
o Level 2: Requirements management, project planning, tracking,
quality assurance, configuration management.
o Level 3: Organizational process focus, process definition, training,
integrated management, peer reviews.
o Level 4: Process measurement and analysis, quality management,
defect prevention.
o Level 5: Technology innovation and process change management.
Benefits:
Organizations that map their process improvement to CMM can achieve
higher predictability, lower cost of quality, and a competitive advantage
by delivering better software.
2. ISO 12207 – An Overview
ISO 12207 is an international standard that provides a comprehensive
framework for software lifecycle processes. It defines processes, activities, and
tasks for software development, operation, and maintenance, ensuring a
consistent and systematic approach across industries.
Overview
ISO 12207’s primary goal is to establish a common language and framework for
software lifecycle processes. This standard applies to software of any size and
complexity, whether standalone or embedded in hardware systems. ISO 12207
is flexible, allowing organizations to tailor its guidelines to their specific needs,
thereby ensuring that software projects are managed consistently and
efficiently. The standard categorizes processes into primary (development,
operation, maintenance), supporting (documentation, configuration
management, quality assurance), and organizational (management,
infrastructure, training) processes.
Key Concepts:
Purpose:
o Provide a standardized framework for managing software projects.
o Enhance communication and collaboration among stakeholders.
o Improve overall quality and efficiency by standardizing processes.
Scope:
o Applies to any software project regardless of size.
o Suitable for both development and maintenance.
o Can be tailored to meet specific project or organizational
requirements.
Process Categories:
o Primary Processes: Acquisition, supply, development, operation,
maintenance.
o Supporting Processes: Documentation, configuration
management, quality assurance.
o Organizational Processes: Management, infrastructure, training.
Lifecycle Stages:
o Planning, development, operation, and maintenance.
Benefits:
Standardization, improved quality, risk management, efficiency, and
regulatory compliance.
Example:
In a mobile app development project, ISO 12207 guides the supplier
(development of the app), ensures proper configuration management via
Git, and mandates thorough testing across multiple devices for quality
assurance.
3. Programme Management
Programme management involves coordinating a collection of related projects
to achieve benefits and strategic objectives that would not be possible if the
projects were managed independently. It focuses on aligning projects with
organizational goals, optimizing resource allocation, and ensuring that the
combined outcomes deliver maximum value.
Overview
Unlike individual project management, programme management addresses the
interdependencies and strategic alignment of multiple projects. The approach
ensures that each project contributes to the overall business strategy, and
resources are utilized efficiently across the entire portfolio. Programme
management emphasizes governance, benefits realization, risk management,
and effective communication among stakeholders. By managing projects as a
cohesive programme, organizations can achieve improved coordination,
streamlined processes, and better overall performance.
Key Components:
Programme Definition:
o Define objectives, scope, benefits, and governance structure.
o Identify and select projects that align with strategic goals.
Programme Planning:
o Develop a high-level plan with timelines, budgets, and resource
allocations.
o Establish criteria for benefits realization and performance
measurement.
Programme Execution:
o Coordinate and manage individual projects.
o Monitor progress, manage risks, and resolve interdependencies.
Benefits Realization:
o Track and measure the benefits delivered by the programme.
o Ensure that intended strategic outcomes are achieved.
Programme Closure:
o Formally close the programme after all projects are complete.
o Conduct lessons-learned reviews to inform future initiatives.
Tools and Techniques:
o Programme Management Office (PMO), benefits management
frameworks, dependency mapping, risk management tools, and
stakeholder engagement plans.
Benefits:
Strategic alignment, efficient resource utilization, improved coordination,
better risk management, and enhanced benefits realization.
Important Questions
1) Discuss the concept and various levels of SEI-CMM. How does this standard
help software companies become market leaders?
The SEI Capability Maturity Model (CMM) is a benchmark for assessing and
improving the maturity of an organization’s software processes. It defines five
maturity levels that describe the evolution from ad hoc, chaotic practices to a
state of continuous process improvement and optimization.
Level 1 (Initial):
Processes are unpredictable, poorly controlled, and reactive. There is
little to no formal process, leading to inconsistent outcomes.
Level 2 (Repeatable):
Basic project management processes are established, ensuring that
projects follow similar procedures and can achieve repeatable results.
Key process areas include requirements management and project
tracking.
Level 3 (Defined):
Processes are standardized and documented across the organization.
This leads to improved quality, better project planning, and more
consistent performance across projects.
Level 4 (Managed):
Quantitative management practices are introduced, allowing
organizations to monitor process performance using metrics. This level
focuses on process measurement, analysis, and quality management,
leading to enhanced predictability and cost control.
Level 5 (Optimized):
Continuous process improvement is ingrained in the organizational
culture. Innovations in technology and process change management
ensure that the organization is adaptive and can achieve off-scale
performance improvements.
SEI-CMM helps software companies become market leaders by providing a
framework for improving process efficiency, reducing defects, and increasing
predictability in software delivery. Companies that achieve higher maturity
levels typically see reduced project risks, lower development costs, and higher
quality products. The disciplined approach outlined by the CMM also builds
credibility with customers, investors, and regulatory bodies, positioning these
companies as reliable and competitive market leaders.
2) What are the key processes defined in ISO/IEC 12207 that can help
improve the management of software projects in a portfolio?
ISO/IEC 12207 establishes a comprehensive framework for software lifecycle
processes, which plays a crucial role in managing a diverse portfolio of software
projects. Key processes defined by ISO/IEC 12207 include:
Primary Processes:
These are directly related to the core activities of software development
and include acquisition, supply, development, operation, and
maintenance. By standardizing these processes, organizations ensure
that each project adheres to a consistent methodology, leading to
predictable and high-quality outcomes.
Supporting Processes:
These processes assist the primary processes. They include
documentation, configuration management, quality assurance, and
verification and validation. Implementing these processes across projects
ensures that all deliverables meet quality standards and that changes are
effectively managed.
Organizational Processes:
Focused on the broader organizational framework, these processes cover
management, infrastructure, and training. They support continuous
improvement across the portfolio by ensuring that best practices are
shared, and the overall process maturity of the organization increases.
The standard’s comprehensive approach helps in planning, executing, and
monitoring projects consistently. This uniformity makes it easier to compare
performance across different projects and allocate resources effectively.
Moreover, by tailoring the standard to specific project needs, organizations can
optimize workflows, reduce rework, and improve overall project efficiency,
leading to better portfolio management and strategic alignment with business
objectives.
3) How does programme management differ from project management?
Programme management and project management serve different, though
related, functions within an organization. While project management focuses
on the successful execution of a single project with defined scope, schedule,
and budget, programme management takes a broader, more strategic view.
Scope and Objectives:
Project management is concerned with delivering a specific product or
service within a defined timeframe and budget. In contrast, programme
management coordinates multiple related projects to achieve broader
strategic benefits and long-term organizational goals.
Integration and Coordination:
In project management, the focus is on managing interdependent tasks
and ensuring that all activities within the project are executed efficiently.
Programme management, however, emphasizes the integration of
various projects to ensure that they align with overarching strategic
objectives. This includes managing dependencies, resolving resource
conflicts, and ensuring that risks are addressed at a higher level.
Governance and Oversight:
Programme management typically involves the establishment of a
Programme Management Office (PMO) or similar structure that provides
governance, oversight, and support to individual projects. This central
oversight ensures that projects are not only completed successfully but
also contribute to the overall value and strategic direction of the
organization.
Benefits Realization:
While project management focuses on the delivery of specific outputs,
programme management emphasizes the realization of benefits—
ensuring that the combined outcomes of multiple projects deliver
measurable business value. This includes tracking and managing benefits
throughout the programme lifecycle.
In summary, project management is tactical and execution-focused, ensuring
that individual projects are completed efficiently. Programme management is
strategic, ensuring that all projects work together to drive organizational
success, improve resource allocation, and maximize overall benefits.