iterations-zero-n
DESCRIPTION
Presentation done at the WPG agile user group about iterations zero and one to NTRANSCRIPT
Marc Jeanson & Amir Barylko Iterations 0 to N
MARC JEANSON &AMIR BARYLKO
AGILE PLANNINGITERATIONS 0 - N
AGILE USER GROUPOCT 2011
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
WHO ARE WE?
• Architects
• Developers
• Mentors
• Great cook (not Marc)
• The ones who are entertaining you for the next hour!
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
RESOURCES
• Email: [email protected] [email protected]
• Twitter : @abarylko, @marcjeanson
• Blog: http://www.orthocoders.com
• Materials: http://www.orthocoders.com/presentations
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
EPISODE IWhy projects fail?
FeasibilityRequirementsAgile planning
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
WHY PROJECTS FAIL?
•Delivering late or over budget
•Delivering the wrong thing
•Unstable in production
•Costly to maintain
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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.
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
AGILE PRINCIPLES
•Continuous Delivery
•Embrace Change
•Self-organize
•Self-sustained
•Business and developers collaboration
•Team ownership
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
HIGH LEVEL ESTIMATE(ONLY A GOOD GUESS)
10x
2x
Time
(The Agile Samurai)
2 weeks
6 weeks
12 weeks
24 weeks
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
USER STORIES
•Short description of a “feature”
•Avoid technical mumbo-jumbo
•Focus on goals no “how-to”
•Should fit in a card
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
PLANNING POKER
•The Customer reads a story
•The team asks questions
•At the same time, each member shows a card
•Discuss until reach consensus
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
AGILE PLAN
•Know your backlog of stories
•Use iterations (one to two weeks)
•Estimate velocity (how many points per iteration)
•Update estimations
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
EPISODE II
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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.
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
NOT SO LONG AGOIN A COMPANY
NOT SO FAR AWAY...
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
A NEW AGILE PROJECTPeer review web application
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
OUR COMPANY
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
OUR VP
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
OUR AGILE TEAM
• Agile Coach
• Project Manager
• Developer
• QA
• you!
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
ITERATION 0Process & Communication
ArchitectureTesting harness
Continuous integrationDeployment
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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.
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
PROCESS & COMMUNICATION
• Kanban Board
• No fixed iterations
• Weekly releases
• Weekly 15 min status update (or when needed)
• Minimize meetings
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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%)
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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?
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
ARCHITECTURE
• Ruby On Rails
• Model - View - Controllers
• Internal usage
• Security is a concern
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
TESTING
• Acceptance tests: we are going to use Cucumber and Capybara
• Unit tests: we are going to use rSpec
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
CONTINUOUS INTEGRATION
• Team City server
• Detect changes in the source
• Builds and notify if tests are broken
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
DEPLOYMENT
• Scripting using Capistrano
• At then end of the week a new release is deployed
• We can roll back if something goes wrong
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
ITERATION I - NDEMO
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
FEATURES
• User login
• See list of pending reviews
• Complete peer review
• Admin: create users
• Manager: CRUD reviews
• Manager: CRUD review questions
• Manager: See review summary
• Statistics?
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
SUMMARYWhat did we learn today?
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
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
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
QUESTIONS?
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
RESOURCES
• Email: [email protected] [email protected]
• Twitter : @abarylko, @marcjeanson
• Slides: http://www.orthocoders.com/presentations
• KanbanFu: https://github.com/amirci/KanbanFU(agilewpg branch)
• KanbanStats: https://github.com/amirci/zenboard (kanbanfu branch)
• Demo Code: https://github.com/marcjeanson/peer_reviewer
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
RESOURCES II
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
RESOURCES III
Tuesday, October 11, 2011
Marc Jeanson & Amir Barylko Iterations 0 to N
CLOJURE TRAINING
• When: Nov 6, 7 & 8
• More info: http://www.maventhought.com
• Goal: Learn Clojure and functional programming with real hands on examples
Tuesday, October 11, 2011