Introduction to Software
Process and Project
      Management
Objectives
• Understand the various aspects of project management.
• Learn managerial skills for software projects.
• Learn various techniques for qualitative handling of software
  projects.
• Learn process maturity models, life cycle phases, arti facts and
  workflows.
• Learn to manage the software project using conventional and
  modern principles of software project management.
• Learn project organization, control and automation.
UNIT-I Software Process Maturity
•   Software maturity Framework
•   Principles of Software Process Change
•   Software Process Assessment
•   Process Reference Models
•   Capability Maturity Model (CMM)
•   CMMi , PCMM, PSP, TSP
1.Software Maturity Framework
1.1 Software Process Improvement
1.2 Process Maturity Levels
1.3 People in Optimizing Process
1.4 Need for the Optimizing Process
1.1 Software Process Improvement
To improve their software capabilities, organizations need to take
five basic steps:
1. understand the current status of their development process
2. develop a vision of the desired process
3. establish a list of required process improvement actions in
order of priority
4. produce a plan to accomplish these actions
5. commit the resources to execute the plan
1.2 Process Maturity Levels
The five levels of process maturity which have been defined are:
1. Initial - until the process is under statistical control, no orderly progress in process
improvement is possible.
2. Repeatable - a stable process with a repeatable level of statistical control is achieved
by initiating rigorous project management of commitments, cost, schedule, and change.
3. Defined - definition of the process is necessary to assure consistent implementation
and to provide a basis for better understanding of the process. At this point, it is
probable that advanced technology can be usefully introduced.
4. Managed - following the defined process, it is possible to initiate process
measurements. This is where the most significant quality improvements begin to
appear.
5. Optimized - with a measured process, the foundation is in place for continuing
improvement and optimization of the process.
Figure representing the various maturity
levels
Initial Level
Organizations at the Initial Process can advance to the
Repeatable Process by instituting basic project controls. The
most important are:
• Project Management
• Management Oversight
• Quality Assurance
• Change Control
Repeatable Level
The highest risk factors at this level are:
 • New tools and Methods will affect the process
 • Developing a new kind of project
 • Major organizational changes
The key actions required to advance from the Repeatable to the Defined Process are
the following:
 • Establish a process group
 • Establish a software development process architecture which describes the
   technical and management activities required for proper execution of the
   development process .
 • If they are not already in place, introduce a family of software engineering
   methods and technologies.
Defined Level
In advancing from the Defined to the Managed Process, the key steps
are the following:
• Establish a minimum basic set of process measurements to identify
  the quality and cost parameters of each process step.
• Establish a process data base with the resources to manage and
  maintain it.
• Provide sufficient process resources to analyze this data and advise
  project members on the data’s meaning and use.
• Assess the relative quality of each product and inform management
  where quality targets are not being met. This is typically done by the
  assurance organization.
Managed Level
The two fundamental requirements for advancing from the
Managed to the Optimized Process are:
• Provide automatic support for gathering process data. Some
  data can not be gathered by hand and all manually gathered
  data is subject to error and omission.
• Turn the management focus from the product to the process.
Optimized Level
• In order to optimize the process, errors can be identified and
  fixed far more economically by using code inspections than
  through testing.
• With the Optimized Process, the organization has the means to
  identify the weakest elements of the process and fix them.
• It is now possible to assure the process and, by using it, have
  confidence in the quality of the resulting products
1.3 People in Optimizing Process
The Optimized Process helps in several ways:
1. It provides management with the means to understand where help is
needed and how to best provide the people with the support they require.
2. With an Optimized Process, the professionals can communicate in
concise quantitative terms. This facilitates the transfer of knowledge and
minimizes the likelihood of reinventing the wheel.
3. An enormous amount of effort is generally expended in fixing and
patching other peoples’ mistakes. The Optimized Process provides the
framework for the professionals to understand their work performance
and to understand how to improve it. This results in a highly professional
environment and substantial productivity benefits.
1.4 Need for the Optimizing Process
• There are many examples of disasters which have been caused by
  software bugs. They range from expensive missile aborts to enormous
  financial losses
