Beruflich Dokumente
Kultur Dokumente
Engineering
practice
-Srini
Agenda
Process Assessment
CMM
Software engineering practice
Communication practices
Planning practices
Analysis modeling practices
Design modeling practices
Construction practices
Deployment practices
Software process
improvement
Much
Process Assessment
What
is Process assessment ?
Why Process assessment ?
Process Improvement
An
Traditional method
The
Bench marking
Participative approach
During
Participative approach
The
What is CMM ?
Describes
an evolutionary improvement
path for software organizations from an
ad hoc, immature process to a mature,
disciplined one.
Provides guidance on how to gain
control of processes for developing and
maintaining software and how to evolve
toward a culture of software engineering
and management excellence
Software
Process
Process Capability
Software
Process Performance
Process Maturity
CMM levels
Maturity level indicates level of process
capability:
Initial
Repeatable
Defined
Managed
Optimizing
CMM levels
Initial
Repeatable
Basic
Defined
The software process for both
management and engineering activities
is documented, standardized, and
integrated into a standard software
process for the organization. All projects
use an approved, tailored version of the
organizations standard software
process for developing an maintaining
software.
Managed
Detailed
Optimizing
Continuous
process improvement is
enabled by quantitative feedback
from the process and from piloting
innovative ideas and technologies.
Goal is to prevent the occurrence of
defects
Causal analysis
Data
Structure of CMM
commitment
ability
activity
measurement
verification
Characteristics Addressed
Size, reuse, rework
Effort, cost, resource allocations
Schedule, progress
Quality, improvement trends,
rework, readiness for delivery
Examples of measurements
for size of work products
Estimated
number of requirements
Actual number of requirements
Estimated source lines of code (SLOC)
Actual SLOC
Estimated number of test cases
Actual number of test cases
Example of measurements of
effort
Estimated
man-hours to design/code a
given module
Actual man-hours expended for
designing/coding the module
Estimated number of hours to run builds
for a given release
Actual number of hours spent running
builds for the release
Examples of measurements
of quality of the work product
Number
of
inspection
Number of
Number of
Number of
inspection
Number of
testing
Examples of measurements
of quality of the work product
Number
of defects
system testing
Number of defects
Number of defects
Number of defects
Defect age
opened during
opened during UAT
still open
closed
Examples of measurements
of quality of the work product
Total
number
Total number
release
Total number
accepted
Total number
rejected
of build failures
of defects fixed for a given
of defects verified and
of defects verified and
Software Engineering
Practice
1)
2)
3)
4)
2)
3)
4)
5)
6)
7)
The software should provide value to its users and satisfy the
requirements
Communication Practices
(Requirements Elicitation)
Communication
Project initiation
Requirements
gathering Planning
Estimating
Scheduling
Tracking
Modeling
Analysis
Construction
Design
Code
Test
Deployment
Delivery
Support
Feedback
38
Communication Principles
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
Planning Practices
(Defining a Road Map)
Communication
Project initiation
Requirements
gathering Planning
Estimating
Scheduling
Tracking
Modeling
Analysis
Construction
Design
Code
Test
Deployment
Delivery
Support
Feedback40
Planning Principles
Understand the scope of the project
2) Involve the customer in the planning activity
3) Recognize that planning is iterative; things will change
4) Estimate based only on what you know
5) Consider risk as you define the plan
6) Be realistic on how much can be done each day by each
person and how well
7) Adjust granularity as you define the plan
8) Define how you intend to ensure quality
9) Describe how you intend to accommodate change
10) Track the plan frequently and make adjustments as
required
1)
Modeling Practices
(Analysis and Design)
Communication
Project initiation
Requirements
gathering Planning
Estimating
Scheduling
Tracking
Modeling
Analysis
Design
Construction
Code
Deployment
Test
Delivery
Support
Feedback43
1)
2)
3)
4)
5)
Analysis Modeling
Principles
The information domain of a problem (the data that flows
observed
Internal quality factors: those properties that lead to a high-quality
design from a technical perspective
Construction Practices
Communication
Project initiation
Requirements
gathering
Planning
Estimating
Scheduling
Tracking
Modeling
Analysis
Design
Construction
Code
Deployment
Test
Delivery
Support
Feedback
46
Coding Principles
(Preparation before coding)
1)
2)
3)
4)
5)
Coding Principles
(As you begin coding)
1)
2)
3)
4)
5)
6)
7)
8)
Coding Principles
(After completing the first round of code)
1)
2)
3)
Testing Principles
1)
2)
3)
4)
5)
Test Objectives
1)
2)
3)
Deployment Practices
Communication
Project initiation
Requirements
gathering
Planning
Estimating
Scheduling
Tracking
Modeling
Analysis
Construction
Design
Code
Deployment
Test
Delivery
Support
Feedback
Deployment Principles
1)
2)
3)
4)
5)