SlideShare a Scribd company logo
1 of 52
Download to read offline
Iteration 0
About Speaker
                     http://kensipe.blogspot.com/
                     http://del.icio.us/kensipe
                     twitter: @kensipe
                     kensipe@gmail.com

     Developer: Embedded, C++, Java, Groovy, Grails, C#, F#
     JavaOne 2009 Rock Star, NFJS
     Microsoft MCP
     Sun Certified Java 2 Architect
     Master of Scrums
     Agile Coach
     Instructor: VisiBroker CORBA
                 Rational Rose, OOAD
Agenda

         Agile Intro Edition
         Agile Micro Edition
           – Inside an Iteration
         Agile Macro Edition
           – Leading up to Iteration 0
         Iteration 0
Development Processes



                    Waterfall




                                4
Development Processes




                Iterative



                            4
Value of Iterative




                     5
Value of Iterative

Continuous focus
  – Improvement
  – Quality
  – Priority
  – Adding Business Value
  – Ability to Estimate
  – Team / Team Ability




                            6
Value of Iterative

Continuous focus
  – Improvement
  – Quality
  – Priority
  – Adding Business Value
  – Ability to Estimate
  – Team / Team Ability




                            6
Value of Iterative

      Develops trust with the Business!




                                     7
What Agile is NOT

Evolutionary
No Documentation
No Architecture
Cowboy Development




                      8
What Agile is NOT

Evolutionary
No Documentation
No Architecture
Cowboy Development




                      8
Agile Micro View




                   9
What is an Iteration?

                    Standup Meetings




  Opening Meeting                      Closing Meeting




                                                 10
Does Size Matter?




                    11
Opening Meeting

Who comes?
 – Developers
 – DBA
 – User / BA
 – Architects
 – QA




                  12
Opening Meeting

Suggest 2 Separate Opening Meetings
  – Objective of the first meeting:
    •   Agree on Acceptance Criteria
    •   Agree on priority
  – Objective of the second meeting:
    •   Break out and assignment of all tasks




                                                13
Closing Meeting

What was accepted by the User?
What is the velocity?
What architecturally significant has changed?
What is working?
What didn’t go well?
 – What do we do about it?




                                      14
Value of the Closing Meeting

Quality Check
User Feedback
Estimate Check
Team Performance Check



                          Velocity?
                          Bug Level?




                                 15
Stand up!

Pig Rules! Chickens can listen.


What did you do yesterday?
What will you do today?
Are there any impediments in your way?




                                    16
Agile Macro View




                   17
Starting Agile Projects

Starting is the Hardest Part
  – Often is a change
  – Less Experience




   Desire is the starting point of all achievement, not a hope, not a wish, but a keen
   pulsating desire which transcends everything.
   -- Napoleon Hill
Agile at a Macro Level

Missing Details
 – Great Information on Running Agile
 – Less Information on:
     •   Starting Agile
     •   Pre-IT0
     •   IT0
Agile Full Life Cycle
Pre-IT0 Stage 1




 Project Inception
 Stake Holder Level
   – Business Opportunity / Concerns
   – Often not exposed to all developers
Pre-IT0 Stage 2

Collection of Stories
Estimating
  – ROI
  – Project Justified



Build up of Team / Resources
Iteration Sizing
Initial List of Risks
Release Plan
Building a Team

             Co-Ownership
             Prepared to Steal Tasks
             Pairing Capable
             Expected Velocity?
               – Adjust Story Alignment and
                 Release Plan
Prepare for Team Phases
Forming
  – “polite”… team forms, No one is offended
  – Excitement / Optimism
Storming
  – Honeymoon is over
  – Resisting Task, Disunity
Norming
  – Team is starting to work together
  – Constructive Criticism
Performing
  – High performance team
  – Self Directed
Iteration 0

Creation of the Machine!
Environment Setup
  – Continuous Integration (CI)
  – IDE
  – Communication
Project Alignment
  – To other concerns outside the core team
