Unified process,agile process,process assesment ppt

Post on 04-Dec-2014

336 views 2 download

description

 

Transcript of Unified process,agile process,process assesment ppt

PRESENTED BY:SHWETA GHATETRUPTI DIWAN

PRATIMA JADHAVSAPNA VASAVE

MIT COLLEGE OF ENGINEERING,PUNE.

Unified Process, Agile process,Process Assessment

Agenda

Unified Process

Agile Process

Process Assessment

What is Process ???

SEP i.e. Software Engineering Process

Defines who, what, when and how of developing software.

Software Engineering Process

New or Changed

requirements

New or Changedsystem

What is Unified Process ??

Unified process (UP) is an architecture-centric, use-case driven, iterative and incremental development process that leverages unified modeling language and is compliant with the system process engineering metamodel.

A popular iterative modern process model (framework) derived from the work on the UML and associated process.

Unified Process

The leading object-oriented methodology for the development of large-scale software

Maps out when and how to use the various UML techniques

Develop high-risk elements in early iterations

Deliver value to customer

Creating the Unified Process

Rational Unified Process 5.01998

Rational Objectory Process 4.11996-1997

Objectory Process 1.0-3.81987-1995

Ericsson Approach

Rational Approach

IBM Approach

Unified Process 1998

OO Approach

The Unified Process

The Unified Process is an adaptable methodology.

The Unified Process is a modeling technique.

UML stands for unified modeling language.

• The object-oriented paradigm is iterative and incremental in nature

Unified Process PhasesInception

Establish the business case for the system, define risks, obtain 10% of the requirements, estimate next phase effort.

Elaboration Develop an understanding of the problem domain and the

system architecture, risk significant portions may be coded/tested, 80% major requirements identified.

Construction System design, programming and testing. Building the

remaining system in short iterations. Transition

Starts when beta testing is completed, Deploy the system in its operating environment. Deliver releases for feedback and deployment

The Phases/Workflows Of Unified Process

lPhase is Business context of a step

Workflow is Technical context of a step

The Phases/Workflows Of Unified Process

l NOTE: Most of the requirements work or workflow is done in the inception phase.

l However some is done later.

The Phases/Workflows Of Unified Process

l NOTE: Most of the implementation work or workflow is done in construction

l However some is done earlier and some later.

Example roles in UP

Stake Holder: customer, product manager, etc.

Software Architect: established and maintains architectural vision

Process Engineer: leads definition and refinement of Development Case

Graphic Artist: assists in user interface design, etc.

Agile Process

Agenda

Manifesto for Agile Software DevelopmentWhat is Agility?Agile Teams Agility and the Cost of ChangeAn Agile ProcessThe principles of agile methods Human FactorsAgile Process ModelsAgile ModelingConclusion

Manifesto for Agile Software Development“We are uncovering better ways of developing software by

doing it and helping others do it. Agile values:1. Individuals and interactions- in agile development, self

organization & motivation are important

2. Working software- working software will be more useful and welcome than just presenting documents to clients in meetings

3. Customer collaboration-requirements cant be fully collected at the beginning of the software development cycle, therefore continuous customer involvement is important

4. Responding to change- agile development is focused on quick responses to change and continuous development

Agility

Effective response to changeEffective communication among all

stakeholdersDrawing the customer into the team. Organizing a team so that it is in control of the

work performed

In order to yield rapid, incremental delivery of software

Agile Teams

Responsive to changes during project development

Recognize that project plans must be flexible

Eliminates the separation between customers and developers

Agility and the Cost of Change

Conventional wisdom is that the cost of change increases nonlinearly as a project progresses. It is relatively easy to accommodate a change when a team is gathering requirements early in a project.

Agility and the Cost of Change

An Agile Process

Is driven by customer descriptions of what is required (scenarios). Some assumptions: Recognizes that plans are short-lived (some requirements will

persist, some will change. Customer priorities will change) Develops software iteratively with a heavy emphasis on

construction activities (design and construction are interleaved, hard to say how much design is necessary before construction. Design models are proven as they are created. )

Analysis, design, construction and testing are not predictable. Thus has to Adapt as changes occur due to unpredictabilityDelivers multiple ‘software increments’, deliver an operational

prototype or portion of an OS to collect customer feedback for adaption.

Human Factors

The process molds to the needs of the people and team, not the other way around

key traits must exist among the people on an agile team : Competence. ( talent, skills, knowledge) Common focus. ( deliver a working software increment ) Collaboration. ( peers and stakeholders) Decision-making ability. ( freedom to control its own destiny) Fuzzy problem-solving ability.(ambiguity and constant

changes, today problem may not be tomorrow’s problem) Mutual trust and respect. Self-organization. ( themselves for the work done, process for

its local environment, the work schedule)

