Você está na página 1de 57

UNIT - I

PROCESS IMPLEMENTATION,
CHANGE AND ASSESSMENT
Introduction
n  Software Engineering is the application of a
systematic, disciplined, quantifiable approach to the
design, development, operation and maintenance of
software and the study of these approaches.
n  i.e., the application of engineering to the software.
n  The term first appeared in 1968 NATO Software
Engineering Conference

2
Software Engineering Process

3
Software Engineering Process
The Software Engineering Process Knowledge Area can be examined
on two levels:
n  First level èencompasses the technical and managerial activities
within the Software lifecycle processes.
n  Second level è Metalevel which is concerned with the definition,
implementation, assessment, measurement, management, change
and improvement.
n  Software engineering process not only relevant to large
organizations on contrast, they have been performed by small
organizations, teams and individuals.

4
5
Process Implementation and Change
Focuses on organizational change - infrastructure, activities,
models, and practical considerations for process implementation
and change.
n  Processes are deployed for the first time (for Ex, introducing
an inspection process within a project or a method covering
the complete life cycle), and where current processes are
changed (for example, introducing a tool, or optimizing a
procedure). This can also be termed process evolution.
n  In both instances, existing practices have to be modified. If
the modifications are extensive, then changes in the
organizational culture may also be necessary.
6
Process Definition
n  A process definition can be a procedure, a policy, or a standard.
n  Software life cycle processes are defined for a number of reasons,
including increasing the quality of the product, facilitating human
understanding and communication, supporting process
improvement, supporting process management, providing
automated process guidance, and providing automated execution
support.
n  It should also be noted that the context of the project and
organization will determine the type of process definition that is
most useful.
n  Important variables to consider include the nature of the work (for
ex, maintenance or development), the application domain, the life
cycle model, and the maturity of the organization.
7
Process Assessment
n  Process assessment is carried out using both an
assessment model and an assessment method.
¡  An assessment model captures what is recognized as
good practices. These practices may pertain to
technical software engineering activities, for ex:
management, systems engineering, and human
resources management activities as well.
¡  An assessment method needs to be followed to
produce a quantitative score which characterizes the
capability of the process.
8
Process & Product Measurement
n  To assess the achievement of process and product
improvement efforts
n  Measurement can be performed to support the
initiation of process implementation and change or
to evaluate the consequences of process
implementation and change, or it can be performed
on the product itself.
n  Measurement is always relevant to an established
baseline

9
Software Process Management
Cycle

10
Software Process Management Cycle
n  The Management of Software Processes consists of
four activities sequenced in an iterative cycle
allowing for continuous feedback and improvement
of the software process.
1.  Establish Process Infrastructure.
2.  Planning
3.  Process Implementation and Change
4.  Process Evaluation
11
Software Process Management Cycle
1)  Establish Process Infrastructure: consists of establishing
commitment to process implementation and change and
putting in place an appropriate infrastructure (resources and
responsibilities) to make it happen.
¡  The resources must be available (competent staff, tools,
and funding)
¡  The responsibilities assigned.

12
Software Process Management Cycle
2.  Planning
o  to Understand the Current Business objectives and
Process needs of individual, project or organization
o  to identify its strength and weakness
o  to make a plan for process implementation and
change.

13
Software Process Management Cycle
3)  Process Implementation and Change: to execute the
plan, deploy new processes (which may involve, for
example, the deployment of tools and training of
staff), and/or change existing processes.

4)  Process Evaluation: finding out how well the


implementation and change went, whether or not the
expected benefits materialized. The results are then
used as input for subsequent cycles.
14
Models for Process
Implementation and Change

15
Models for Process
Implementation and Change
n  Two general models that have emerged for driving process
implementation and change are :
1.  Quality Improvement Paradigm (QIP) Model
2.  Initiating-Diagnosing-Establishing-Acting-Learning
(IDEAL) Model.
n  These two models are compared and evaluation of process
implementation and change outcomes can be qualitative or
quantitative.

16
QIP Model

17
QIP Model-introduction (1/10)

n  Evolved from cooperative effort between NASA Goddard Space


Flight Center and University of Maryland Department of
computer science.
n  This effort is called as Software Engineering laboratory (SEL)
formed in 1976 with the goal of reducing
¡  Defect rate

¡  Cost

¡  Development cycle time of software

n  Chief author of the model is victor basili and it was published in
1984.
n  Purpose: To support Continuous process improvement and
engineering of the development processes.
18
QIP Model (2/10)

19
QIP Model (3/10)