Release Plan
Planning for Success

               Working with Users
                – Stories
                    •   Acceptance Criteria!!!!
                 – Priorities
               Project Alignments
                 – DBA / Database
                 – QA
                 – Enterprise Architecture
                 – Management
Release Plan

 Internal Releases Every Iteration
 Planned QA Releases
 Planned External Releases
 Initial Breakdown of Stories
   – Iteration Based on Priority
Do we need all stories to start?

2 Story Development Approaches
  – Major of the stories upfront
     •   With the understanding that you will likely discover
         more
  – Some stories upfront to prime
     •   With the intent that you’ll have a trailing analyst


Either Approach needs an Analyst, BA or PM
  – To work with feeding the stories into the next
    iteration
Alignment With QA Option 1
        BA IT 2
   Story Refinement

      Dev IT 1
       Code               BA IT 3
                     Story Refinement
       QA IT 1
                         Dev IT 2           BA IT 4
      Test Plan
                          Code         Story Refinement

   Iteration 1           QA IT 2
                        Test Plan
                                           Dev IT 3
                                            Code
                                                              BA IT 5
                                                         Story Refinement
                         QA IT 1           QA IT 3           Dev IT 4
                      Execution Plan      Test Plan           Code
                                           QA IT 2           QA IT 4
                     Iteration 2        Execution Plan      Test Plan
                                          QA IT 1            QA IT 3
                                         Regression       Execution Plan

                                       Iteration 3         QA IT 1 & 2
                                                           Regression



                                                         Iteration 4
Alignment with QA Option 2

   Dev IT 1
    Code
                 Dev IT 2
                  Code

 Iteration 1                   Dev IT 3
                                Code

               Iteration 2                  Dev IT 4
                                             Code
                             Iteration 3
                                                          QA IT 1
                                                         Test Plan

                                                                     Dev IT 5
                                           Iteration 4                Code


 Alignment to:
    – DBA
    – Enterprise Architects
Iteration 0
What would stop you from doing a 1 week iteration?




                                            32
Purpose of Automation

Predictability
Frequent repeatable feedback
Shorter iterations possible




                                33
Iteration 0

Version Control
IDE Setup
IT0 Spikes
Build System
Continuous Integration
Report Mechanism
Core Infrastructure
Xplanner / JIRA / Wiki
Initial Design Strategies
Multiple Domains
Version Control

Establish Project Layout
Questions
  – Head / Branch
  – Versioning Strategy?
    •   (3.0.2) Major, Minor, Patch
  – What to do with Spikes?

Version Control Admin / Reports
  – Automate as much as possible
  – Cvsblame!
  – cvscop
IDE Setup

Project Structure
Setup cvsignore or svnignore files
  – What isn’t shared in the project?
Plugins
  – App Server of Choice
  – Subclipse
  – PMD
  – SpringIDE
Libraries
  – Core
     •   Spring, Logging
IT0 Spikes

Using a new tool?
  – FIT
  – Selenium
  – jsUnit
Testing Something that is difficult to test?
  – 3rd Party Machine
  – External Connection
Build System
Back to Project Structure
Ant / Maven / Buildr / Gradle
  – Must
     •   Be automated
     •   Version
     •   Platform and desktop agnostic
     •   Setup and run tests
     •   Incorporate code coverage
           – Cobertura
     •   Setup Projects for Team
     •   Provide release builds with documentation
  – Nice
     •   Promotion capabilities
     •   Flexibility to select IDE
Continuous Integration

Connect Build System into CI
  – BuildForge
  – CruiseControl
  – Hudson

Setup up Lava Lamps
  – http://pragmaticautomation.com/cgi-bin/
    pragauto.cgi/Monitor/Devices/
    BubbleBubbleBuildsInTrouble.rdoc
Email Setup
Must Build, Test and provide reports
Reports

Code Quality
  – Compilation
  – Unit Test
  – Code Coverage
  – Static Analysis
Burn Down Reports
XPlanner / JIRA

