responding to change agile familiarisation overview of what agile is june 2008

20
Responding To Change Agile Familiarisation Overview of what Agile is June 2008

Upload: thomasine-mills

Post on 31-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Responding To Change

Agile FamiliarisationOverview of what Agile is June 2008

2

Sound Familiar

Time to market for projects is too longUnrealistic deadlinesPoor EstimationRequirement ChangesImmature architecture and designNo Documentation or too muchInadequate Testing

3

Projects today are...

Too slow “My needs are changing, but IT can’t keep up” “Nothing gets done in less than a year”

Not valuable enough “Project scope is wrong. And we’ve already coded half the

system” “I’ve got lots of documentation that no one uses for a system that

doesn’t meet my needs.” “We waste time designing and building features that are never

used”

Not responsive “Projects force the agency to close on requirements before they

really know what they want” “Every little modification results in a change order”

Not in control “Don’t know what’s going on with the project” “I’m stuck with consultants that don’t provide value”

4

Waterfall versus Agile

Timeline Comparison

Requirements for theEnd State

Design for theEnd State

Release 1Development

Month: 1 2 3 4 5 6 7 8 9 10 11 12

Release 2Development

Test

Initial ROI Delivered

Test

Waterfall

High LevelScopeand

Design forEnd State

Release 2Development (includesdetailed requirements,

design & test)

Initial ROI Delivered

Month: 1 2 3 4 5 6 7 8 9 10 11 12

Agile

New businessdemands are absorbed

Technical environmentchanges are absorbed

Release 1Development (includesdetailed requirements,

design & test)

§Clear “Go/No-Go” decision for next phase§Lower initial investment§Earlier ROI§Early visibility into project success§Ability to absorb change

5

Comparing

Development team is idle or not formed

Testing team peakDesign

team peak

Development team peak

Requirements peak

Requirements and test team are not on project

Design

Development

Test

Requirements

Typical water fall model development (With some overlap)

§ Little scope in the project plan for accepting changes with out re-planning and long Change request cycles

§ Re work due to late feed back and unclear requirements

§ Business only see finished article during UAT

§ Benefits not realised till end

Design

Development

Test

Requirements Design

Development

Test

Requirements

Design

DevelopmentTest

Requirements

No big team peaks/Spikes

All the teams formed at start of project

Small iterations help in getting early feedback

§ Close communication reduces re work§ Better requirements understanding with

user stories§ Better quality products with regular

demos and testing§ Each iteration gives value to business§ In production early§ Ability to absorb change requests easily

Agile model with Iterations

6

Iterative Incremental Development

“Iterative development is an approach to building software (or anything) in which the overall lifecycle is composed of several iterations in sequence. Each iteration is a self-contained mini-project composed of activities such as requirements analysis, design, programming, and test. Usually the partial system grows incrementally with new features, iteration by iteration; in other words, incremental development.”

--Craig Larman

7

Iterative Development

Time

VisibilityIterative Development

All-At-Once Development

8

Incremental Development

Time

Value

IncrementalDelivery

All-At-OnceDelivery

9

What is an Agile methodology?

Agile development is a methodology of software development that emphasizes customer satisfaction through continuous delivery of Functional software. Based on a variety of iterative development disciplines Agile methods put developers to work in small teams to tight budgets and short timescales.

Agile methods are considered

Lightweight

People-based rather than Process-based

Adaptive rather than predictive

Less document oriented than rigorous methods

10

Why Agile

Create and build the right requirementsReduce wasteAccelerate client valueImprove predictabilityProvide unparalleled transparency and control to the client

11

What is an Agile methodology? (Contd..)

Agile Method Types

12

What is an Agile methodology?

Agile Manifesto: Values Working software over comprehensive documentation Customer collaboration over contract negotiation Continuous Testing Short iterations (Incremental cycles) Responding to change over following a plan Individuals and interactions over processes and tools

13

Agile summary - on a postage stamp..

• establish a vision

• change always happens

• so prioritise your activity

• do something small

• get feedback

• decide next steps

14

Agile Myths ….

no design

no testing

no documentation

no idea of progress

poor quality

no plan

auditors won’t allow it

15

Key benefits of Agile

Increases Flexibility - Minimizes up-front investment and maximizes return on investment (ROI) by creating an efficient IT development process

Delivers the right solution - Aligns users and stakeholders with the right people to deliver the solution that the business actually needs

Accelerates Delivery - Iterations get to the right solution faster

Reduces risk and increases Quality - Greater stakeholder visibility and control

16

Key benefits of Agile…Contd

Increases Flexibility

2003 Standish Group report highlighted an alarming statistic with technology projects: Nearly two-thirds of the features built into these solutions

are rarely or never used

Solution: Evolutionary design It is a nonlinear approach where change is expected, and

where the team uses actual development to gain empirical data to inform the design

Blind alleys or requirements that simply don’t work are abandoned early on or are identified and eliminated before they are even reached

The solution evolves over multiple cycles (known as iterations), converging on an optimal response to the business problem with minimal waste.

17

Key benefits of Agile…ContdAccelerates DeliveryIterations reinforce evolutionary design and form a repetitive 'timebox' mentality for the project teams and clients. This translates into speed: the solution gets delivered faster and earlier

Solution The development teams deliver working, fully production-grade software much earlier in

the engagement This early software is not merely a proof of concept. The team focuses development first on high-risk and high-value aspects, which means the

earliest completed software is actually the most critical part of the solution. Stakeholders can choose to deploy this functionality (they may also elect to learn and

improve it to converge on an optimal solution over multiple iterations) Putting working software in front of business users early yields other critical benefits: it

helps legitimize the project spend, drives eventual adoption, and, thus, facilitates organizational change

18

Key benefits of Agile…Contd.

Reduces risk and increases quality Stakeholders know exactly where

the project stands at all times and can change its course as the business needs change

SolutionThe Story Log The story log is an active, living

scope of work that stakeholders use to drive the initiative

A story is a work item that delivers tangible stakeholder value within the iteration. Examples include implementing a report, adding a new feature to a web application, etc.

19

Agile Disadvantages

It’s hard!Makes all dysfunction visible Its doesn’t fix anything: the team has to do it Feels like things are worse at the beginning

Bad products will be delivered sooner, and doomed projects will fail faster Partial adoption may be worse than none at all

20

Sumit Gupta([email protected])