SlideShare a Scribd company logo
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
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
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
EPISODE I
                              Why projects fail?
                                 Feasibility
                               Requirements
                               Agile planning



Marc Jeanson & Amir Barylko                        Iterations 0 to N
Tuesday, October 11, 2011
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
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
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
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
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
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
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
EPISODE II




Marc Jeanson & Amir Barylko                Iterations 0 to N
Tuesday, October 11, 2011
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
NOT SO LONG AGO
                   IN A COMPANY
                  NOT SO FAR AWAY...




Marc Jeanson & Amir Barylko        Iterations 0 to N
Tuesday, October 11, 2011
A NEW AGILE PROJECT
                              Peer review web application




Marc Jeanson & Amir Barylko                                 Iterations 0 to N
Tuesday, October 11, 2011
OUR COMPANY




Marc Jeanson & Amir Barylko               Iterations 0 to N
Tuesday, October 11, 2011
OUR VP




Marc Jeanson & Amir Barylko            Iterations 0 to N
Tuesday, October 11, 2011
OUR AGILE TEAM

   • Agile       Coach

   • Project         Manager

   • Developer

   • QA

   • you!



Marc Jeanson & Amir Barylko                  Iterations 0 to N
Tuesday, October 11, 2011
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
ITERATION 0
                              Process & Communication
                                    Architecture
                                   Testing harness
                                Continuous integration
                                    Deployment


Marc Jeanson & Amir Barylko                              Iterations 0 to N
Tuesday, October 11, 2011
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
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
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
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
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
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
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
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
ITERATION I - N
                                 DEMO




Marc Jeanson & Amir Barylko                   Iterations 0 to N
Tuesday, October 11, 2011
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
SUMMARY
                              What did we learn today?




Marc Jeanson & Amir Barylko                              Iterations 0 to N
Tuesday, October 11, 2011
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
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
QUESTIONS?




Marc Jeanson & Amir Barylko                Iterations 0 to N
Tuesday, October 11, 2011
RESOURCES
   •   Email:
       amir@barylko.com
       marc@redlinesoftware.com

   •   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

Marc Jeanson & Amir Barylko                                                Iterations 0 to N
Tuesday, October 11, 2011
RESOURCES II




Marc Jeanson & Amir Barylko                  Iterations 0 to N
Tuesday, October 11, 2011
RESOURCES III




Marc Jeanson & Amir Barylko                   Iterations 0 to N
Tuesday, October 11, 2011
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

More Related Content

More from Amir Barylko

Functional converter project
Functional converter projectFunctional converter project
Functional converter project
Amir Barylko
 
Elm: delightful web development
Elm: delightful web developmentElm: delightful web development
Elm: delightful web development
Amir Barylko
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
Amir Barylko
 
No estimates
No estimatesNo estimates
No estimates
Amir Barylko
 
User stories deep dive
User stories deep diveUser stories deep dive
User stories deep dive
Amir Barylko
 
Coderetreat hosting training
Coderetreat hosting trainingCoderetreat hosting training
Coderetreat hosting training
Amir Barylko
 
There's no charge for (functional) awesomeness
There's no charge for (functional) awesomenessThere's no charge for (functional) awesomeness
There's no charge for (functional) awesomeness
Amir Barylko
 
What's new in c# 6
What's new in c# 6What's new in c# 6
What's new in c# 6
Amir Barylko
 
Productive teams
Productive teamsProductive teams
Productive teams
Amir Barylko
 
Who killed object oriented design?
Who killed object oriented design?Who killed object oriented design?
Who killed object oriented design?
Amir Barylko
 
Communication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivityCommunication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivity
Amir Barylko
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
Amir Barylko
 
Refactoring
RefactoringRefactoring
Refactoring
Amir Barylko
 
Agile teams and responsibilities
Agile teams and responsibilitiesAgile teams and responsibilities
Agile teams and responsibilities
Amir Barylko
 
Refactoring
RefactoringRefactoring
Refactoring
Amir Barylko
 
Beutiful javascript with coffeescript
Beutiful javascript with coffeescriptBeutiful javascript with coffeescript
Beutiful javascript with coffeescriptAmir Barylko
 
Rich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & CoffeescriptRich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & CoffeescriptAmir Barylko
 
Agile requirements
Agile requirementsAgile requirements
Agile requirements
Amir Barylko
 
SDEC12 Beautiful javascript with coffeescript
SDEC12 Beautiful javascript with coffeescriptSDEC12 Beautiful javascript with coffeescript
SDEC12 Beautiful javascript with coffeescript
Amir Barylko
 

More from Amir Barylko (20)

Functional converter project
Functional converter projectFunctional converter project
Functional converter project
 
Elm: delightful web development
Elm: delightful web developmentElm: delightful web development
Elm: delightful web development
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
No estimates
No estimatesNo estimates
No estimates
 
User stories deep dive
User stories deep diveUser stories deep dive
User stories deep dive
 
Coderetreat hosting training
Coderetreat hosting trainingCoderetreat hosting training
Coderetreat hosting training
 
There's no charge for (functional) awesomeness
There's no charge for (functional) awesomenessThere's no charge for (functional) awesomeness
There's no charge for (functional) awesomeness
 
What's new in c# 6
What's new in c# 6What's new in c# 6
What's new in c# 6
 
Productive teams
Productive teamsProductive teams
Productive teams
 
Who killed object oriented design?
Who killed object oriented design?Who killed object oriented design?
Who killed object oriented design?
 
Communication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivityCommunication is the Key to Teamwork and productivity
Communication is the Key to Teamwork and productivity
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Refactoring
RefactoringRefactoring
Refactoring
 
Agile teams and responsibilities
Agile teams and responsibilitiesAgile teams and responsibilities
Agile teams and responsibilities
 
Refactoring
RefactoringRefactoring
Refactoring
 
Beutiful javascript with coffeescript
Beutiful javascript with coffeescriptBeutiful javascript with coffeescript
Beutiful javascript with coffeescript
 
Sass & bootstrap
Sass & bootstrapSass & bootstrap
Sass & bootstrap
 
Rich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & CoffeescriptRich UI with Knockout.js & Coffeescript
Rich UI with Knockout.js & Coffeescript
 
Agile requirements
Agile requirementsAgile requirements
Agile requirements
 
SDEC12 Beautiful javascript with coffeescript
SDEC12 Beautiful javascript with coffeescriptSDEC12 Beautiful javascript with coffeescript
SDEC12 Beautiful javascript with coffeescript
 

Recently uploaded

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

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
  • 12. EPISODE II 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
  • 16. OUR COMPANY 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
  • 34. QUESTIONS? Marc Jeanson & Amir Barylko Iterations 0 to N Tuesday, October 11, 2011
  • 35. RESOURCES • Email: amir@barylko.com marc@redlinesoftware.com • 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 Marc Jeanson & Amir Barylko Iterations 0 to N Tuesday, October 11, 2011
  • 36. RESOURCES II Marc Jeanson & Amir Barylko Iterations 0 to N Tuesday, October 11, 2011
  • 37. RESOURCES III 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