How to Adopt Agile at Your Organization

Post on 18-May-2015

15.012 views 2 download

Tags:

Transcript of How to Adopt Agile at Your Organization

How to Adopt Agileat Your Organization

Challenges and Success Stories

Agile Riga Day 2011

Raimonds Simanovskis

Agile

TechnologyRuby

github.com/rsim

JavaScript

Open-source

@rsim

Social

I heard about Agile...

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

But what is Agile?

Why to start Agile?

What are the problems we want to solve?

Do we acknowledge that we have problems?

0

We want toDevelop software faster

Be responsive to changes

Get higher quality result

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

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!

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...

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 :(

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 :(

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 :(

OK, ready to start!

Big bang approach!

OK, some ramp up

But in reality...

There will be failures

Adopt iteratively practice by practice

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

Start with iterationsCreate

a backlog

Regularreview ofpriorities

Plan initerations

Self-organizedeveryday

work

1 - 4 weeks

Demonstrateiteration

result

Retrospectand

improve

2

Challengesafter starting

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

Performing rituals without understanding the reason

What did you do?

Nothing special

The same as usualYou guysare cool!

Let’s go to lunch!

Iteration 1 Iteration 2 Iteration 3 Iteration 4

Overcustomizing practices

Requirements

Design& coding Testing

Requirements

Design& coding Testing

Requirements

Design& coding

False sense of early finish

We’re doing Scrum!

Yeah!We’re so Agile!

And leanas well!

Involve customerExplain values and

principles

Explain iterations and backlog

Explain product owner role and help with it

3

Speak morewrite less

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

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

Transparency and honesty

Challenges

Agile just inside development team without

customer involvement

Challenges

Customer does nothave time

Challenges

Development team and customer each have own

backlogs and priorities

Challenges

Customer collaboration and scope management in

fixed scope / fixed price contracts

Implement Quality

Doneis

done

4

Testing

Integrated into development

Automated

Not a role but function

Continuous integration

Observe code repository

Build product

Execute tests

Publish results

Zero bugs

Challenges

Backlog Work in process Done

Growing work in process

Backlog Work in process Done

Growing work in process

Backlog Work in process Done

Usability

Done means not just doable but also usable

Technical Excellence5

Is itgood?

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

Pair Programming

Test Driven Development

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 :(

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!

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

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

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

Challenges

Development Operations

Staying agile7