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