SlideShare une entreprise Scribd logo
1  sur  39
Establishing Release Quality Levels
and Release Acceptance Tests

                                              Insight Forum
                                              April 21, 2009



© 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                1
About Luke Hohmann

• Founder/CEO of Enthiosys
   – Agile Product Management consulting
   – Customer needs, roadmaps, business model
   – Product management mentoring and training
• Agile product guy
   – VP Bus Dev (Aladdin), VP Eng &Product Dev’t
     (Aurigin), VP Systems Eng (EDS Fleet Services)
   – Board of Agile Alliance
• Author, speaker, blogger
   –   “Innovation Games”
   –   “Beyond Software Architecture”
   –   “Journey of the Software Professional”
   –   agile PM blog at www.Enthiosys.com
   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   2
Goals

1. Provide a framework for thinking about quality
2. Create better results by building the right quality
3. Practical advice to
   help you succeed
                                                                                        What
                                                                                         did I
                                                                                       forget?




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   3             3
Agenda

• Some discussion – what’s a release? quality?
• The iron triangle or the quality box?
                                                                                    NOT
• Release quality levels
                                                                                     A
• Release acceptance tests                                                         TOOLS
                                                                                    TALK




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                           4
Discussions (5 min)

• What’s a release?



• What’s quality?




  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                  5
What do we offer? And why?

• We offer things to our market ecosystem
  (customers, analysts, etc.) to achieve goals
   – A release is offered to generate revenue
   – Lo-fi prototypes are offered to improve designs
   – Betas are offered to gain pre-release feedback
     (and maybe generate revenue…)


• To be offered a thing has to have a “quality” that is
  suitable to helping us realize the goal

   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   6
What is Quality?

• “Quality is conformance to user requirements.”
     —Phillip Crosby, Quality is Free (1980s)
• “Quality is the absence of defects that would make software
  stop completely or produce unacceptable results.”
      —Capers Jones, Applied Software Measurement (1991)
• “Quality is achieving excellent levels of fitness for use,
  conformance to requirements, reliability, and maintainability.”
      —Watts Humphrey, Managing the Software Process
      (1980s)
• “Quality is value to some person.”
     —Jerry Weinberg, Quality Software Management (1992)

   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   7
Is that enough?

• What about the manner in which we create “the
  thing”? What about the code?


• What if the code is just plain ugly?


• And if you’re using an Agile method, what if your
  code doesn’t pass the green bar?


   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   8
Quality is a Relationship

 • High Performance is High Quality
     – to users who notice low performance.
 • Elegant Coding is High Quality
     – to developers who place high value on the opinions of
       their peers.
 • Zero Defects is High Quality
     – to users who would be disturbed by those defects.
 • Lots of Features is High Quality
     – to marketers who believe that features sell products.

     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                     9
©2008 Information Architects, Inc.
The Dichotomy of Quality

   • Intrinsic or Extrinsic?
       – Does quality exist in the things we
         observe or is it subjective, existing
         only in the eye of the observer?

  “You take your analytic knife, put the point directly
  on the term Quality and just tap, not hard, gently,
  and the whole world splits, cleaves, right in two—hip
  and square, classic and romantic, technological and
  humanistic—and the split is clean.”
             —Robert Pirsig
                            Zen and the Art of Motorcycle Maintenance (1974)
     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                     10
©2008 Information Architects, Inc.
Total Quality is therefore…



                                                      Extrinsic Quality = Value


      Total Quality
                                                       Intrinsic Quality = Craftsmanship




     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                           11
©2008 Information Architects, Inc., Adapted and Extended
Agenda

• Some discussion – what’s a release? quality?
• The iron triangle or the quality box?
• Release quality levels
• Release acceptance test




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   12
Should the triangle be a box?

  The Traditional Iron Triangle                                                   The Quality Box
                                                                        Value                       Quality
                       Scope                                                                  (Intrinsic quality)
                                                                 (Extrinsic quality)




    Cost                                 Schedule                           Cost             Schedule




  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                13
It is a system

The Traditional Iron Triangle                                                     The Quality Box
                                                                        Value                       Quality
                   Scope                                                                      (Intrinsic quality)
                                                                 (Extrinsic quality)




  Cost                               Schedule                               Cost             Schedule




  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                14
What can affect the system?

• Flip-chart exercise




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   15
Choosing to affect the system

         The Quality Box                                                      Extrinsic Quality
       Value                              Quality                             • Which features present?