Agile Process Models

Extreme Programming (XP)Adaptive Software Development (ASD)Agile Modeling (AM)

Extreme programming

The most widely used agile process.Defines 4 framework activities

PlanningDesignCodingTesting

Extreme programming

24

planningplanning

designdesign

codingcoding

testtest

refactoring

user stories values acceptance test criteriaiteration plan

simple design CRC cards

spike solutions prototypes

pair programming

unit test continuous integration

acceptance testing

software increment project velocity computedsoftware increment project velocity computed

Release

Extreme programming

XP Planning Begins with the creation of “user requirements” Agile team assesses it and assigns a

cost They are grouped to form a deliverable

increment A commitment is made on delivery date After the first increment “project velocity” is used to help

define subsequent delivery dates for other increments

Extreme programming

XP DesignFollows the KIS principleFor difficult design problems, suggests the

creation of “spike solutions”—a design prototype

Encourages “refactoring”—an iterative refinement of the internal program design

Extreme programming

XP CodingRecommends the construction of a unit test

for a store before coding commences.Encourages “pair programming”.

XP TestingAll unit tests are executed daily“Acceptance tests” are defined by the

customer and executed to assess customer visible functionality

Adaptive Software Development (ASD)

Self-organization arises when independent agents cooperate to create a solution to a problem that is beyond the capability of any individual agent

Adaptive cycle characteristics Mission-driven planning Component-based focus Uses “time-boxing” Explicit consideration of risks Emphasizes collaboration for requirements gathering Emphasizes “learning”

Three Phases of ASD

adaptive cycle planning uses mission statement project constraints basic requirements time-boxed release plan

Requirements gathering J AD mini-specs

components implemented/ tested focus groups for feedback formal technical reviews postmortems

software incrementadjustments for subsequent cycles

Release

Three Phases of ASD

1. Speculation: Project is initiated and adaptive cycle planning

is conducted.Adaptive cycle planning uses project initiation

information.Based on the information obtained at the

completion of the first cycle, the plan is reviewed and adjusted.

Three Phases of ASD

2. Collaborations

Are used to multiply their talent and creative output

beyond absolute number (1+1>2).

It encompasses communication and teamwork, but it

also emphasizes individualism.

Three Phases of ASD

3. Learning:As members of ASD team begin to develop the

components, the emphasis is on “learning”.Learning will help them to improve developers level of

real understanding.Three ways: focus groups, technical reviews and project

postmortems

Process Assessment

What is Process Assessment

An objective model-independent method to assess the capability of an organization to meet the process goals

About collecting information

A way to demonstrate program effectiveness

Assessment Method

Assessment StagesKey PlayersInitiationPreparationAssessmentAnalysis and ReportingClosure

Assessment Stages

Initiation

Preparation

Assessment

Analysisand

Reporting

Closure

Initiation (stage 1)

Define theinputs

• identify the assessment purpose• select the assessment model• define goals for the assessment• identify the business drivers• identify constraints• document assumptions• identify additional information gathering requirements• identify feedback and output requirements• complete the assessment brief

Sanctionthe

business case

• costs and benefits• decision to proceed

Select the Resources

Outputs• assessment purpose• constraints• assessment goals• confidentiality agreements• quality measures to be collected

Assessment (stage 3)

Gather Information

• conduct interviews• study documentation• document findings

• consolidate the findings• rate the goals• rate the process• feedback initial conclusions• determine the Organizational Unit’s Capability Level

Reach Consensus

• on ALL ratings!

Conduct• according assessment plan• adapt plan for changes and feedback• data collection by interview or document• data review for process ratings• assessors agree on ratings before submitting them to the Lead Assessor

Types• measurement only (no analysis)• Findings & Recommendations• Findings & Action Planning

Analysis & Reporting (stage 4)

AnalyseFindings

DisseminateFindings

IdentifyAction Plan

issue Final Report

• Strengths & Weaknesses• Gap Analysis• Identify Improvement Opportunities

• semi-formal interactive feedback session

• prioritise improvements according impact & effort against business drivers• Cost/benefit Analysis• Schedule of improvement roll-out

• management findings & recommendations• summary assessment process & key players• results compared with targets• detailed process findings

Closure (stage 5)

Post-AssessmentReview

• results of the analysis of the participants feedback forms• the assessments’ achievements against its goals• the overall level of confidence in the assessments results• any problems the assessors experienced during the assessment including problems with the use of the method• the successes achieved• the techniques used during the assessment• the organizational unit and the Sponsor's response to the results

• Lead Assessor ensures that the Assessment Conformance Checklist is complete and signed-off.

Thank You