SlideShare a Scribd company logo
Software Process Maturity
Getahun Tigistu
Lecture One
Software Process
• Software process is a collection of tools,
methods and practices, that we use to make a
software produce and:
– To predict our performance
– It can be controlled, measured, and improved
– It aim for a balanced between creativity and
repeatability
August 25, 2023 Software Process and Project Management (SE 502) 2
Software Process Improvement
• Six steps to improve software capability
1. Understand the current development process
2. Develop a vision of a desired process
3. List the required process improvement
actions in order of priority
4. Produce a plan to implement the actions
5. Commit the resources to execute the plan
6. Start over at step 1
August 25, 2023 Software Process and Project Management (SE 502) 3
Capability Maturity Model (CMM)
• Used as a standard for appraising the current
state of the organization’s software process and
as a guide for identifying and prioritizing the
actions comprising the software process
improvement effort
• Made up of five levels and 18 key process
areas (KPA)
August 25, 2023 Software Process and Project Management (SE 502) 4
Lord Kelvin said
a
century ago . . .
"When you can measure what you are speaking
about, and express it in numbers, you [may] know
something about it; but when you cannot measure
it, when you cannot express it in numbers, your
knowledge is of a meager and unsatisfactory kind;
it may be the beginning of knowledge, but you
have scarcely in your thoughts advanced to the
stage of Science."
August 25, 2023 Software Process and Project Management (SE 502) 5
Process Maturity Levels
Initial
Repeatable
Defined
managed
Optimizing
Process
control
Process
management
Process
definition
Basic
Management
control
August 25, 2023 Software Process and Project Management (SE 502) 6
Lev. 1 The initial Process
• Crisis driven and poorly controlled (total
chaos)
• No management mechanism in place to plan
and track the work of individuals
• If procedures are established they are
abandoned during a crisis (which tends to be
continuous)
• Unpredictable cost, schedule and quality
August 25, 2023 Software Process and Project Management (SE 502) 7
Activity Results
to produce
Just do it.
Level 1
To Improve to Repeatable Process
• Learn between speed and progress
• Basic project control:
– Project management
– Management over sighting
– Quality assurance
– Change control
August 25, 2023 Software Process and Project Management (SE 502) 8
Activity Results
Preparation
Evaluation
to produce
Think before you act, and
think after you act, just to
make sure you did it right.
Level 2
Lev-2 The repeatable process
• Provides control over the way the organization establishes its
plan and commitments
• Experienced at doing similar works
• Policies for managing a software project and procedures
implementing those policies are established
• 6 key process areas apply:
• Requirements Management
– A common understanding of the client’s needs is established
between the client and the project team. This agreement forms is
the basis for planning and managing the project.
• Software Project Planning
– Reasonable plans for engineering and managing the project are
established, forming the foundation for project management
August 25, 2023 Software Process and Project Management (SE 502) 9
Lev-2 The repeatable process (Cont.)
• Software Project Tracking & Oversight
– Adequate visibility into project progress is established
allowing management to take effective action when project
performance deviates significantly from plans.
• Software Subcontract Management
– Qualified subcontractors are selected & managed effectively.
• Software Quality Assurance
– Management is provided with appropriate visibility into the
quality of the process being used and the products being
built.
• Software Configuration Management
– The integrity of a project’s products are established and
maintained throughout its life cycle (e.g., nightly build)
August 25, 2023 Software Process and Project Management (SE 502) 10
To Improve to the Defined Processes
• Establish a process group
• Establish a development process architecture
• Introduce a family of software engineering
methods and technologies
August 25, 2023 Software Process and Project Management (SE 502) 11
• When faced with a crisis they will continue to
use the process that has been defined
• Little data to support the effectiveness of the
process
• Not clear what can or should be measure
Lev. 3 The Defined Process
August 25, 2023 Software Process and Project Management (SE 502) 12
Activity Results
Preparation
Evaluation
to produce
Standards
Defined – KPA
A typical process for developing and maintaining software
across an organization is documented
7 key process areas apply:
• Peer reviews
– Reviews are used to remove defects early and efficiently.
• Inter group coordination
– Methods are established for a software engineering group to
participate actively with other engineering groups to form a
project team.
• Software product engineering
– A well-defined process is performed consistently; it integrates all
technical activities (requirements, design, code, test) to produce
correct, consistent products effectively and efficiently.
August 25, 2023 Software Process and Project Management (SE 502) 13
Defined – KPA (Cont.)
• Integrated software management
– Software engineering and management activities are integrated
into a coherent, defined process tailored from an organization’s
standard software processes and related process assets.
• Training program
– Program put in place to develop needed skills & knowledge.
• Software process definition
– A reasonable set of process assets is developed and maintained
that improve processes across projects and provide a basis for
defining meaningful data for quantitative process mgmt.
• Software process focus
– Organizational responsibility is established for activitiesthat
improve overall software process capability.
August 25, 2023 Software Process and Project Management (SE 502) 14
Area of Greatest Risk
• Organization faces major risks
– New tools will affect the process
– Entering new territory, by trying new product
– Major organizational change can be very
disruptive
August 25, 2023 Software Process and Project Management (SE 502) 15
To Improve to the managed process
• Establish basic process measurements to identify
quality and cost of each process step
• Establish database and resource to maintain it
(gathering of data)
• Provide sufficient resource with proper skill
• Access the quality of the process and report to
management
August 25, 2023 Software Process and Project Management (SE 502) 16
Activity Results
Preparation
Evaluation
to produce
Standard
Lev. 4 The Managed Process
• High cost of gathering data
• Definition of the measured data
• Process data must not be used to compare projects or
individuals
• An organization sets quantitative quality goals for both
products and processes and instruments processes with well-
defined and consistent measurements
• 2 key process areas apply:
• Quantitative Process Management
– A project’s process performance is controlled quantitatively.
• Software Quality Management
– A quantitative understanding of the quality of a project’s products
is developed to achieve specific quality goals.
August 25, 2023 Software Process and Project Management (SE 502) 17
To Improve to the Optimizing Process
• Automatic gathering of data
• Use process data to analyze and modify the
process
August 25, 2023 Software Process and Project Management (SE 502) 18
Activity Results
Preparation
Evaluation
to produce
Standard
Create lessons learned, and use lessons learned to
create more lessons learned, and use more lessons
learned to create even more lessons learned, and
use even more lessons learned to create... etc.
Level 5
Lev. 5 The Optimizing process
• The data is available to tune the process itself
• Ability to put the resources where it counts
• the entire organization is focused on continuous process
improvement
• 3 key process areas apply:
• Defect Prevention
– Causes of defects and their prevention are identified by
analyzing defects & if necessary changing the defined
process.
• Technology Change Management
– Beneficial new technologies (eg tools, methods, processes)
are identified, transferred into organization in an orderly
fashion.
• Process Change Management
– An organization’s processes are continually improved.
August 25, 2023 Software Process and Project Management (SE 502) 19
The People in the Process
• There are never enough good people
• Awareness of the process leads to better
communication
• Provide a disciplined environment for
professional work
August 25, 2023 Software Process and Project Management (SE 502) 20
The Need for the Optimizing Process
• Increasingly sensitive application
• More demanding users
• Increased risk of errors
• It is less expensive to build good quality
software the first time, then to try to fix
numerous errors on subsequent revision.
August 25, 2023 Software Process and Project Management (SE 502) 21
Common Features
• The common features are attributes that indicate
whether the implementation and institutionalization
of a key process area is effective, repeatable, and
lasting.
• The key practices are divided among five Common
Features sections:
– Activities Performed (Describes Implementation
Activities)
– Commitment to Perform (Organizational culture)
– Ability to Perform (Institutionalization factor)
– Measurement and Analysis (Organization culture)
– Verifying Implementation (Institutionalization factor).
August 25, 2023 Software Process and Project Management (SE 502) 22
Common Feature - Commitment to
Perform
• Describes the actions the organization must
take to ensure that the process is established
and will endure.
• Typically involves establishing organizational
policies and senior management sponsorship.
August 25, 2023 Software Process and Project Management (SE 502) 23
Common Feature - Ability to Perform
• Describes the preconditions that must exist in
the project or organization to implement the
software process competently.
• Involves resources, organizational structures,
and training.
August 25, 2023 Software Process and Project Management (SE 502) 24
Common Feature - Activities
Performed
• Describe the roles and procedures necessary to
implement a key process area
• Cover what MUST be implemented to establish a
process capability
• Typically involve:
– Establishing plans
– Procedures
– Performing the work
– Tracking it
– Taking corrective actions as necessary.
August 25, 2023 Software Process and Project Management (SE 502) 25
Common Feature - Measurement &
Analysis
• Describes the need to measure the process and
analyze the measurements.
• Typically includes examples of the
measurements that could be taken to determine
the status and effectiveness of the Activities
Performed.
August 25, 2023 Software Process and Project Management (SE 502) 26
Common Feature - Verifying
Implementation
• Describes the steps to ensure that the activities
are performed in compliance with the process
that has been established.
• Typically encompasses reviews and audits by
management and software quality assurance.
August 25, 2023 Software Process and Project Management (SE 502) 27
Quality Improvement Notes
• Enabling quality improvement is a management
responsibility
• Quality improvement focuses on fixing the process,
not the people:
– However, the best chefs use the best ingredients
• Quality improvement must be measured:
– All measurements must be “Goal” driven
• Rewards and incentives are necessary to establish and
maintain an improvement effort:
– Should fit into the organizations culture
• Quality improvement is a continuous process
• Not all problems are technical
August 25, 2023 Software Process and Project Management (SE 502) 28