• Not only are our systems being used in increasingly sensitive
  applications but they are also becoming much larger and more complex.
• The Optimized Process thus provides the foundation for significant
  advances in software quality along with simultaneous improvements in
  productivity.
• To meet the needs of society for increased system functions while
  simultaneously addressing the risks, we must move rapidly to the
  Optimized Process.
2. Principles of Software Process Change
2.1 Six Principles of Software Process Change
2.2 Strategy for Implementing Software Process Change
2.3 Elements of the Change Process
2.1 Six Principles of Software Process Change
•   Changes should start from top
•   Everyone should be involved.
•   Effective change requires knowing the current status.
•   Change is continuous.
•   Changes can be retained by periodic reinforcement.
•   Changes requires investment.
2.2 Strategy for Implementing Software
Process Change
Effective change process has three phases:
• Freezing- Software Process Assessment
• Moving- Champions, Sponsors and Agents
• Refreezing
2.3 Elements of Software Process Change
The three elements of software change process:
• Planning
• Implementing
• Communication
3. Software Process Assessment
3.1 Five Principles of Software Process Assessment
3.2 Phases of Software Process Assessment
3.3 Elements of the Assessment Process
3.4 Assessment Conduct
3.1 Five Principles of Software Process
Assessment
•   Start with a Process Model
•   Observe Strict Confidentiality
•   Involve Senior Management
•   Keep an Open Mind and a Level Head.
•   Focus on Action
3.2 Phases of Software Process Assessment
It is conducted in three phases:
• Preparation- Training program for the team
• Assessment- Preliminary report of the findings
• Recommendation-Local action team will implement the
  recommendations
3.3 Elements of Software Process
Assessment
The following are the elements of software process assessment:
• Forming an assessment team.
• Self- Assessment considerations
• Assessment ground rules
• Assessment team training.
• The on-site Period.
3.4 Assessment Conduct
The following is the procedure for conducting software process
assessment:
• Probing Questions.
• Assessment Conclusions
• Assessment Report.
• Action Plans.
• Re-assessment.
4. Capability Maturity Model(CMM)
5. Capability Maturity Model Integration
(CMMI)
 Level                     Focus                      Key Process Area                                               Result
             5             Continuous Process         Organizational Innovation and Deployment, Causal Analysis      Highest Quality /
         Optimizing        Improvement                and Resolution                                                 Lowest Risk
             4             Quantitatively Managed     Organizational Process Performance, Quantitative Project       Higher Quality /
  Quantitatively Managed                              Management                                                     Lower Risk
            3              Process Standardization    Requirements Development, Technical Solution, Product          Medium Quality /
          Defined                                      Integration, Verification, Validation, Organizational Process   Medium Risk
                                                      Focus, Organizational Process Definition, Organizational
                                                      Training, Integrated Project Mgmt, Risk Management,
                                                      Decision Analysis and Resolution, Integrated Teaming, Org.
                                                      Environment for Integration, Integrated Supplier Management.
            2              Basic Project Management        Requirements Management, Project Planning, Project       Low Quality /
         Managed                                            Monitoring and Control, Supplier Agreement               High Risk
                                                            Management, Measurement and Analysis, Process
                                                            and Product Quality Assurance, Configuration
                                                            Management
              1            Process is informal and                                                                   Lowest Quality /
           Initial         Adhoc                                                                                     Highest Risk
6. People Capability Maturity Model
(PCMM)
7. Personal Software Process
Framework activities are:
• Planning
• High Level Design
• High Level Design Review
• Development
• Postmorterm
Drawbacks of PSP
• It is a metric-based approach.
• Not widely adopted due to human nature.
• It is intellectually Challenging and demands a level of
  commitment.
• Training is relatively lengthy and costs are high.
8. Team Software Process
Framework activities are:
• Launch
• High Level Design
• Implementation
• Integration and testing
• Postmorterm
Objectives/ Advantages of TSP
• It builds self-directed teams.
• Shows managers how to motivate their team and help them to
  achieve peak performance.
• Accelerates software process improvement by making CMM
  Level 5 behaviour normal and expected.
• Provides improvement guidance to high maturity organizations