How AI, OpenAI, and ChatGPT impact business and software.
Iterations-zero-n
1. MARC JEANSON &
AMIR BARYLKO
AGILE PLANNING
ITERATIONS 0 - N
AGILE USER GROUP
OCT 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
2. WHO ARE WE?
• Architects
• Developers
• Mentors
• Great cook (not Marc)
• The ones who are entertaining you for the next hour!
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
3. RESOURCES
• Email:
amir@barylko.com
marc@redlinesoftware.com
• Twitter: @abarylko, @marcjeanson
• Blog: http://www.orthocoders.com
• Materials: http://www.orthocoders.com/presentations
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
4. EPISODE I
Why projects fail?
Feasibility
Requirements
Agile planning
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
5. WHY PROJECTS FAIL?
• Delivering late or over budget
• Delivering the wrong thing
• Unstable in production
• Costly to maintain
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
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.
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
7. AGILE PRINCIPLES
• Continuous Delivery • Businessand
developers
• Embrace Change collaboration
• Self-organize • Team ownership
• Self-sustained
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
8. HIGH LEVEL ESTIMATE
(ONLY A GOOD GUESS)
10x
Time
24 weeks
12 weeks
6 weeks
2 weeks
(The Agile Samurai)
2x
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
9. USER STORIES
• Short description of a “feature”
• Avoid technical mumbo-jumbo
• Focus on goals no “how-to”
• Should fit in a card
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
10. PLANNING POKER
• The Customer reads a story
• The team asks questions
• At the same time, each member shows a card
• Discuss until reach consensus
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
11. AGILE PLAN
• Know your backlog of stories
• Use iterations (one to two weeks)
• Estimate velocity (how many points per iteration)
• Update estimations
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
13. DISCLAIMER
• All characters appearing in these work are fictitious.
• Any resemblance to real persons, living or dead, is purely
coincidental.
• Any resemblance to your current company, team, manager is
intentional.
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
14. NOT SO LONG AGO
IN A COMPANY
NOT SO FAR AWAY...
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
15. A NEW AGILE PROJECT
Peer review web application
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
17. OUR VP
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
18. OUR AGILE TEAM
• Agile Coach
• Project Manager
• Developer
• QA
• you!
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
19. PEER REVIEW APP
• Allows employees to answer questions about their peers
• Every member in the team reviews the other members
• The review process is private
• Higher management will have access to the summary of
responses
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
20. ITERATION 0
Process & Communication
Architecture
Testing harness
Continuous integration
Deployment
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
21. 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.
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
22. PROCESS &
COMMUNICATION
• Kanban Board
• No fixed iterations
• Weekly releases
• Weekly 15 min status update (or when needed)
• Minimize meetings
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
23. KANBAN BOARD
• Backlog: Features to be done
• Analysis: Features that are being defined (should be sized)
• Working: Features that are in development
• Review (QA): Features that need review before deployment
• Archive: Deployed features (finished 100%)
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
24. WIP LIMIT
• Why do we need it?
• How do we choose them?
• Backlog: How many should go here?
• Analysis: 1
• Working: 2
• Review: 1
• What happens if the numbers are wrong?
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
25. ARCHITECTURE
• Ruby On Rails
• Model - View - Controllers
• Internal usage
• Security is a concern
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
26. TESTING
• Acceptance tests: we are going to use Cucumber and
Capybara
• Unit tests: we are going to use rSpec
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
27. CONTINUOUS INTEGRATION
• Team City server
• Detect changes in the source
• Builds and notify if tests are broken
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
28. DEPLOYMENT
• Scripting using Capistrano
• At then end of the week a new release is deployed
• We can roll back if something goes wrong
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
29. ITERATION I - N
DEMO
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
30. FEATURES
• User login • Manager: CRUD review
questions
• See list of pending reviews
• Manager: See review
• Complete peer review summary
• Admin: create users • Statistics?
• Manager: CRUD reviews
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
31. SUMMARY
What did we learn today?
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
32. ITERATION 0
• Setup your communication tools
• Make sure you can deploy from day 1
• Make sure you “trace” you app across the board
• Make sure BDD and TDD are part of your process
• Make sure you have statistics and alarms ready
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
33. AGILE LIFE CYCLE
• Use meetings judiciously when needed
• Rely on the visual tools to get status
• Testing is a key factor, high quality all the way!
• Look at the metrics to understand what’s going on
• Work as a team embracing the product
• Don’t be afraid of “blurred” roles
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011
38. CLOJURE TRAINING
• When: Nov 6, 7 & 8
• More info: http://www.maventhought.com
• Goal: Learn Clojure and functional programming with real
hands on examples
Marc Jeanson & Amir Barylko Iterations 0 to N
Tuesday, October 11, 2011