SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Mehr von Amir Barylko

Functional converter project
Functional converter projectFunctional converter project
Functional converter projectAmir Barylko
 
Elm: delightful web development
Elm: delightful web developmentElm: delightful web development
Elm: delightful web developmentAmir Barylko
 
User stories deep dive
User stories deep diveUser stories deep dive
User stories deep diveAmir Barylko
 
Coderetreat hosting training
Coderetreat hosting trainingCoderetreat hosting training
Coderetreat hosting trainingAmir 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) awesomenessAmir Barylko
 
What's new in c# 6
What's new in c# 6What's new in c# 6
What's new in c# 6Amir 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 productivityAmir Barylko
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentAmir Barylko
 
Agile teams and responsibilities
Agile teams and responsibilitiesAgile teams and responsibilities
Agile teams and responsibilitiesAmir 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 requirementsAmir Barylko
 
SDEC12 Beautiful javascript with coffeescript
SDEC12 Beautiful javascript with coffeescriptSDEC12 Beautiful javascript with coffeescript
SDEC12 Beautiful javascript with coffeescriptAmir Barylko
 

Mehr von 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
 

Kürzlich hochgeladen

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
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
  • 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