Setup Story Repository
Setup IT0 and IT1 and a Future Stories IT
Setup Wiki / Forum
Initial Design Strategies

Standards
General Use of Annotations
General Upfront patterns (if it make sense)
 – MVC
 – Presentation Model
 – Logging all in Aspects



         Don’t Spend too much time here!
         It will evolve.
Multiple Domains

Setup Dev Box
Understand other domains
  – Prod, QA
Automate the promotion path if possible
  – How to handle SQL DDL?
Automate Everything

New Person Added
  – Setup in Xplanner, subversion and cruise control
Release a new patch
  – Version Controlled Version stamps
Unit tests for Integration Tests
  – DBUnit or ???
  – In Memory DB
IT0 Opening / Closing

Run IT0 like any other Iteration… It is the
 first!
   – Opening Meeting
      •   Take all these Stories and Tasks
           – Break them down
           – Estimate them
      •   Define the Acceptance Criteria
      •   The User is you!
   – Closing Meeting
      •   What’s the velocity?
      •   Are there any stories to continue?
Benefits of Iteration 0

feedback on teams ability to estimate
team velocity
focus on automating everything
remove the human factors




                                     46
ITX

The Machine Is Ready
Code at will!
Summary

          Start The Project Well
          IT 0 Establishes
            – Working Environment
            – Communication Channels
            – Initial Expectations
Questions


             Please Fill Out
              Surveys




            kensipe@gmail.com

            twitter: @kensipe

More Related Content

What's hot

Ordina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDOrdina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDBert Koorengevel
 
Specifications test automation pyramid public
Specifications test automation pyramid   publicSpecifications test automation pyramid   public
Specifications test automation pyramid publicSathyan Sethumadhavan
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next
 
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)Stefan Koopmanschap
 
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)Stefan Koopmanschap
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
 
Better Quality through Scrum
Better Quality through ScrumBetter Quality through Scrum
Better Quality through ScrumDominik Jungowski
 
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...RIF-Technology
 
Shirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesShirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesAgileSparks
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectAgileSparks
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertMykola Marzhan
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asAgileSparks
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveWee Witthawaskul
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM France Lab
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasKJR
 
Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Marko Taipale
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileWee Witthawaskul
 

What's hot (20)

Ordina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CDOrdina Accelerator program 2019 - DevOps CI-CD
Ordina Accelerator program 2019 - DevOps CI-CD
 
Specifications test automation pyramid public
Specifications test automation pyramid   publicSpecifications test automation pyramid   public
Specifications test automation pyramid public
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 
The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)The Power Of Refactoring (php|tek 09)
The Power Of Refactoring (php|tek 09)
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 
Better Quality through Scrum
Better Quality through ScrumBetter Quality through Scrum
Better Quality through Scrum
 
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
 
Shirly Ronen - User story testing activities
Shirly Ronen - User story testing activitiesShirly Ronen - User story testing activities
Shirly Ronen - User story testing activities
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defect
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software FactoryIBM Cloud Bordeaux Meetup - 20190325 - Software Factory
IBM Cloud Bordeaux Meetup - 20190325 - Software Factory
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
 
Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 

Similar to Agile - Iteration 0 CodeMash 2010

Run Your Oracle BI QA Cycles More Effectively
Run Your Oracle BI QA Cycles More EffectivelyRun Your Oracle BI QA Cycles More Effectively
Run Your Oracle BI QA Cycles More EffectivelyKPI Partners
 
你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?Jen-Chieh Ko
 
A successful improvement process with measurable results
A successful improvement process with  measurable resultsA successful improvement process with  measurable results
A successful improvement process with measurable resultsRam Yonish
 
A Successful Improvement Process With Measurable Results
A Successful Improvement Process With  Measurable ResultsA Successful Improvement Process With  Measurable Results
A Successful Improvement Process With Measurable ResultsRam Yonish
 
Lead Developer: A Day in the Life
Lead Developer: A Day in the LifeLead Developer: A Day in the Life
Lead Developer: A Day in the LifeJohn Valentino
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012Prathan Dansakulcharoenkit
 