n  QIP Cycle broken into two closed loop cycles:


1.  The organizational Cycle: provides feedback to the
organization after the completion of the project.
Purpose: To analyze the concordance and discrepancy of the
collected data against previous experiences and models. This
helps to increase the understanding of experience, capture some
of that experience and to accumulate reusable experience.
2.  The Project cycle: provides feedback to the project during the
execution phase in order to
ü  prevent and solve problems

ü  Monitor and support the project

ü  To realign chosen processes with defined goals


20
Organizational Cycle (4/10)

n  It represents how organization learns.


n  Divided into Six phases
1.  Characterize and Understand
2.  Set goals
3.  Develop Project Plan (Choose Processes, methods,
techniques and tools)
4.  Execute the processes
5.  Analyze the results
6.  Package and store Experience

21
Characterize and Understand (5/10)

n  Starting phase for the cycle


n  AIM: To describe and comprehend the current project and
its environment.
n  The Characterization builds the models for various factors
(people, problems, processes, products, resources etc ) and
studies the interactions between these to increase
understanding of the context where the improvement
should be carried out.

22
Set Goals (6/10)

n  Second phase is to set goals for successful


¡  project performance and improvement
¡  results
n  Aim:- To get reliable, measurable data of the
improvement.

23
Develop Project Plan (7/10)

n  The objective of the third phase is to Choose Processes,


Methods, Techniques and Tools that are appropriate for this
project.
n  The decision is based on the characterization of the
environment and product and on the goals that have been set.
n  It is important to make sure that the selection is consistent with
the goals set for products and processes
n  In addition the selected processes and the supporting methods,
techniques and tools – which are all likely to be generic – need
to be tailored to form an integrated set, that is applicable for the
project and context
24
Execute the process (8/10)

n  The fourth phase of the organizational cycle is where the selected
projects Execute the Processes.
n  From organization point of view, this phase is where the project cycle
runs. The project cycle, which represents how project learns and guides
itself, is divided into three activities:
1.  Process Execution
2.  Analyze Results
3.  Provide Process with Feedback
n  The projects Execute the Processes to construct the products.
n  At the same time data of resources, processes and products is being
collected, validated and Results Analyzed to measure the achievement of
the goals.
n  This information is then feedback to the project for corrective action. 25
Analyze results (9/10)

n  The fifth phase is to Analyze Results to evaluate the


practices, determine problems, record findings and make
recommendations for future project improvements.
n  The data is analyzed against the goals and used to achieve
better characterization and understanding of the context,
evaluate and analyze the experiments (improvements),
determine problems, gain more information to be used for
better prediction and control and to motivate future
improvements.
26
Package and store Experience (10/10)

n  The sixth and final phase on the organizational cycle is to


Package Experiences and to store them in the experience base
for future reuse.
n  In this phase, the experience gained is consolidated in the form
of new or updated and refined models, baselines and other
forms of structured knowledge gained from this and prior
projects.
n  The types of experience packaged covers models for prediction
(such as effort, error, and cycle time models), product models,
process definitions, method and technique evaluations, quality
models, products themselves, lessons learned and tailoring
guidelines 27
IDEAL Model

28
IDEAL Model (1/6)

n  The IDEAL model is named for the five phases an organization
runs through in performing a change initiative:
¡  Initiating

¡  Diagnosing

¡  Establishing

¡  Acting and

¡  Learning

n  The Software Engineering Institute at Carnegie melon


University has published the IDEAL model as an
organizational improvement model for the CMMI product
suite.
n  It is Process improvement and defect reduction methodology. 29
30
Initiating (3/6)

n  Lay the groundwork for a successful improvement


effort:
n  Typically this phase is the direct response of some
stimulus to change the current process.
n  In return to this stimulus
1.  The appropriate sponsorships are established

2.  The appropriate resources are allocated.

31
Diagnosing (4/6)

n  Determine where you are relative to where


you want to be:
n  In this phase a kind of analysis is performed
1.  To baseline the current practices and
2.  To probe potential improvement opportunities

32
Establishing (5/6)

n  Plan the specifics of how you will reach


objectives:
n  In the Establishing phase.
1.  Recommendations of the analysis are prioritized
2.  Change implementation teams are established
3.  Plans are developed to conduct the activities

33
Acting & Learning (6/6)

n  Acting - Do the work according to the plan:


¡  In this phase, the planned activities are implemented.
n  Learning - Learn from the Experience and improve
the ability to adapt new improvements in future

n  During the learning phase lessons are collected that


