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

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
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
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
[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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
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
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
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
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 

Recently uploaded (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
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
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
[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
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
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.
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
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
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 

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