Agile NCR 2013 - Archana Joshi - maintaining agile equilibrium v4
Agile NCR 2013 - Archana Joshi -  maintaining agile equilibrium v4Agile NCR 2013 - Archana Joshi -  maintaining agile equilibrium v4
Agile NCR 2013 - Archana Joshi - maintaining agile equilibrium v4AgileNCR2013
 
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"Aberla
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics 丈 宮本
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and RequirementsNeil Ernst
 
Local Development.pdf
Local Development.pdfLocal Development.pdf
Local Development.pdfStakaterHello
 
Copenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusCopenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusKnowit_TM
 
ІГОР КОШЕЛЄВ «Built-In Quality» Online QADay 2023
ІГОР КОШЕЛЄВ «Built-In Quality»  Online QADay 2023ІГОР КОШЕЛЄВ «Built-In Quality»  Online QADay 2023
ІГОР КОШЕЛЄВ «Built-In Quality» Online QADay 2023GoQA
 
Oracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons LearnedOracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons Learnedbpellot
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
 
TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)Peter Kofler
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 

Similar to Agile - Iteration 0 CodeMash 2010 (20)

Run Your Oracle BI QA Cycles More Effectively
Run Your Oracle BI QA Cycles More EffectivelyRun Your Oracle BI QA Cycles More Effectively
Run Your Oracle BI QA Cycles More Effectively
 
你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?你真的搞懂了甚麼叫敏捷式開發?
你真的搞懂了甚麼叫敏捷式開發?
 
How to Introduce Continuous Delivery
How to Introduce Continuous DeliveryHow to Introduce Continuous Delivery
How to Introduce Continuous Delivery
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
A successful improvement process with measurable results
A successful improvement process with  measurable resultsA successful improvement process with  measurable results
A successful improvement process with measurable results
 
A Successful Improvement Process With Measurable Results
A Successful Improvement Process With  Measurable ResultsA Successful Improvement Process With  Measurable Results
A Successful Improvement Process With Measurable Results
 
Lead Developer: A Day in the Life
Lead Developer: A Day in the LifeLead Developer: A Day in the Life
Lead Developer: A Day in the Life
 
How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012How to live with agile - Aware in BugDay Bangkok 2012
How to live with agile - Aware in BugDay Bangkok 2012
 
Agile NCR 2013 - Archana Joshi - maintaining agile equilibrium v4
Agile NCR 2013 - Archana Joshi -  maintaining agile equilibrium v4Agile NCR 2013 - Archana Joshi -  maintaining agile equilibrium v4
Agile NCR 2013 - Archana Joshi - maintaining agile equilibrium v4
 
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
ESEconf2011 - Guckenheimer Sam: "Agile in the Very Large"
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics
 
Taking Database Development to the 21st Century
Taking Database Development to the 21st CenturyTaking Database Development to the 21st Century
Taking Database Development to the 21st Century
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Local Development.pdf
Local Development.pdfLocal Development.pdf
Local Development.pdf
 
Copenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars IreniusCopenhagen 121127 - Lars Irenius
Copenhagen 121127 - Lars Irenius
 
ІГОР КОШЕЛЄВ «Built-In Quality» Online QADay 2023
ІГОР КОШЕЛЄВ «Built-In Quality»  Online QADay 2023ІГОР КОШЕЛЄВ «Built-In Quality»  Online QADay 2023
ІГОР КОШЕЛЄВ «Built-In Quality» Online QADay 2023
 
Oracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons LearnedOracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons Learned
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)TDD and Related Techniques for Non Developers (2012)
TDD and Related Techniques for Non Developers (2012)
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 

Recently uploaded

Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 

Recently uploaded (20)

Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
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
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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.
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 