More Related Content

Similar to Lecture 01 Software Process Maturity.pptx

Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
MuskanSony
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
Kittitouch Suteeca
 
Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...
Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...
Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...
IRJET Journal
 
IEEE 12207
IEEE 12207IEEE 12207
IEEE 12207
Joe Christensen
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
Lightweight Processes: A Definition
Lightweight Processes: A DefinitionLightweight Processes: A Definition
Lightweight Processes: A Definition
Glen Alleman
 
Software Process
Software ProcessSoftware Process
Introduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutionsIntroduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutions
QUONTRASOLUTIONS
 
Lecture 8 (software Metrics) Unit 3.pptx
Lecture 8 (software Metrics) Unit 3.pptxLecture 8 (software Metrics) Unit 3.pptx
Lecture 8 (software Metrics) Unit 3.pptx
ironman427662
 
Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)
Fatih Algün
 
16. cmm pgp
16. cmm pgp16. cmm pgp
16. cmm pgp
16. cmm pgp16. cmm pgp
Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)
Fatih Algün
 
Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...
Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...
Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...
JamesParker406701
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
9.process improvement chapter 9
9.process improvement chapter 99.process improvement chapter 9
9.process improvement chapter 9
Warui Maina
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
ShudipPal
 
Jurnal an example of using key performance indicators for software development
Jurnal   an example of using key performance indicators for software developmentJurnal   an example of using key performance indicators for software development
Jurnal an example of using key performance indicators for software development
Ratzman III
 
