Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
CPL12-Agile-planning
1. AMIR BARYLKO
AGILE
PLANNING
CODE PALOUSA
MARCH 2012
Amir Barylko - Agile Planning MavenThought Inc.
2. WHO AM I?
• Quality Expert
• Architect
• Developer
• Mentor
• Great cook
• The one who’s entertaining you for the next hour!
Amir Barylko - Agile Planning MavenThought Inc.
4. INTRO
Why projects fail?
Reality Check
The agile manifesto
Agile Principles
Amir Barylko - Agile Planning MavenThought Inc.
5. WHY PROJECTS FAIL?
• Delivering late or over budget
• Delivering the wrong thing
• Unstable in production
• Costly to maintain
Amir Barylko - Agile Planning MavenThought Inc.
6. REALITY CHECK
• It is impossible to gather all the requirements at
the beginning of a project.
• Whatever requirements you do gather are
guaranteed to change.
• There will always be more to do than time and
money will allow.
Amir Barylko - Agile Planning MavenThought Inc.
7. AGILE MANIFESTO
HTTP://AGILEMANIFESTO.ORG
Individuals and interactions OVER Process and Tools
Customer collaboration OVER Contract negotiation
Comprehensive
Working software OVER
documentation
Responding to change OVER Following a plan
Amir Barylko - Agile Planning MavenThought Inc.
8. AGILE PRINCIPLES
• Continuous Delivery • Businessand
developers
• Embrace Change collaboration
• Self-organize • Team ownership
• Self-sustained
Amir Barylko - Agile Planning MavenThought Inc.
9. FEASIBILITY
High Level Estimates
Risks
Amir Barylko - Agile Planning MavenThought Inc.
10. HIGH LEVEL ESTIMATE
(ONLY A GOOD GUESS)
10x
Time
24 weeks
12 weeks
6 weeks
2 weeks
(The Agile Samurai)
2x
Amir Barylko - Agile Planning MavenThought Inc.
11. RISKS
• Low availability of the client
• Developers may leave
• No QA team
• New architecture
• ...
Amir Barylko - Agile Planning MavenThought Inc.
12. REQUIREMENTS
User Stories
Size
Planning Poker
Amir Barylko - Agile Planning MavenThought Inc.
13. USER STORIES
• Short description of a “feature”
• Avoid technical mumbo-jumbo
• Focus on goals no “how-to”
• Should fit in a card
Amir Barylko - Agile Planning MavenThought Inc.
14. ADD MOVIES
As a User
I want to add a movie
So I can register the details
Amir Barylko - Agile Planning MavenThought Inc.
15. SIZE
• Measured in “story points”
• Based on complexity
• Size stories relative to each other
• Relativity is more important that accuracy
• Wait, how do I translate to hours/days?
Amir Barylko - Agile Planning MavenThought Inc.
16. PLANNING POKER
• The Customer reads a story
• The team asks questions
• At the same time, each member shows a card
• Discuss until reach consensus
Amir Barylko - Agile Planning MavenThought Inc.
17. DEMO
(VOLUNTEERS?)
•Add a movie
•Get reviews
•Sort movies by title
Amir Barylko - Agile Planning MavenThought Inc.
18. WHERE’S THE PLAN?
Back to reality
Amir Barylko - Agile Planning MavenThought Inc.
19. STATIC PLAN
• Team changes
• Requirements change
• Low quality increases development time
• What can we do?
Amir Barylko - Agile Planning MavenThought Inc.
20. AGILE PLAN
• Know your backlog of stories
• Use iterations (one to two weeks)
• Estimate velocity (how many points per iteration)
• Update estimations
Amir Barylko - Agile Planning MavenThought Inc.
21. PLAN UPDATE
•How many iterations?
effort / team velocity
Amir Barylko - Agile Planning MavenThought Inc.
22. EXAMPLE
• Iteration 1: 15 points
• Iteration 2: 20 points
Velocity (avg): 19 points
• Iteration 3: 18 points
• Iteration 4: 22 points
How many iterations?
190 points / 19 points per iteration = 10 iterations
Amir Barylko - Agile Planning MavenThought Inc.
23. HOW TO START?
• Create your user story backlog
• Add a movie
• Search movies by title
• Get reviews
• Get posters
• List movies by date and title
Amir Barylko - Agile Planning MavenThought Inc.
24. HOW TO START? II
• Let the customer choose a release (grouping)
• Sort them by priority
Release 1 Release 2
Add a movie Get reviews
Search movies by title List movies by date and title
Get posters
Amir Barylko - Agile Planning MavenThought Inc.
25. HOW TO START III
• Size the stories
• Add a movie: 5 points
• Search movies by title: 2 points
• Get reviews: 5 points
• Get posters: 5 points
• List movies by date and title: 1 point
Amir Barylko - Agile Planning MavenThought Inc.
26. HOW TO START IV
• Have a good guess
• Best case?
• Worst case?
• Start working on iterations
• Estimation after 4th iteration should be stable
Amir Barylko - Agile Planning MavenThought Inc.
27. ITERATIONS
Iteration 0 .. N
Quality as a Driver
Visual Communication
Metrics
Manage Scope
Amir Barylko - Agile Planning MavenThought Inc.
28. ITERATION 0
• Flush out architecture.
• Setup Testing harness for TDD and BDD.
• Setup continuous integration.
• Setup scripts to build, deploy, etc.
• Setup visual communication tools.
Amir Barylko - Agile Planning MavenThought Inc.
29. ITERATION 1.. N
•Story Planning
Every day!
•Pair programming (switching often)
•Meet when needed
•End with Retrospective
Amir Barylko - Agile Planning MavenThought Inc.
30. QUALITY AS A DRIVER
Red
BDD
Red
Refactor Refactor TDD Green Green
(The rSpec book)
Amir Barylko - Agile Planning MavenThought Inc.
33. BURN DOWN CHART
(REMAINING POINTS PER ITERATION)
Burdown Chart
• Axis X = iterations
100
• Axis Y = remaining 75
points to completion
50
25
0
It 0 It 1 It 2 It 3 It 4 It 5 It 6 it 7
Amir Barylko - Agile Planning MavenThought Inc.
34. MANAGE SCOPE
•Budget
•Time
•Quality
•Scope
Amir Barylko - Agile Planning MavenThought Inc.
39. SOFTWARE QUALITY
WORKSHOP
• When: May 4, 10-11 & 16-17
• More info: http://www.maventhought.com
• Goal: Learn Kanban, BDD & TDD to improve the quality of
your day to day job.
Amir Barylko - Agile Planning MavenThought Inc.