are then be applied to subsequent rounds of the
IDEAL change cycle.

34
BENEFITS OF PROCESS MODELS

35
BENEFITS OF PROCESS MODELS (1/11)

v  Align Operations with Business Strategy


v  Improve Process Communication
v  Increase Control and Consistency
v  Improve Operational Efficiencies
v  Gain Competitive Advantage

36
Align Operations with Business Strategy (2/11)

n  Link organizational strategy to well-defined business


processes - Business process modeling is a critical tool for
management and executives to ensure that the business
processes are consistent with and enable execution
towards achieving the overall strategy of the organization.
n  Align business execution and operation activity with
strategy - Process modeling ensures that the operational
tasks and activities performed by the team members
actually help the organization implement its strategy
37
Align Operations with Business Strategy (3/11)
n  Implement Business Process Reengineering (BPR) by
understanding the existing processes and changing them
for improved performance - Business process analysis
helps in identifying bottlenecks and inefficiencies in the
processes and thus improving them.
n  Enable Process Agility, an ability to change and
communicate processes quickly to take advantage of new
business opportunities or address business challenges.

38
Improve Process Communication (4/11)

n  Process modeling offers a common unified language


and methodology for communicating processes and
information about processes and decision rules.
n  It is ideal for training of new people and rapid
knowledge transfer because with a thoroughly
documented process any new team member can be very
quickly trained on what they have to do in any situation
that they may face.

39
Improve Process Communication (5/11)

n  Minimizes potential danger of loss of staff resulting in


loss of business process knowledge.
n  It helps business managers communicate their ideas
quickly and clearly.
n  Jump-starts the organizational process documentation
initiative.
n  Turns the team's experience and “Tribal knowledge"
into documented processes.

40
Increase Control and Consistency (6/11)

n  Formalize existing processes which may not be well


documented or which have evolved over time into
"informal knowledge".
n  Execute process in consistent manner because instead of
relying on people to remember to do the right thing the
documented process can be given to the business users.
n  Make better decisions because guesswork is eliminated
as business users can have the documented business
rules in front of them.
41
Increase Control and Consistency (7/11)

n  Handle exceptions faster and in a better way.


n  Complete regulatory compliance by ensuring that the
documented processes follow the company guidelines
and legal regulations.
n  Put business people in charge.
n  Support compliance initiatives such as Six Sigma,
ISO 9000, and Sarbanes- Oxley.

42
Improve Operational Efficiencies (8/11)

n  Process Simulation allows analysis and


understanding of the process flows and helps
managers know if there is room for further
optimization and efficiencies.
n  It increases productivity of existing resources and
staff and so allows the team to do more with less.
n  It facilitates risk free experimentation and
encourages exchange of process improvement ideas.
43
Improve Operational Efficiencies (9/11)

n  It helps spot needed improvements and reduce process


cycle time.
n  Process simulation allows modeling of process designs
before actually implementing them thus minimizing
disruptions.
n  It encourages a mind-set of continually optimizing
business critical processes to incrementally improve
operational efficiencies.
n  Process analysis enables better resource utilization
44
Gain Competitive Advantage (10/11)

n  All the benefits mentioned above lead to a significant


competitive advantage for an organization that has
invested the time and effort to document, simulate and
improve its business processes.
n  Studies of many wildly successful companies has often
shown that their success was not due to better ideas or
better business models but because they invested
significantly in business process modeling to constantly
refine and improve their processes.
45
Gain Competitive Advantage (10/11)

n  A slight improvement in one activity here and another


one there leads to an overall better process and as that
process is executed repeatedly in the day-to-day
running of the business it makes an organization
much more efficient and better than its competitors.
n  A business that has aligned its operations to its
strategy, is agile, that has control over its processes, is
running efficiently and has well trained staff is indeed
at the top of its game.
46
STANDARDS
n  IEEE/EIA 12207.0: Information Technology Software
Lifecycle Process
n  IEEE 1074-97 : Building Processes

n  IEEE 1219-98: Maintenance process

Some other standards:


n  IEEE 1540-01 : Software Risk Management

n  IEEE 1517-99 : Software Reuse Process

n  IEEE 15939-02 : Software measurement process

47
Process Adaptation (1/2)

n  Standardized processes such as IEEE 12207.0-96, ISO


15504-98 are also adapted to local needs such as
ü  Organizational context
ü  Project size
ü  Regulatory requirements
ü  Industry practices and
ü  Corporate cultures.
n  Some standards such as IEEE/EIA 12207 contain
mechanisms and recommendations for accomplishing the
adaptation. 48
IEEE/EIA 12207.0 (2/2)