(Extrinsic quality)                 (Intrinsic quality)                       • How well do the work?
                                                                              • How well have they been tested?
                                                                              • Do you have enough?
                                                                              • Is this release ready when I need it?

                                                                              Intrinsic Quality
                                                                              • Craftsmanship of the code
                                                                              • Maintainability
      Cost                        Schedule                                    • Level of defects (works as specified)
   Let’s hold these as fixed…




       © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                        16
Agenda

• Some discussion – what’s a release? quality?
• The iron triangle or the quality box?
• Release quality levels
• Release acceptance tests




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   17
Release quality level

• A predetermined quality level chosen by
  product management that sets
  expectations regarding the intrinsic and
  extrinsic quality of a release.
• Enables organizations to make confident
  decisions about their context
• Negotiated with development
  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                  18
Example from VeriSign Managed Security Services
    Release Level           Description

    Release Level 5         •     All functionality fully certified.
                            •     Near-zero probability of high severity errors and a low probability that medium severity errors.


    Release Level 4         •     All new and modified functionality fully certified, except where risk is deemed minimal (e.g.
                                  internal facing reports, low probability use cases).
                            •     Features not fully certified documented in the test plan and/or project charter. Strategic
                                  regression testing of existing functionality performed.
                            •     Low probability that high severity errors will be identified in production. Project carries a
                                  moderate probability that medium severity errors.


    Release Level 3         •     All new and modified functionality at least partially certified.
                            •     Features not fully certified documented in the test plan and/or project charter.
                            •     Partial regression testing performed.
                            •     Moderate probability for high severity errors. Higher probability for medium severity errors.


    Release Level 2         •     Most new and/or modified functionality partially certified.
                            •     Features not fully certified communicated to stakeholders.
                            •     Partial regression testing performed.
                            •     Higher probability that high and medium severity errors will be identified.


    Release Level 1         •     New and/or modified features not certified by QA.
                            •     Regression testing may or may not occur.
                            •     Level 1 releases may be available only for demo or controlled access purposes.
                            •     High risk for high severity errors.



      © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                                     19
©2007 VeriSign, Inc. Presented at Agile 2007 conference with Enthiosys
 19
Set each scale separately

                 Intrinsic Quality                                                  Extrinsic Quality

5    • Everything certified!                                         5        • Customers will rave about this!
     • Lots of automation!

4    • All new stuff tested by QA                                    4        • Consistency very high
     • Full regression testing                                                • Simple and sophisticated tasks

3    • All new stuff tested by QA                                    3        • Documented
     • Almost full regression testing                                         • Complete for basic tasks

2    • Most new stuff tested by QA                                   2        • Not documented
     • Partial regression tested                                              • Complete for basic tasks

1    • Not tested by QA                                              1        • Not documented
     • Not regression tested                                                  • Possibly incomplete


    © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                  20
Lower bound for
 intrinsic quality is very high
 • Leading edge enterprises employ technologies that can
   approach 99% cumulative defect removal rates.
 • The norm for US firms is a cumulative defect removal
   rate of 75%.
 • A cumulative defect removal rate of 95% on a project
   appears to be a nodal point where several other benefits
   accrue. For projects of similar size and type, these
   projects:
     – have the shortest schedules.
     – have the lowest quantity of effort in terms of person-months
     – have the highest levels of user satisfaction after release
             —Capers Jones, Applied Software Measurement (1991)

     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                     21
©2008 Information Architects, Inc.
Why is
 Intrinsic Quality so Important?
 • The Impact of code quality on testing
 • Error Location Dynamics
 • Error Feedback Ratio
 • Technical Debt




     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                     22
©2008 Information Architects, Inc.
Impact of Code Quality on Testing

        Development: 10 days,
                                                                                             Test time=
           4 people, 4 KLOC,                                                                   2 days
               1 d/KLOC




        Development: 10 days,                        How long to test? Assume                 Test time=
                                                   ½ day to find & fix per defect.             30 days
           4 people, 4 KLOC,
               15 d/KLOC


                                                                                     Outcome: no time to finish testing,
                                                                                          technical debt increases!


     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                      23
©2008 Information Architects, Inc.
Error Location Dynamics

                                    64

                                    56
                                                         Difficult errors
                                    48                   take longer to find:

                                    40                   1 hr/d to 50 hr/d
      Errors Located
                                    32

                                    24


                                    16

                                     8


                                     0
                                           0              2              4            6     8   10   12


                                                                                     Time

     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                          24
