How to Adopt Agile at Your Organization

58
How to Adopt Agile at Your Organization Challenges and Success Stories Agile Riga Day 2011

Transcript of How to Adopt Agile at Your Organization

Page 1: How to Adopt Agile at Your Organization

How to Adopt Agileat Your Organization

Challenges and Success Stories

Agile Riga Day 2011

Page 2: How to Adopt Agile at Your Organization

Raimonds Simanovskis

Agile

TechnologyRuby

github.com/rsim

JavaScript

Open-source

@rsim

Social

Page 3: How to Adopt Agile at Your Organization

I heard about Agile...

Page 4: How to Adopt Agile at Your Organization

But what is Agile?

Page 5: How to Adopt Agile at Your Organization

But what is Agile?

Page 6: How to Adopt Agile at Your Organization

But what is Agile?

Page 7: How to Adopt Agile at Your Organization

But what is Agile?

Page 8: How to Adopt Agile at Your Organization

But what is Agile?

Page 9: How to Adopt Agile at Your Organization

But what is Agile?

Page 10: How to Adopt Agile at Your Organization

But what is Agile?

Page 11: How to Adopt Agile at Your Organization

But what is Agile?

Page 12: How to Adopt Agile at Your Organization

But what is Agile?

Page 13: How to Adopt Agile at Your Organization

But what is Agile?

Page 14: How to Adopt Agile at Your Organization

Why to start Agile?

What are the problems we want to solve?

Do we acknowledge that we have problems?

0

Page 15: How to Adopt Agile at Your Organization

We want toDevelop software faster

Be responsive to changes

Get higher quality result

Page 16: How to Adopt Agile at Your Organization

Challenges before starting

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Why to change?Everything is

already more or less OK

Page 17: How to Adopt Agile at Your Organization

Challenges before starting

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

We are already Agile!

Page 18: How to Adopt Agile at Your Organization

Challenges before starting

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Just another buzzword...

Page 19: How to Adopt Agile at Your Organization

Challenges before starting

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Our managers don’t allow us to

be agile :(

Page 20: How to Adopt Agile at Your Organization

Challenges before starting

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Our employees don’t take

responsibility :(

Page 21: How to Adopt Agile at Your Organization

Challenges before starting

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Our customers are demanding

waterfall :(

Page 22: How to Adopt Agile at Your Organization

OK, ready to start!

Page 23: How to Adopt Agile at Your Organization

Big bang approach!

Page 24: How to Adopt Agile at Your Organization

OK, some ramp up

Page 25: How to Adopt Agile at Your Organization

But in reality...

Page 26: How to Adopt Agile at Your Organization

There will be failures

Page 27: How to Adopt Agile at Your Organization

Adopt iteratively practice by practice

Page 28: How to Adopt Agile at Your Organization

Start with valuesand principles

Individuals and interactions

Working software

Customer collaboration

Responding to change

Processesand tools

Comprehensive documentation

Contract negotiation

Followinga plan

over

over

over

over

1

Page 29: How to Adopt Agile at Your Organization

Start with iterationsCreate

a backlog

Regularreview ofpriorities

Plan initerations

Self-organizedeveryday

work

1 - 4 weeks

Demonstrateiteration

result

Retrospectand

improve

2

Page 30: How to Adopt Agile at Your Organization

Challengesafter starting

Page 31: How to Adopt Agile at Your Organization

Just renaming things

Tasks in MS Project plan Backlog items

Requirements specification User stories

Project phases Iterations

Detailed design specification... we still need this ...

Project Manager Scrum Master

Page 32: How to Adopt Agile at Your Organization

Performing rituals without understanding the reason

What did you do?

Nothing special

The same as usualYou guysare cool!

Let’s go to lunch!

Page 33: How to Adopt Agile at Your Organization

Iteration 1 Iteration 2 Iteration 3 Iteration 4

Overcustomizing practices

Requirements

Design& coding Testing

Requirements

Design& coding Testing

Requirements

Design& coding

Page 34: How to Adopt Agile at Your Organization

False sense of early finish

We’re doing Scrum!

Yeah!We’re so Agile!

And leanas well!

Page 35: How to Adopt Agile at Your Organization

Involve customerExplain values and

principles

Explain iterations and backlog

Explain product owner role and help with it

3

Page 36: How to Adopt Agile at Your Organization

Speak morewrite less

Lo-fi communications:user stories, index cards, whiteboard

Page 37: How to Adopt Agile at Your Organization

Lo-fi communications:user stories, index cards, whiteboard

Transparency and honesty

Page 38: How to Adopt Agile at Your Organization

Challenges

Agile just inside development team without

customer involvement

Page 39: How to Adopt Agile at Your Organization

Challenges

Customer does nothave time

Page 40: How to Adopt Agile at Your Organization

Challenges

Development team and customer each have own

backlogs and priorities

Page 41: How to Adopt Agile at Your Organization

Challenges

Customer collaboration and scope management in

fixed scope / fixed price contracts

Page 42: How to Adopt Agile at Your Organization

Implement Quality

Doneis

done

4

Page 43: How to Adopt Agile at Your Organization

Testing

Integrated into development

Automated

Not a role but function

Page 44: How to Adopt Agile at Your Organization

Continuous integration

Observe code repository

Build product

Execute tests

Publish results

Page 45: How to Adopt Agile at Your Organization

Zero bugs

Page 46: How to Adopt Agile at Your Organization

Challenges

Backlog Work in process Done

Page 47: How to Adopt Agile at Your Organization

Growing work in process

Backlog Work in process Done

Page 48: How to Adopt Agile at Your Organization

Growing work in process

Backlog Work in process Done

Page 49: How to Adopt Agile at Your Organization

Usability

Done means not just doable but also usable

Page 50: How to Adopt Agile at Your Organization

Technical Excellence5

Is itgood?

#@%$^&10 PRINT “Hello”20 GOTO 10

Pair Programming

Page 51: How to Adopt Agile at Your Organization

Test Driven Development

Page 52: How to Adopt Agile at Your Organization

Challenges

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Technical practices much harder than “soft” practices :(

Page 53: How to Adopt Agile at Your Organization

Challenges

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Twice as much work!

Page 54: How to Adopt Agile at Your Organization

Challenges

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

I’m not allowed to do refactoringNeed to work on

new features

Page 55: How to Adopt Agile at Your Organization

Challenges

• “Why to change?”

• “We are already agile”

• “Just another buzzword”

• “Our managers don’t allow to be agile”

• “Our employees don’t take responsibility”

• “Our customers want waterfall”

Legacy code...Bad technology...

Can’t do TDD

Page 56: How to Adopt Agile at Your Organization

Readiness for change6

Anything can be changed

Minimize cycle time to production

Source code always ready for deployment

Automated deployments

Agi

le o

pera

tions

Page 57: How to Adopt Agile at Your Organization

Challenges

Development Operations

Page 58: How to Adopt Agile at Your Organization

Staying agile7