Agile - Iteration 0 CodeMash 2010

  • 2. About Speaker http://kensipe.blogspot.com/ http://del.icio.us/kensipe twitter: @kensipe kensipe@gmail.com Developer: Embedded, C++, Java, Groovy, Grails, C#, F# JavaOne 2009 Rock Star, NFJS Microsoft MCP Sun Certified Java 2 Architect Master of Scrums Agile Coach Instructor: VisiBroker CORBA Rational Rose, OOAD
  • 3. Agenda Agile Intro Edition Agile Micro Edition – Inside an Iteration Agile Macro Edition – Leading up to Iteration 0 Iteration 0
  • 4. Development Processes Waterfall 4
  • 5. Development Processes Iterative 4
  • 7. Value of Iterative Continuous focus – Improvement – Quality – Priority – Adding Business Value – Ability to Estimate – Team / Team Ability 6
  • 8. Value of Iterative Continuous focus – Improvement – Quality – Priority – Adding Business Value – Ability to Estimate – Team / Team Ability 6
  • 9. Value of Iterative Develops trust with the Business! 7
  • 10. What Agile is NOT Evolutionary No Documentation No Architecture Cowboy Development 8
  • 11. What Agile is NOT Evolutionary No Documentation No Architecture Cowboy Development 8
  • 13. What is an Iteration? Standup Meetings Opening Meeting Closing Meeting 10
  • 15. Opening Meeting Who comes? – Developers – DBA – User / BA – Architects – QA 12
  • 16. Opening Meeting Suggest 2 Separate Opening Meetings – Objective of the first meeting: • Agree on Acceptance Criteria • Agree on priority – Objective of the second meeting: • Break out and assignment of all tasks 13
  • 17. Closing Meeting What was accepted by the User? What is the velocity? What architecturally significant has changed? What is working? What didn’t go well? – What do we do about it? 14
  • 18. Value of the Closing Meeting Quality Check User Feedback Estimate Check Team Performance Check Velocity? Bug Level? 15
  • 19. Stand up! Pig Rules! Chickens can listen. What did you do yesterday? What will you do today? Are there any impediments in your way? 16
  • 21. Starting Agile Projects Starting is the Hardest Part – Often is a change – Less Experience Desire is the starting point of all achievement, not a hope, not a wish, but a keen pulsating desire which transcends everything. -- Napoleon Hill
  • 22. Agile at a Macro Level Missing Details – Great Information on Running Agile – Less Information on: • Starting Agile • Pre-IT0 • IT0
  • 24. Pre-IT0 Stage 1 Project Inception Stake Holder Level – Business Opportunity / Concerns – Often not exposed to all developers
  • 25. Pre-IT0 Stage 2 Collection of Stories Estimating – ROI – Project Justified Build up of Team / Resources Iteration Sizing Initial List of Risks Release Plan
  • 26. Building a Team Co-Ownership Prepared to Steal Tasks Pairing Capable Expected Velocity? – Adjust Story Alignment and Release Plan
  • 27. Prepare for Team Phases Forming – “polite”… team forms, No one is offended – Excitement / Optimism Storming – Honeymoon is over – Resisting Task, Disunity Norming – Team is starting to work together – Constructive Criticism Performing – High performance team – Self Directed
  • 28. Iteration 0 Creation of the Machine! Environment Setup – Continuous Integration (CI) – IDE – Communication Project Alignment – To other concerns outside the core team Release Plan
  • 29. Planning for Success Working with Users – Stories • Acceptance Criteria!!!! – Priorities Project Alignments – DBA / Database – QA – Enterprise Architecture – Management
  • 30. Release Plan Internal Releases Every Iteration Planned QA Releases Planned External Releases Initial Breakdown of Stories – Iteration Based on Priority
  • 31. Do we need all stories to start? 2 Story Development Approaches – Major of the stories upfront • With the understanding that you will likely discover more – Some stories upfront to prime • With the intent that you’ll have a trailing analyst Either Approach needs an Analyst, BA or PM – To work with feeding the stories into the next iteration
  • 32. Alignment With QA Option 1 BA IT 2 Story Refinement Dev IT 1 Code BA IT 3 Story Refinement QA IT 1 Dev IT 2 BA IT 4 Test Plan Code Story Refinement Iteration 1 QA IT 2 Test Plan Dev IT 3 Code BA IT 5 Story Refinement QA IT 1 QA IT 3 Dev IT 4 Execution Plan Test Plan Code QA IT 2 QA IT 4 Iteration 2 Execution Plan Test Plan QA IT 1 QA IT 3 Regression Execution Plan Iteration 3 QA IT 1 & 2 Regression Iteration 4
  • 33. Alignment with QA Option 2 Dev IT 1 Code Dev IT 2 Code Iteration 1 Dev IT 3 Code Iteration 2 Dev IT 4 Code Iteration 3 QA IT 1 Test Plan Dev IT 5 Iteration 4 Code Alignment to: – DBA – Enterprise Architects
  • 35. What would stop you from doing a 1 week iteration? 32
  • 36. Purpose of Automation Predictability Frequent repeatable feedback Shorter iterations possible 33
  • 37. Iteration 0 Version Control IDE Setup IT0 Spikes Build System Continuous Integration Report Mechanism Core Infrastructure Xplanner / JIRA / Wiki Initial Design Strategies Multiple Domains
  • 38. Version Control Establish Project Layout Questions – Head / Branch – Versioning Strategy? • (3.0.2) Major, Minor, Patch – What to do with Spikes? Version Control Admin / Reports – Automate as much as possible – Cvsblame! – cvscop
  • 39. IDE Setup Project Structure Setup cvsignore or svnignore files – What isn’t shared in the project? Plugins – App Server of Choice – Subclipse – PMD – SpringIDE Libraries – Core • Spring, Logging
  • 40. IT0 Spikes Using a new tool? – FIT – Selenium – jsUnit Testing Something that is difficult to test? – 3rd Party Machine – External Connection
  • 41. Build System Back to Project Structure Ant / Maven / Buildr / Gradle – Must • Be automated • Version • Platform and desktop agnostic • Setup and run tests • Incorporate code coverage – Cobertura • Setup Projects for Team • Provide release builds with documentation – Nice • Promotion capabilities • Flexibility to select IDE
  • 42. Continuous Integration Connect Build System into CI – BuildForge – CruiseControl – Hudson Setup up Lava Lamps – http://pragmaticautomation.com/cgi-bin/ pragauto.cgi/Monitor/Devices/ BubbleBubbleBuildsInTrouble.rdoc Email Setup Must Build, Test and provide reports
  • 43. Reports Code Quality – Compilation – Unit Test – Code Coverage – Static Analysis Burn Down Reports
  • 44. XPlanner / JIRA Setup Story Repository Setup IT0 and IT1 and a Future Stories IT Setup Wiki / Forum
  • 45. Initial Design Strategies Standards General Use of Annotations General Upfront patterns (if it make sense) – MVC – Presentation Model – Logging all in Aspects Don’t Spend too much time here! It will evolve.
  • 46. Multiple Domains Setup Dev Box Understand other domains – Prod, QA Automate the promotion path if possible – How to handle SQL DDL?
  • 47. Automate Everything New Person Added – Setup in Xplanner, subversion and cruise control Release a new patch – Version Controlled Version stamps Unit tests for Integration Tests – DBUnit or ??? – In Memory DB
  • 48. IT0 Opening / Closing Run IT0 like any other Iteration… It is the first! – Opening Meeting • Take all these Stories and Tasks – Break them down – Estimate them • Define the Acceptance Criteria • The User is you! – Closing Meeting • What’s the velocity? • Are there any stories to continue?
  • 49. Benefits of Iteration 0 feedback on teams ability to estimate team velocity focus on automating everything remove the human factors 46
  • 50. ITX The Machine Is Ready Code at will!
  • 51. Summary Start The Project Well IT 0 Establishes – Working Environment – Communication Channels – Initial Expectations
  • 52. Questions  Please Fill Out Surveys kensipe@gmail.com twitter: @kensipe