©2008 Information Architects, Inc.
Error Feedback Ratio
                                                                                 The time to finish removing errors
                                                                                  The time to finish removing errors
                                                                                 is critically dependent on the error
                                                                                  is critically dependent on the error
                                                                                 feedback ratio. The three simulations
                                                                                  feedback ratio. The three simulations
                                                                                 differ only in their feedback ratios.
                                                                                  differ only in their feedback ratios.
                                                                                 A 20% difference in feedback ratio
                                                                                  A 20% difference in feedback ratio
                                                                                 leads to an 88% difference in
                                                                                  leads to an 88% difference in
                                                                                 completion time, but the next 10%
                                                                                  completion time, but the next 10%
                                                                                 increase leads to aa112% increase.
                                                                                  increase leads to 112% increase.




       ERROR FEEDBACK: Errors put into a system when attempting to correct
                       other faults.

       ERROR FEEDBACK RATIO: The number of problems created per fix.
                         EFR = ERRORS CREATED / ERRORS RESOLVED
     © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                          25
©2008 Information Architects, Inc.
Technical Debt
                                                                Customer                           • Once on far right of curve,
                                                              Responsiveness
                                                                                                     all choices are hard
                                                                                                   • If nothing is done, it just
Cost of Change (CoC)




                                                            Actual                                   gets worse
                                                             CoC
                                                                                                   • In applications with high
                                                                                                     technical debt, estimating
                                                                                                     is nearly impossible
                         Product                                  Technical Debt                   • Only 3 strategies
                         Release                                                                       – Do nothing, it gets worse
                                                                       Optimal CoC                     – Replace, high cost/risk
                                                                                                       – Incremental refactoring,
                            1 2 3 4 5 6 7 8                                                              commitment to invest
                                 Years
                       © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                                                     26
Agenda

• Some discussion – what’s a release? quality?
• The iron triangle or the quality box?
• Release quality levels
• Release acceptance tests




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   27
Lots of Testing Options!

                                Customer                                  Usability
                                  Tests                                   Testing
                            Business Intent
                                                                       Exploratory
                                (Fit, Fitnesse)
                               Run each time a story                     Testing
                               scenario is completed                    Assess each iteration

                                Programmer                                  Property
                                   Tests                                     Testing
                               Design Intent                                 Response,
                                                                              Security
                                      (xUnit)                                Scaling,…
                              Run at least once each
                              development episode                       Assess each iteration




  © From Enthiosys Inc. http://www.testing.com/cgi-bin/blog/2003/08/21#agile-testing-project-1
    2009, Brian Marick All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                 28
Release Acceptance Tests

• Tests owned and written by the product
  manager / product owner / customer to verify that
  a story is complete and correct.
• Should be (mostly) automated (more later)
• Popularized by Agile methods, useful everywhere!




  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                  29
Benefits of Acceptance Tests

• Increase team confidence that the system is correct
• Help PMs think through requirements
• Informs developer estimates
• Concrete definition of completion
• Early involvement of QA
• Automated regression testing for free



  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                  30
ATs test the users’ experience

• UTs should test application logic in detail
  generally in isolation


• ATs should test:                                                                 but not...
   –   Interaction & Flow                                                          Usability
   –   Performance                                                                 Look & Feel
   –   Error Handling
   –   Security


   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                                 31
ATDD Cycle




 © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                 32
Acceptance Tests are “Quirky”

• Written by PMs/Customers... But executed in code?
  – ATs require a customer meta-language generic enough to
    capture requirements, abstract enough to be maintainable
  – Simple enough to be easily understood
  – They are interpreted by various frameworks
  – Requires external systems and “spike” development
• Automation tools dictate form/format of tests
  – http://www.fitnesse.org/
  – http://seleniumhq.org/
  – http://robotframework.org
   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   33
Fitnesse Structure




  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                  34
Fitnesse test example



  Each row is one test




Fitnesse supports many
different testing table
styles that can be
organized into test suites.




    © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                    35
Writing good acceptance tests

• Tell a story of accomplishing a goal
  – Goal                                  test title
  – Activities                            rows in your test suite
• Expect them to be stable, even if the underlying
  system is going through a lot of change
• Don’t reference domain objects




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   36
Consider “Given-When-Then”

• Given                  some context
  When                   something happens
  Then                   some behavior


• Given                  an innovation games planner with a
                         scheduled party
 When                    they cancel the party
 Then                    send a cancellation email to the players
                         and the facilitator, a cancellation confirmation
                         to the planner, and ensure that the game play
                         URL points to the “cancelled party” page

  © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                  37
Overcoming common challenges

• You don’t have to automate everything
• Get started, but don’t expect quick turns
• Help your product managers by writing a few
• Make AT writing a natural part of the conversation




   © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                   38
Thank You !!!


                               Luke Hohmann
                               Founder & CEO
                               Enthiosys, Inc.
                               615 National Ave., Ste 220
                               Mountain View, CA 94043
                               cell: (408) 529-0319
                               www.enthiosys.com
                               lhohmann@enthiosys.com

             Innovation Through Understanding®