4.software management
4.software management4.software management
4.software management
Deepak Sharma
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
DanyDany88
 

Similar to Lecture 01 Software Process Maturity.pptx (20)

Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
 
Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...
Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...
Project Planning, Scheduling and Preparation of Quality Assurance Control Doc...
 
IEEE 12207
IEEE 12207IEEE 12207
IEEE 12207
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Lightweight Processes: A Definition
Lightweight Processes: A DefinitionLightweight Processes: A Definition
Lightweight Processes: A Definition
 
Software Process
Software ProcessSoftware Process
Software Process
 
Introduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutionsIntroduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutions
 
Lecture 8 (software Metrics) Unit 3.pptx
Lecture 8 (software Metrics) Unit 3.pptxLecture 8 (software Metrics) Unit 3.pptx
Lecture 8 (software Metrics) Unit 3.pptx
 
Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)
 
16. cmm pgp
16. cmm pgp16. cmm pgp
16. cmm pgp
 
16. cmm pgp
16. cmm pgp16. cmm pgp
16. cmm pgp
 
Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)Deciding the software development life cycle procedure (according to iso12207)
Deciding the software development life cycle procedure (according to iso12207)
 
Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...
Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...
Unraveling the Life Cycle of Software Development_ Insights from Betatest Sol...
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
9.process improvement chapter 9
9.process improvement chapter 99.process improvement chapter 9
9.process improvement chapter 9
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Jurnal an example of using key performance indicators for software development
Jurnal   an example of using key performance indicators for software developmentJurnal   an example of using key performance indicators for software development
Jurnal an example of using key performance indicators for software development
 
4.software management
4.software management4.software management
4.software management
 
ecse ppt.pptx
ecse ppt.pptxecse ppt.pptx
ecse ppt.pptx
 

Recently uploaded

Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdfSoftware Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
kalichargn70th171
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Cost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App DevelopmentCost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App Development
Softradix Technologies
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 

Recently uploaded (20)

Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdfSoftware Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Cost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App DevelopmentCost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App Development
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 

