SainiGuhaRoy ESC (CSBS) 501
SainiGuhaRoy ESC (CSBS) 501
CA1
1.Complex Requirements:
1. Difficulty in capturing and defining all user requirements accurately.
2. Changing requirements over time due to evolving user needs or market conditions.
3. Potential for miscommunication between stakeholders and development teams.
2.Resource Constraints:
1. Limited time and budget for development, testing, and maintenance.
2. Balancing quality with speed of delivery, especially in agile and fast-paced development environments.
3. Allocation of skilled personnel and tools.
3.Technological Changes:
1. Rapid advancements in technology can render current software practices obsolete.
2. Need for continuous learning and adaptation to new tools, languages, and frameworks.
4.Testing and Validation:
1.Comprehensive testing is time-consuming and resource-intensive.
2. Ensuring thorough coverage of all possible use cases and scenarios.
3. Managing the trade-off between extensive testing and timely delivery.
CAPABILITY MATURITY MODEL (CMM)
• The Capability Maturity Model (CMM) is a framework developed by the Software Engineering Institute (SEI) at Carnegie Mellon
University in the late 1980s. It provides a structured approach for assessing and improving the maturity of software development
processes within an organization. The model helps organizations to improve their software development capabilities, ensure
product quality, and manage the complexity of software projects more effectively.
• Five Levels of Maturity in CMM
1. Initial (Level 1):
1. Characteristics: Processes are ad-hoc, chaotic, and reactive. Success depends on individual effort and heroics rather than defined
processes.
2. Description: At this level, the organization lacks stable processes. There are no standardized procedures or project management practices,
leading to unpredictable outcomes. Successes are typically not repeatable due to the absence of structured processes.
2. Repeatable (Level 2):
1. Characteristics: Basic project management processes are established to track cost, schedule, and functionality.
2. Description: The organization starts to implement standard project management practices. Past successes can be repeated as similar
projects are managed with established processes. Key areas include requirements management, project planning, project tracking, subcontract
management, quality assurance, and configuration management.
3. Defined (Level 3):
1. Characteristics: Processes are well-documented, standardized, and integrated into a standard process for the organization.
2. Description: The organization has established its standard processes, which are used across all projects. Processes are defined, documented,
and integrated into a coherent organizational framework. Key process areas include organizational process focus, training, integrated
software management, and product engineering.
4. Managed (Level 4):
1. Characteristics: Processes are measured and controlled. Quantitative quality goals are set for both processes and products.
2. Description: At this level, the organization uses quantitative data to manage processes and product quality. Processes are
controlled using statistical and other quantitative techniques. Key process areas include quantitative process management and software quality management.
• Background: The Capability Maturity Model (CMM) was developed to provide a structured framework for improving software development processes.
However, organizations faced challenges in applying CMM to other types of processes beyond software development.
• Need for Integration: To address these challenges, the Software Engineering Institute (SEI) developed the Capability Maturity Model Integration (CMMI),
which integrates various maturity models into a comprehensive framework.
• Development: CMMI was introduced in the early 2000s, evolving from CMM by incorporating lessons learned and best practices from different domains
such as software engineering, systems engineering, and integrated product development.
• Holistic Approach: Unlike CMM, which focused primarily on software processes, CMMI provides a holistic approach to process improvement that can be
applied across various disciplines within an organization.
C APABILITY MATURITY MODEL INTEGRATION (CMMI)
The Capability Maturity Model Integration (CMMI) is a comprehensive framework designed to improve and optimize processes across various domains,
including software development, systems engineering, and service management. It integrates best practices from multiple disciplines to provide a unified
approach to process improvement and organizational development.
2. Integrated Models:
1. Holistic Approach: Combines best practices from multiple disciplines into a single, cohesive framework.
2. Flexibility: Allows organizations to adapt and customize the model to their specific needs and objectives.
3. Maturity Levels:
1. Five Levels: Defines a structured progression through five maturity levels: Initial, Managed, Defined, Quantitatively Managed.
2. Structured Improvement: Provides a clear path for organizations to advance their process maturity over time.
HOW CMM AND CMMI ADDRESS THE QUALITY DILEMMA
1. Process Standardization
CMM:
• Basic Framework: CMM provides a framework for establishing basic processes but focuses primarily on software development.
• Levels of Maturity: Encourages organizations to move from ad-hoc processes to repeatable and defined processes, leading to greater consistency
and predictability.
CMMI:
• Comprehensive Framework: CMMI offers a more comprehensive approach, integrating best practices from various domains (software, systems
engineering, service management) into a standardized framework.
• Unified Processes: Promotes the standardization of processes across the organization, ensuring consistency and efficiency across all projects and
functions.
• Process Areas: Defines specific process areas with detailed goals and practices, ensuring processes are well-documented and consistently applied.
2. Project Management
CMM:
• Basic Project Management: Establishes fundamental project management practices, such as requirements management, project planning, and
tracking.
• Repeatable Processes: Focuses on creating repeatable project management practices to improve project outcoms.
CMMI:
• Advanced Project Management: Provides a more robust set of project management practices, including advanced techniques for managing project
scope, schedule, cost, and quality.
• Integrated Practices: Integrates project management with other process areas such as risk management and quality assurance for a more
comprehensive approach.
• Quantitative Management: Emphasizes the use of quantitative data to manage projects, improving predictability and control.
3. Measurement and Analysis
CMM:
• Basic Measurement: CMM includes some measurement practices to track project performance and process effectiveness.
• Limited Focus: Measurement is often focused on specific project metrics rather than broader organizational performance.
CMMI:
• Quantitative Analysis: Places a strong emphasis on measurement and analysis across all processes, using data to drive decisions and
improvements.
• Performance Metrics: Includes guidelines for collecting and analyzing performance metrics to assess process effectiveness and product quality.
• Continuous Monitoring: Encourages ongoing measurement and analysis to identify trends, issues, and opportunities for improvement.
4. Risk Management
CMM:
• Basic Risk Practices: Introduces basic risk management practices to identify and mitigate risks at the project level.
• Limited Integration: Risk management is often a separate activity from other process areas.
CMMI:
• Proactive Risk Management: Provides a more integrated approach to risk management, incorporating it into the overall process improvement
framework.
• Risk Identification and Mitigation: Includes practices for identifying, analyzing, and managing risks throughout the project lifecycle.
• Risk Management Process: Encourages the development of formal risk management processes and strategies to address potential issues before
they impact the project.
C ASE STUDY OF CMMI IMPLEMENTATION
Example: IBM’s Journey from Level 1 to Level 5
Challenge: Inconsistent software quality and project delays due to unstructured processes.
• Journey Through CMMI Levels:
1. Initial (Level 1)
1. Situation: Processes were ad-hoc and unpredictable.
2. Action: Adopted CMMI to establish basic project management practices.
3. Lesson: Begin by recognizing process inefficiencies and implementing foundational practices.
2. Repeatable (Level 2)
1. Situation: Implemented basic project management processes.
2. Action: Standardized practices for planning, requirements management, and tracking.
3. Lesson: Standardizing processes improves consistency and reliability in project outcomes.
3. Defined (Level 3)
1. Situation: Developed and formalized organizational processes.
2. Action: Documented processes and trained staff across the organization.
3. Lesson: Formal documentation and training ensure consistent application and better process alignment.
4 Managed (Level 4)
1. Situation: Focused on quantitative measurement and process control.
2. Action: Introduced metrics and statistical methods for performance management.
3. Lesson: Data-driven management enhances process predictability and decision-making.
5. Optimizing (Level 5)
1. Situation: Committed to continuous process improvement.
2. Action: Invested in innovation and regularly updated processes based on feedback.
3. Lesson: Continuous improvement fosters adaptability and sustained success.
Impact:
•IBM achieved significant improvements in software quality, project efficiency, and customer satisfaction by adopting CMMI and focusing on structured,
data-driven, and continuously improved processes.
CONCLUSION
Capability Maturity Models (CMM and CMMI) provide a structured approach to addressing the software quality dilemma by offering frameworks for
process standardization, project management, measurement, risk management, and continuous improvement. CMM lays the foundation for basic process
improvements, while CMMI offers a more integrated approach that enhances project management and fosters ongoing refinement. By implementing these
models, organizations can achieve higher quality software, better manage constraints of time and cost, and drive long-term success through systematic
process improvement.
REFERENCE
• https://cmmiinstitute.com/
• https://www.pmi.org/
• "CMMI for Development: Guidelines for Process Integration and Product Improvement" by CMMI Product Team.
THANK YOU