© 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000
                                                                                39

Contenu connexe

En vedette

En vedette (9)

Collaborative Roadmapping
Collaborative Roadmapping Collaborative Roadmapping
Collaborative Roadmapping
 
Aladdin at Enthiosys Customer Appreciation Day '08
Aladdin at Enthiosys Customer Appreciation Day '08Aladdin at Enthiosys Customer Appreciation Day '08
Aladdin at Enthiosys Customer Appreciation Day '08
 
Bridging the Gap Between Business and Development (OOP'07 Keynote)
Bridging the Gap Between Business and Development (OOP'07 Keynote)Bridging the Gap Between Business and Development (OOP'07 Keynote)
Bridging the Gap Between Business and Development (OOP'07 Keynote)
 
Collaboration Tools to Create Better Products
Collaboration Tools to Create Better ProductsCollaboration Tools to Create Better Products
Collaboration Tools to Create Better Products
 
Agile Comes to You (Mironov, Bellevue)
Agile Comes to You (Mironov, Bellevue)Agile Comes to You (Mironov, Bellevue)
Agile Comes to You (Mironov, Bellevue)
 
Fast, Easy, Low-Cost Innovation for Portfolio Prioritization
Fast, Easy, Low-Cost Innovation for Portfolio PrioritizationFast, Easy, Low-Cost Innovation for Portfolio Prioritization
Fast, Easy, Low-Cost Innovation for Portfolio Prioritization
 
Luke Hohmann's Software Guru 2009 Keynote: Innovation In Software
Luke Hohmann's Software Guru 2009 Keynote: Innovation In SoftwareLuke Hohmann's Software Guru 2009 Keynote: Innovation In Software
Luke Hohmann's Software Guru 2009 Keynote: Innovation In Software
 
Agile2009 Product Manager - Product Owner Dilemma
Agile2009 Product Manager - Product Owner DilemmaAgile2009 Product Manager - Product Owner Dilemma
Agile2009 Product Manager - Product Owner Dilemma
 
Agile Product Manager/Product Owner Dilemma (PMEC)
Agile Product Manager/Product Owner Dilemma (PMEC)Agile Product Manager/Product Owner Dilemma (PMEC)
Agile Product Manager/Product Owner Dilemma (PMEC)
 

Similaire à Establishing Release Quality Levels and Release Acceptance Tests

Prioritizing For Profit at Agile 08
Prioritizing For Profit at Agile 08Prioritizing For Profit at Agile 08
Prioritizing For Profit at Agile 08
Enthiosys Inc
 
Introto soa annethomasmanes
Introto soa annethomasmanesIntroto soa annethomasmanes
Introto soa annethomasmanes
Bahavar Tavakoli
 
Agile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner DilemmaAgile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner Dilemma
Rich Mironov
 
ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...
ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...
ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...
Engineers Australia
 
Decide Now - JD Edwards Support Options
Decide Now - JD Edwards Support OptionsDecide Now - JD Edwards Support Options
Decide Now - JD Edwards Support Options
Spinnaker Support
 
Services and Synergy
Services and SynergyServices and Synergy
Services and Synergy
kentotten
 

Similaire à Establishing Release Quality Levels and Release Acceptance Tests (20)

Collaborating with Customers using Innovation Game
Collaborating with Customers using Innovation GameCollaborating with Customers using Innovation Game
Collaborating with Customers using Innovation Game
 
Roadmapping Talk for APLN
Roadmapping Talk for APLNRoadmapping Talk for APLN
Roadmapping Talk for APLN
 
Lean and the Extended Value Stream
Lean and the Extended Value StreamLean and the Extended Value Stream
Lean and the Extended Value Stream
 
Prioritizing For Profit at Agile 08
Prioritizing For Profit at Agile 08Prioritizing For Profit at Agile 08
Prioritizing For Profit at Agile 08
 
Pricing, Business Models, and What Are Things Worth
Pricing, Business Models, and What Are Things WorthPricing, Business Models, and What Are Things Worth
Pricing, Business Models, and What Are Things Worth
 
USTS Corporate Profile 2011
USTS Corporate Profile 2011USTS Corporate Profile 2011
USTS Corporate Profile 2011
 
Integrating ECM and Portal Technologies - 2011.09.08
Integrating ECM and Portal Technologies - 2011.09.08Integrating ECM and Portal Technologies - 2011.09.08
Integrating ECM and Portal Technologies - 2011.09.08
 
Introto soa annethomasmanes
Introto soa annethomasmanesIntroto soa annethomasmanes
Introto soa annethomasmanes
 
Agile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner DilemmaAgile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner Dilemma
 
Prioritizing For Profit
Prioritizing For ProfitPrioritizing For Profit
Prioritizing For Profit
 
ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...
ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...
ICWES15 - Engineering Sustainability - A Systems Approach. Presented by Ms Lo...
 
Migrating to cloud
Migrating to cloudMigrating to cloud
Migrating to cloud
 
Defining Achievable Scope for your BI Initiative
Defining Achievable Scope for your BI InitiativeDefining Achievable Scope for your BI Initiative
Defining Achievable Scope for your BI Initiative
 
Things you should know about Scalability!
Things you should know about Scalability!Things you should know about Scalability!
Things you should know about Scalability!
 
Er16
Er16Er16
Er16
 
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012 Enterprise Cloud Development and Agile Transformation Strategy - China 2012
Enterprise Cloud Development and Agile Transformation Strategy - China 2012
 
MavenWire - Getting to Know Us - OTM SIG 2008
MavenWire - Getting to Know Us - OTM SIG 2008MavenWire - Getting to Know Us - OTM SIG 2008
MavenWire - Getting to Know Us - OTM SIG 2008
 
Decide Now - JD Edwards Support Options
Decide Now - JD Edwards Support OptionsDecide Now - JD Edwards Support Options
Decide Now - JD Edwards Support Options
 
Prioritizing The Product Backlog AIPMM Webinar
Prioritizing The Product Backlog AIPMM WebinarPrioritizing The Product Backlog AIPMM Webinar
Prioritizing The Product Backlog AIPMM Webinar
 
Services and Synergy
Services and SynergyServices and Synergy
Services and Synergy
 

Plus de Luke Hohmann

Plus de Luke Hohmann (20)

Visible Architectures
Visible ArchitecturesVisible Architectures
Visible Architectures
 
Awesome Superproblems SAFe Summit Keynote 2019
Awesome Superproblems SAFe Summit Keynote 2019Awesome Superproblems SAFe Summit Keynote 2019
Awesome Superproblems SAFe Summit Keynote 2019
 
The Post Agile World of Framework-Driven Collaboration
The Post Agile World of Framework-Driven CollaborationThe Post Agile World of Framework-Driven Collaboration
The Post Agile World of Framework-Driven Collaboration
 
Innovation Games Overview
Innovation Games OverviewInnovation Games Overview
Innovation Games Overview
 
Agile New Zealand Keynote: Agile Being vs. Doing Agile
Agile New Zealand Keynote: Agile Being vs. Doing AgileAgile New Zealand Keynote: Agile Being vs. Doing Agile
Agile New Zealand Keynote: Agile Being vs. Doing Agile
 
Conteneo Weave Overview
Conteneo Weave OverviewConteneo Weave Overview
Conteneo Weave Overview
 
Conteneo Weave Idea Engine
Conteneo Weave Idea EngineConteneo Weave Idea Engine
Conteneo Weave Idea Engine
 
Conteneo Weave Decision Engine
Conteneo Weave Decision EngineConteneo Weave Decision Engine
Conteneo Weave Decision Engine
 
Conteneo Weave: Advanced Powers
Conteneo Weave: Advanced PowersConteneo Weave: Advanced Powers
Conteneo Weave: Advanced Powers
 
2017 San Jose, CA Zero-Based Budgeting Results
2017 San Jose, CA Zero-Based Budgeting Results2017 San Jose, CA Zero-Based Budgeting Results
2017 San Jose, CA Zero-Based Budgeting Results
 
How to Prioritize Grants in a Corporate Social Responsibility Program
How to Prioritize Grants in a Corporate Social Responsibility ProgramHow to Prioritize Grants in a Corporate Social Responsibility Program
How to Prioritize Grants in a Corporate Social Responsibility Program
 
Scrum Alliance Collaboration at Scale Webinar: Agile Roadmapping
Scrum Alliance Collaboration at Scale Webinar: Agile RoadmappingScrum Alliance Collaboration at Scale Webinar: Agile Roadmapping
Scrum Alliance Collaboration at Scale Webinar: Agile Roadmapping
 
Agile PMO
Agile PMO Agile PMO
Agile PMO
 
CXPA 2016 Keynote: Designing for Collaboration and Deliberation
CXPA 2016 Keynote: Designing for Collaboration and DeliberationCXPA 2016 Keynote: Designing for Collaboration and Deliberation
CXPA 2016 Keynote: Designing for Collaboration and Deliberation
 
2016 San José, CA Budget Allocator
2016 San José, CA Budget Allocator2016 San José, CA Budget Allocator
2016 San José, CA Budget Allocator
 
IIBA Columbus 2015 Keynote by Luke Hohmann
IIBA Columbus 2015 Keynote by Luke HohmannIIBA Columbus 2015 Keynote by Luke Hohmann
IIBA Columbus 2015 Keynote by Luke Hohmann
 
Scrum Alliance Growth Games Project
Scrum Alliance Growth Games ProjectScrum Alliance Growth Games Project
Scrum Alliance Growth Games Project
 
Using Product Box to Build the Complete Developer
Using Product Box to Build the Complete DeveloperUsing Product Box to Build the Complete Developer
Using Product Box to Build the Complete Developer
 
A Pattern Language for Strategic Product Roadmapping
A Pattern Language for Strategic Product RoadmappingA Pattern Language for Strategic Product Roadmapping
A Pattern Language for Strategic Product Roadmapping
 
in-person Innovation Games: Overview and Game Flows
in-person Innovation Games: Overview and Game Flowsin-person Innovation Games: Overview and Game Flows
in-person Innovation Games: Overview and Game Flows
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Establishing Release Quality Levels and Release Acceptance Tests

  • 1. Establishing Release Quality Levels and Release Acceptance Tests Insight Forum April 21, 2009 © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 1
  • 2. About Luke Hohmann • Founder/CEO of Enthiosys – Agile Product Management consulting – Customer needs, roadmaps, business model – Product management mentoring and training • Agile product guy – VP Bus Dev (Aladdin), VP Eng &Product Dev’t (Aurigin), VP Systems Eng (EDS Fleet Services) – Board of Agile Alliance • Author, speaker, blogger – “Innovation Games” – “Beyond Software Architecture” – “Journey of the Software Professional” – agile PM blog at www.Enthiosys.com © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 2
  • 3. Goals 1. Provide a framework for thinking about quality 2. Create better results by building the right quality 3. Practical advice to help you succeed What did I forget? © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 3 3
  • 4. Agenda • Some discussion – what’s a release? quality? • The iron triangle or the quality box? NOT • Release quality levels A • Release acceptance tests TOOLS TALK © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 4
  • 5. Discussions (5 min) • What’s a release? • What’s quality? © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 5
  • 6. What do we offer? And why? • We offer things to our market ecosystem (customers, analysts, etc.) to achieve goals – A release is offered to generate revenue – Lo-fi prototypes are offered to improve designs – Betas are offered to gain pre-release feedback (and maybe generate revenue…) • To be offered a thing has to have a “quality” that is suitable to helping us realize the goal © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 6
  • 7. What is Quality? • “Quality is conformance to user requirements.” —Phillip Crosby, Quality is Free (1980s) • “Quality is the absence of defects that would make software stop completely or produce unacceptable results.” —Capers Jones, Applied Software Measurement (1991) • “Quality is achieving excellent levels of fitness for use, conformance to requirements, reliability, and maintainability.” —Watts Humphrey, Managing the Software Process (1980s) • “Quality is value to some person.” —Jerry Weinberg, Quality Software Management (1992) © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 7
  • 8. Is that enough? • What about the manner in which we create “the thing”? What about the code? • What if the code is just plain ugly? • And if you’re using an Agile method, what if your code doesn’t pass the green bar? © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 8
  • 9. Quality is a Relationship • High Performance is High Quality – to users who notice low performance. • Elegant Coding is High Quality – to developers who place high value on the opinions of their peers. • Zero Defects is High Quality – to users who would be disturbed by those defects. • Lots of Features is High Quality – to marketers who believe that features sell products. © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 9 ©2008 Information Architects, Inc.
  • 10. The Dichotomy of Quality • Intrinsic or Extrinsic? – Does quality exist in the things we observe or is it subjective, existing only in the eye of the observer? “You take your analytic knife, put the point directly on the term Quality and just tap, not hard, gently, and the whole world splits, cleaves, right in two—hip and square, classic and romantic, technological and humanistic—and the split is clean.” —Robert Pirsig Zen and the Art of Motorcycle Maintenance (1974) © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 10 ©2008 Information Architects, Inc.
  • 11. Total Quality is therefore… Extrinsic Quality = Value Total Quality Intrinsic Quality = Craftsmanship © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 11 ©2008 Information Architects, Inc., Adapted and Extended
  • 12. Agenda • Some discussion – what’s a release? quality? • The iron triangle or the quality box? • Release quality levels • Release acceptance test © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 12
  • 13. Should the triangle be a box? The Traditional Iron Triangle The Quality Box Value Quality Scope (Intrinsic quality) (Extrinsic quality) Cost Schedule Cost Schedule © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 13
  • 14. It is a system The Traditional Iron Triangle The Quality Box Value Quality Scope (Intrinsic quality) (Extrinsic quality) Cost Schedule Cost Schedule © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 14
  • 15. What can affect the system? • Flip-chart exercise © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 15
  • 16. Choosing to affect the system The Quality Box Extrinsic Quality Value Quality • Which features present? (Extrinsic quality) (Intrinsic quality) • How well do the work? • How well have they been tested? • Do you have enough? • Is this release ready when I need it? Intrinsic Quality • Craftsmanship of the code • Maintainability Cost Schedule • Level of defects (works as specified) Let’s hold these as fixed… © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 16
  • 17. Agenda • Some discussion – what’s a release? quality? • The iron triangle or the quality box? • Release quality levels • Release acceptance tests © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 17
  • 18. Release quality level • A predetermined quality level chosen by product management that sets expectations regarding the intrinsic and extrinsic quality of a release. • Enables organizations to make confident decisions about their context • Negotiated with development © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 18
  • 19. Example from VeriSign Managed Security Services Release Level Description Release Level 5 • All functionality fully certified. • Near-zero probability of high severity errors and a low probability that medium severity errors. Release Level 4 • All new and modified functionality fully certified, except where risk is deemed minimal (e.g. internal facing reports, low probability use cases). • Features not fully certified documented in the test plan and/or project charter. Strategic regression testing of existing functionality performed. • Low probability that high severity errors will be identified in production. Project carries a moderate probability that medium severity errors. Release Level 3 • All new and modified functionality at least partially certified. • Features not fully certified documented in the test plan and/or project charter. • Partial regression testing performed. • Moderate probability for high severity errors. Higher probability for medium severity errors. Release Level 2 • Most new and/or modified functionality partially certified. • Features not fully certified communicated to stakeholders. • Partial regression testing performed. • Higher probability that high and medium severity errors will be identified. Release Level 1 • New and/or modified features not certified by QA. • Regression testing may or may not occur. • Level 1 releases may be available only for demo or controlled access purposes. • High risk for high severity errors. © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 19 ©2007 VeriSign, Inc. Presented at Agile 2007 conference with Enthiosys 19
  • 20. Set each scale separately Intrinsic Quality Extrinsic Quality 5 • Everything certified! 5 • Customers will rave about this! • Lots of automation! 4 • All new stuff tested by QA 4 • Consistency very high • Full regression testing • Simple and sophisticated tasks 3 • All new stuff tested by QA 3 • Documented • Almost full regression testing • Complete for basic tasks 2 • Most new stuff tested by QA 2 • Not documented • Partial regression tested • Complete for basic tasks 1 • Not tested by QA 1 • Not documented • Not regression tested • Possibly incomplete © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 20
  • 21. Lower bound for intrinsic quality is very high • Leading edge enterprises employ technologies that can approach 99% cumulative defect removal rates. • The norm for US firms is a cumulative defect removal rate of 75%. • A cumulative defect removal rate of 95% on a project appears to be a nodal point where several other benefits accrue. For projects of similar size and type, these projects: – have the shortest schedules. – have the lowest quantity of effort in terms of person-months – have the highest levels of user satisfaction after release —Capers Jones, Applied Software Measurement (1991) © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 21 ©2008 Information Architects, Inc.
  • 22. Why is Intrinsic Quality so Important? • The Impact of code quality on testing • Error Location Dynamics • Error Feedback Ratio • Technical Debt © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 22 ©2008 Information Architects, Inc.
  • 23. Impact of Code Quality on Testing Development: 10 days, Test time= 4 people, 4 KLOC, 2 days 1 d/KLOC Development: 10 days, How long to test? Assume Test time= ½ day to find & fix per defect. 30 days 4 people, 4 KLOC, 15 d/KLOC Outcome: no time to finish testing, technical debt increases! © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 23 ©2008 Information Architects, Inc.
  • 24. Error Location Dynamics 64 56 Difficult errors 48 take longer to find: 40 1 hr/d to 50 hr/d Errors Located 32 24 16 8 0 0 2 4 6 8 10 12 Time © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 24 ©2008 Information Architects, Inc.
  • 25. Error Feedback Ratio The time to finish removing errors The time to finish removing errors is critically dependent on the error is critically dependent on the error feedback ratio. The three simulations feedback ratio. The three simulations differ only in their feedback ratios. differ only in their feedback ratios. A 20% difference in feedback ratio A 20% difference in feedback ratio leads to an 88% difference in leads to an 88% difference in completion time, but the next 10% completion time, but the next 10% increase leads to aa112% increase. increase leads to 112% increase. ERROR FEEDBACK: Errors put into a system when attempting to correct other faults. ERROR FEEDBACK RATIO: The number of problems created per fix. EFR = ERRORS CREATED / ERRORS RESOLVED © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 25 ©2008 Information Architects, Inc.
  • 26. Technical Debt Customer • Once on far right of curve, Responsiveness all choices are hard • If nothing is done, it just Cost of Change (CoC) Actual gets worse CoC • In applications with high technical debt, estimating is nearly impossible Product Technical Debt • Only 3 strategies Release – Do nothing, it gets worse Optimal CoC – Replace, high cost/risk – Incremental refactoring, 1 2 3 4 5 6 7 8 commitment to invest Years © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 26
  • 27. Agenda • Some discussion – what’s a release? quality? • The iron triangle or the quality box? • Release quality levels • Release acceptance tests © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 27
  • 28. Lots of Testing Options! Customer Usability Tests Testing Business Intent Exploratory (Fit, Fitnesse) Run each time a story Testing scenario is completed Assess each iteration Programmer Property Tests Testing Design Intent Response, Security (xUnit) Scaling,… Run at least once each development episode Assess each iteration © From Enthiosys Inc. http://www.testing.com/cgi-bin/blog/2003/08/21#agile-testing-project-1 2009, Brian Marick All rights reserved. www.enthiosys.com or 650.528.4000 28
  • 29. Release Acceptance Tests • Tests owned and written by the product manager / product owner / customer to verify that a story is complete and correct. • Should be (mostly) automated (more later) • Popularized by Agile methods, useful everywhere! © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 29
  • 30. Benefits of Acceptance Tests • Increase team confidence that the system is correct • Help PMs think through requirements • Informs developer estimates • Concrete definition of completion • Early involvement of QA • Automated regression testing for free © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 30
  • 31. ATs test the users’ experience • UTs should test application logic in detail generally in isolation • ATs should test: but not... – Interaction & Flow Usability – Performance Look & Feel – Error Handling – Security © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 31
  • 32. ATDD Cycle © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 32
  • 33. Acceptance Tests are “Quirky” • Written by PMs/Customers... But executed in code? – ATs require a customer meta-language generic enough to capture requirements, abstract enough to be maintainable – Simple enough to be easily understood – They are interpreted by various frameworks – Requires external systems and “spike” development • Automation tools dictate form/format of tests – http://www.fitnesse.org/ – http://seleniumhq.org/ – http://robotframework.org © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 33
  • 34. Fitnesse Structure © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 34
  • 35. Fitnesse test example Each row is one test Fitnesse supports many different testing table styles that can be organized into test suites. © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 35
  • 36. Writing good acceptance tests • Tell a story of accomplishing a goal – Goal  test title – Activities  rows in your test suite • Expect them to be stable, even if the underlying system is going through a lot of change • Don’t reference domain objects © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 36
  • 37. Consider “Given-When-Then” • Given some context When something happens Then some behavior • Given an innovation games planner with a scheduled party When they cancel the party Then send a cancellation email to the players and the facilitator, a cancellation confirmation to the planner, and ensure that the game play URL points to the “cancelled party” page © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 37
  • 38. Overcoming common challenges • You don’t have to automate everything • Get started, but don’t expect quick turns • Help your product managers by writing a few • Make AT writing a natural part of the conversation © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 38
  • 39. Thank You !!! Luke Hohmann Founder & CEO Enthiosys, Inc. 615 National Ave., Ste 220 Mountain View, CA 94043 cell: (408) 529-0319 www.enthiosys.com lhohmann@enthiosys.com Innovation Through Understanding® © 2009, Enthiosys Inc. All rights reserved. www.enthiosys.com or 650.528.4000 39

Notes de l'éditeur

  1. www.enthiosys.com Copyright (c) 2001-2008 by Luke Hohmann
  2. www.enthiosys.com Copyright (c) 2003-2005 by Luke Hohmann
  3. The table below provides detailed descriptions of the Release Levels from a product quality perspective. Further details on the Release Levels can be found in the SDLC documentation.
  4. <- 20% -> <------ 10% ------> Research shows that there is a chance of 4 additional errors being introduced with each error that gets corrected! Error Feedback Ratio is a critical parameter measuring the quality in any software organization. A large ratio indicates the process is becoming unstable.
  5. what are covered by ATs?
  6. Simple, procedural steps
  7. www.enthiosys.com Copyright (c) 2003-2006 by Luke Hohmann