n  “Standard for Information technology- Software Lifecycle


Process”
n  Establishes a common framework for software lifecycle process.
n  Officially replaced MIL-STD-498 in May 1998
n  Processes are defined in 3 categories
¡  Primary

¡  Supporting and

¡  Organizational Lifecycle Processes

n  It consists of clarifications, additions and changes accepted by


IEEE and EIA.
n  It contains concepts and guidelines to foster better understanding
and application of standard 49
Process Automation
n  Automated tools either support
ü  Execution of process definitions

ü  Provide guidance to human to execute process definition.

n  In some cases, Process Analysis is performed, some tools


allowed simulations (Discrete Event Simulation)
n  There are tools support of each process definition notations
n  These tools can execute the process definitions to provide
automated support or to fully automate them in some instances.
ü  Process modeling tools (Fin 94)

ü  Process centered environment (Gar 96)

ü  Real time process guidance (Kel 98)


50
Process Assessment
n  Process Assessment is carried out using both
¡  Assessment model and
¡  Assessment method.
n  Sometimes “appraisal” is used instead of assessment
and “Capability Evaluation” is used when appraisal is
for the purpose of awarding a contract

51
Process Assessment Models
n  An assessment model captures what is recognized as good practices.
n  These practices may pertain to technical software engineering activities Ex:
management, systems engineering and HR management etc..
n  ISO/IEC 15504 [ISO 15504-98] defines an exemplar assessment model and
conformance requirements on other assessment models.
n  Specific assessment models available are:
¡  SW-CMM (SE195)
¡  CMMI [SEI01]
¡  Bootstrap [Sti99]
n  ISO 9001 is another common assessment model which has been applied by
software organizations (ISO9001-00)
n  Two general architectures for an assessment model
¡  Continuous
¡  Staged
52
ISO/IEC 15504 Information Technology-
Process Assessment
n  Also known as SPICE (Software Process Improvement
Capability Determination)
n  Set of technical standards for software development process
and related business management functions
n  It was derived from ISO/IEC 12207 and from maurity models
like Bootstrap,trillium and CMM
ASSESSMENTS:
n  It provides a guide for performing an assessment. This includes

¡  Assessment process

¡  Assessment models and

¡  Assessment tools.

53
Assessment model
n  The Process Assessment Model (PAM) is the detailed model that
is used for an actual assessment.
n  This is an elaboration of the Process Reference Model (PRM)
provided by the process lifecycle standards.
n  PAM in part 5 is based on the PRM for software: ISO/IEC 12207.
n  PAM in part 6 is based on the PRM for systems: ISO/IEC 15288.
n  The standard allows other models to be used instead, if they meet
ISO/IEC 15504's criteria, which include a defined community of
interest and meeting the requirements for content (i.e. process
purpose, process outcomes and assessment indicators)

54
Process Assessment Methods
n  In order to perform an assessment, a specific assessment
method needs to be followed to produce a quantitative
score which characterizes the capability of the process.
n  The CBA-IPI assessment method- focuses on process
improvement (Dun96)
n  The SCE method focuses on evaluating the capability of
suppliers (Bar95)
n  Both of these were developed for the SW-CMM.
n  The SCAMPI methods are geared toward CMMI
assessments [SEI01]

55
CBA-IPI Assessment method
n  Capability Maturity Model (CMM)-Based Appraisal for
Internal Process Improvement (CBA IPI).
n  It provides a brief history of SEI appraisal methods, and
establishes appraisals in the context of the IDEAL
approach to software process improvement.
n  CBA IPI is a diagnostic tool that supports, enables, and
encourages an organization's commitment to process
improvement.
n  The method focuses on identifying software
improvements that are most beneficial, given an
organization's business goals and current maturity level.
56
The SCAMPI Assessment method
n  The Standard CMMI Appraisal Method for Process Improvement
(SCAMPI) is the official SEI method to provide benchmark-
quality ratings relative to CMMI models.
n  SCAMPI appraisals are used to identify strengths and weaknesses
of current processes and determine capability and maturity level
ratings.
n  Three levels of formality for appraisals: Class A, B, and C.
n  SEI-authorized Lead Appraisers uses the SCAMPI A Method
Definition Document (MDD) to conduct the appraisals.
n  Class A, the most formal, is required to achieve a rating (Level 1
(lowest) to Level 5 (highest)), using the Staged Representation 57

Você também pode gostar