Lecture 01 Software Process Maturity.pptx

  • 1. Software Process Maturity Getahun Tigistu Lecture One
  • 2. Software Process • Software process is a collection of tools, methods and practices, that we use to make a software produce and: – To predict our performance – It can be controlled, measured, and improved – It aim for a balanced between creativity and repeatability August 25, 2023 Software Process and Project Management (SE 502) 2
  • 3. Software Process Improvement • Six steps to improve software capability 1. Understand the current development process 2. Develop a vision of a desired process 3. List the required process improvement actions in order of priority 4. Produce a plan to implement the actions 5. Commit the resources to execute the plan 6. Start over at step 1 August 25, 2023 Software Process and Project Management (SE 502) 3
  • 4. Capability Maturity Model (CMM) • Used as a standard for appraising the current state of the organization’s software process and as a guide for identifying and prioritizing the actions comprising the software process improvement effort • Made up of five levels and 18 key process areas (KPA) August 25, 2023 Software Process and Project Management (SE 502) 4
  • 5. Lord Kelvin said a century ago . . . "When you can measure what you are speaking about, and express it in numbers, you [may] know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the stage of Science." August 25, 2023 Software Process and Project Management (SE 502) 5
  • 7. Lev. 1 The initial Process • Crisis driven and poorly controlled (total chaos) • No management mechanism in place to plan and track the work of individuals • If procedures are established they are abandoned during a crisis (which tends to be continuous) • Unpredictable cost, schedule and quality August 25, 2023 Software Process and Project Management (SE 502) 7 Activity Results to produce Just do it. Level 1
  • 8. To Improve to Repeatable Process • Learn between speed and progress • Basic project control: – Project management – Management over sighting – Quality assurance – Change control August 25, 2023 Software Process and Project Management (SE 502) 8 Activity Results Preparation Evaluation to produce Think before you act, and think after you act, just to make sure you did it right. Level 2
  • 9. Lev-2 The repeatable process • Provides control over the way the organization establishes its plan and commitments • Experienced at doing similar works • Policies for managing a software project and procedures implementing those policies are established • 6 key process areas apply: • Requirements Management – A common understanding of the client’s needs is established between the client and the project team. This agreement forms is the basis for planning and managing the project. • Software Project Planning – Reasonable plans for engineering and managing the project are established, forming the foundation for project management August 25, 2023 Software Process and Project Management (SE 502) 9
  • 10. Lev-2 The repeatable process (Cont.) • Software Project Tracking & Oversight – Adequate visibility into project progress is established allowing management to take effective action when project performance deviates significantly from plans. • Software Subcontract Management – Qualified subcontractors are selected & managed effectively. • Software Quality Assurance – Management is provided with appropriate visibility into the quality of the process being used and the products being built. • Software Configuration Management – The integrity of a project’s products are established and maintained throughout its life cycle (e.g., nightly build) August 25, 2023 Software Process and Project Management (SE 502) 10
  • 11. To Improve to the Defined Processes • Establish a process group • Establish a development process architecture • Introduce a family of software engineering methods and technologies August 25, 2023 Software Process and Project Management (SE 502) 11
  • 12. • When faced with a crisis they will continue to use the process that has been defined • Little data to support the effectiveness of the process • Not clear what can or should be measure Lev. 3 The Defined Process August 25, 2023 Software Process and Project Management (SE 502) 12 Activity Results Preparation Evaluation to produce Standards
  • 13. Defined – KPA A typical process for developing and maintaining software across an organization is documented 7 key process areas apply: • Peer reviews – Reviews are used to remove defects early and efficiently. • Inter group coordination – Methods are established for a software engineering group to participate actively with other engineering groups to form a project team. • Software product engineering – A well-defined process is performed consistently; it integrates all technical activities (requirements, design, code, test) to produce correct, consistent products effectively and efficiently. August 25, 2023 Software Process and Project Management (SE 502) 13
  • 14. Defined – KPA (Cont.) • Integrated software management – Software engineering and management activities are integrated into a coherent, defined process tailored from an organization’s standard software processes and related process assets. • Training program – Program put in place to develop needed skills & knowledge. • Software process definition – A reasonable set of process assets is developed and maintained that improve processes across projects and provide a basis for defining meaningful data for quantitative process mgmt. • Software process focus – Organizational responsibility is established for activitiesthat improve overall software process capability. August 25, 2023 Software Process and Project Management (SE 502) 14
  • 15. Area of Greatest Risk • Organization faces major risks – New tools will affect the process – Entering new territory, by trying new product – Major organizational change can be very disruptive August 25, 2023 Software Process and Project Management (SE 502) 15
  • 16. To Improve to the managed process • Establish basic process measurements to identify quality and cost of each process step • Establish database and resource to maintain it (gathering of data) • Provide sufficient resource with proper skill • Access the quality of the process and report to management August 25, 2023 Software Process and Project Management (SE 502) 16 Activity Results Preparation Evaluation to produce Standard
  • 17. Lev. 4 The Managed Process • High cost of gathering data • Definition of the measured data • Process data must not be used to compare projects or individuals • An organization sets quantitative quality goals for both products and processes and instruments processes with well- defined and consistent measurements • 2 key process areas apply: • Quantitative Process Management – A project’s process performance is controlled quantitatively. • Software Quality Management – A quantitative understanding of the quality of a project’s products is developed to achieve specific quality goals. August 25, 2023 Software Process and Project Management (SE 502) 17
  • 18. To Improve to the Optimizing Process • Automatic gathering of data • Use process data to analyze and modify the process August 25, 2023 Software Process and Project Management (SE 502) 18 Activity Results Preparation Evaluation to produce Standard Create lessons learned, and use lessons learned to create more lessons learned, and use more lessons learned to create even more lessons learned, and use even more lessons learned to create... etc. Level 5
  • 19. Lev. 5 The Optimizing process • The data is available to tune the process itself • Ability to put the resources where it counts • the entire organization is focused on continuous process improvement • 3 key process areas apply: • Defect Prevention – Causes of defects and their prevention are identified by analyzing defects & if necessary changing the defined process. • Technology Change Management – Beneficial new technologies (eg tools, methods, processes) are identified, transferred into organization in an orderly fashion. • Process Change Management – An organization’s processes are continually improved. August 25, 2023 Software Process and Project Management (SE 502) 19
  • 20. The People in the Process • There are never enough good people • Awareness of the process leads to better communication • Provide a disciplined environment for professional work August 25, 2023 Software Process and Project Management (SE 502) 20
  • 21. The Need for the Optimizing Process • Increasingly sensitive application • More demanding users • Increased risk of errors • It is less expensive to build good quality software the first time, then to try to fix numerous errors on subsequent revision. August 25, 2023 Software Process and Project Management (SE 502) 21
  • 22. Common Features • The common features are attributes that indicate whether the implementation and institutionalization of a key process area is effective, repeatable, and lasting. • The key practices are divided among five Common Features sections: – Activities Performed (Describes Implementation Activities) – Commitment to Perform (Organizational culture) – Ability to Perform (Institutionalization factor) – Measurement and Analysis (Organization culture) – Verifying Implementation (Institutionalization factor). August 25, 2023 Software Process and Project Management (SE 502) 22
  • 23. Common Feature - Commitment to Perform • Describes the actions the organization must take to ensure that the process is established and will endure. • Typically involves establishing organizational policies and senior management sponsorship. August 25, 2023 Software Process and Project Management (SE 502) 23
  • 24. Common Feature - Ability to Perform • Describes the preconditions that must exist in the project or organization to implement the software process competently. • Involves resources, organizational structures, and training. August 25, 2023 Software Process and Project Management (SE 502) 24
  • 25. Common Feature - Activities Performed • Describe the roles and procedures necessary to implement a key process area • Cover what MUST be implemented to establish a process capability • Typically involve: – Establishing plans – Procedures – Performing the work – Tracking it – Taking corrective actions as necessary. August 25, 2023 Software Process and Project Management (SE 502) 25
  • 26. Common Feature - Measurement & Analysis • Describes the need to measure the process and analyze the measurements. • Typically includes examples of the measurements that could be taken to determine the status and effectiveness of the Activities Performed. August 25, 2023 Software Process and Project Management (SE 502) 26
  • 27. Common Feature - Verifying Implementation • Describes the steps to ensure that the activities are performed in compliance with the process that has been established. • Typically encompasses reviews and audits by management and software quality assurance. August 25, 2023 Software Process and Project Management (SE 502) 27
  • 28. Quality Improvement Notes • Enabling quality improvement is a management responsibility • Quality improvement focuses on fixing the process, not the people: – However, the best chefs use the best ingredients • Quality improvement must be measured: – All measurements must be “Goal” driven • Rewards and incentives are necessary to establish and maintain an improvement effort: – Should fit into the organizations culture • Quality improvement is a continuous process • Not all problems are technical August 25, 2023 Software Process and Project Management (SE 502) 28