SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
September 2007
                                                                                      Neil Thompson
SoftTest Ireland with the support of the All Ireland Software Network
Belfast 20 Sep 2007



                    Thinking tools:
               from top motors, through
           software process improvement, to
                     context-driven

      Neil Thompson                          Thompson information Systems Consulting Ltd
                                                                        23 Oast House Crescent
                                                                        Farnham, Surrey
                                                                        England, UK
                                                                        GU9 0NP
                                                                        www.TiSCL.com



                                                                               ©
September 2007

 Can software process improvement learn       Neil Thompson




               from these?




                                     TOYOTA PRIUS




                                          ©
                                                        2
TOYOTA CELICA GT4
September 2007

 How Toyota progressed through quality to                  Neil Thompson




  global dominance, and now innovation
• Quality (top reputation):
   – has dominated JD Power satisfaction survey for decade
   – Toyota Production System (TPS): 14 principles across
     Philosophy, Problem-Solving, Process and People &
     Partners
• Global dominance:
   – market value > GM, Chrysler & Ford combined
   – on track to become (2006) world’s largest -volume car mfr
• Innovation (fast):
   – Lexus: invaded the “quality” market and won
   – Prius: not evolutionary but revolutionary – and launched 2
     months early and sold above expectations
   – Toyota Product Development System (TPDS):
     13 (!) principles across Process, People and
     Tools & Technology                                 ©
                                                                     3
September 2007
                                                                             Neil Thompson
                                 Agenda
• Contents:
   – Analogies between world -leading improvements in manufacturing and
     what we may do in the software development lifecycle (SDLC):
       • 1. Things that flow through a process: inventory, value (EuroSP3 2004)
       • 2. Constraints on process, and thinking tools to improve (EuroSTAR 2006)
       • 3. From process improvement to process definition, eg context-driven
         (STAREast 2003)
• Acknowledgements:
   – Jens Pas (EuroSTAR 1998) – my introduction to Goldratt
   – Greg Daich (STAREast 2002) – I generalised his idea, then worked
     backwards to the roots
• Objectives for audience:
   – entertainment? – something a bit different
   – appreciate some fundamental principles
   – take away a set of simple diagrammatic thinking tools which are useful
     in many situations
   – think about your particular SDLC – where are the constraints?
   – go on to read some of the references
   – benefit by then improving your own processes
   – be more ready to learn from other disciplines & industries   ©
                                                                                       4
September 2007

  The “new” paradigm in manufacturing: value                                                                   Neil Thompson




      flow, pull not push, problem-solving
                         TPS & TPDS                           TOYOTA:                           GOLDRATT:
• Customer-defined value                 3. Pull to avoid     Takt (rhythm),                    Drum-
(to separate value -added from waste)    over-production      Low-Inventory (“lean”),           Buffer-
                                         4. Level workload
                                                              Just-In-Time                      Rope
                                                              Minimise waste                    Maximise throughput
           2. Continuous process flow to surface problems     Andon (stop and fix)              Critical Chain manag’t
                          7. Visual control to see problems   Kanban cards
                                                              Tagging slow movers               Monitoring buffers
                                                              One-page metrics
             12. See for yourself to thoroughly understand    Chain of 5 “why”s                 Cause-effect trees
                                                                                                Conflict resol diagrams
             14. Learning org via reflection & improvement    Plan-Do-Check-Act                 Identify constraint,
                                                                                                “elevate” & iterate

    • And now these principles have been successfully applied
      beyond actual manufacturing, into product development
    • But what about development of software?...

13. Decide slowly (all options) by consensus   • Front-load product dev to explore thoroughly
                                               alternatives while max design space

                                                                                                        ©
    • I prefer Goldratt for thinking tools...                                                                            5
September 2007

Goldratt’s Theory of Constraints: an analogy                                                Neil Thompson




                 to explain
Goal: to win the war
Objective: to maximise throughput (right soldiers doing right things)
Constraint on throughput: slowest marcher
Drum                            Rope



                                        Buffer
                                                                  diagram based on those in “The Race”,
                                                                  E.M. Goldratt & R. Fox 1986

Critical chain: weakest link is all we need fix, by means of...
Five focussing steps: identify constraint, exploit it, subordinate all else,
     elevate it (i.e. strengthen so not now weakest), then... identify next constraint
But now it’s no longer simple: so need iterative tools for:
                                what to change, what to change to, how
Five thinking tools (based on sufficient causes &           ©
                               necessary conditions)                  6
September 2007
                                                                Neil Thompson

Applicability of TOC beyond manufacturing

•   Military logistics
•   Marketing, sales & distribution
•   Project management
•   Measurements, human relationships, medicine etc
•   Using technology, eg assessing benefits of functionality
•   IT systems development:
     – focussing of Goldratt’s Critical Chain on hi-tech projects
       Robert C Newbold
    – methodology design Alistair Cockburn
    – “Lean software development” Mary & Tom Poppendieck
    – Agile management using Feature Driven Development         David
       J Anderson

                                                            ©
                                                                          7
September 2007
                                                        Neil Thompson
         But software development isn’t
              like manufacturing?

• Software isn’t like hardware
• Intellect adds value less predictably than machines
• The manufacturing part of software development is disk
  duplication: “development” is really a design activity
• People are more important than processes
• Software development doesn’t repeat exactly, people are
  always tinkering with the processes
• Development involves discovery, production involves
  reducing variation
• But I say: does that make all the analogies worthless,
  or do they just need interpreting? I suggest the latter…


                                                    ©
                                                                  8
September 2007
                                                                                               Neil Thompson

                 A code factory and a bug factory


• No-waste factory
                         a     b     c      Stated                      Demonstrations &
                                         requirements                   acceptance tests



                                                          Programming


• Now here’s some waste: meeting/escalation (and
  loaded personal memories), or inventory?
 a       b   c          a     b’     d         Implicit
                                         requirements

                                         Documented
                                                             ?          Acceptance tests
     I



                             I




                                         requirements
                                     ?
     Meeting / escalation to agree

                                                          Programming

                                                                                           ©
                                                                                                         9
September 2007
                                                                           Neil Thompson

Specs & unfinished software are inventory

•   Specifications are generally not needed after go-live (I will come
    later to exceptions) so they are not end -product, they are work-in-
    progress (especially intermediate levels like functional & non-
    functional specs)
•   Untested software, and even finished software not paid for, is a lso
    inventory
•   Iterative lifecycles help if “adaptive” (product-based) rather than
    “transformational” (where specifications multiply!)

    a   b                       Revised & new requirements

                                      a’    b’      c
                                           I



                                      May include
                        Programming                     Programming
                                       redesign

                                                                       ©
                                                                                    10
September 2007

     The full traditional W-model bulges with                                                   Neil Thompson




                      inventory!
Business
objectives
                                            Test against                Post-implement -
  Make
   into      Verify                                                          ation review
   Requirements         Verify & Validate                   Acceptance          Acc. retest,
     Statement           RS, + spec. AT                        test           fix & reg. test
Validate
(incl.
“QA”)      Functional     Verify & Validate            System              Sys. retest,
             Spec.         FS, + spec. AT                test            fix & reg. test

                                                                                Retest lower
                 Technical     V&V TD,            Integrat-          Int. retest,      levels
                               + spec. IT                          fix & reg. test    where
                  Design                           ion test                        necessary

                      Module    V&V MS, +       Unit         Unit retest,
                      Specs.     spec. UT       test       fix & reg. test

                                      Code
                                Static-check
                                                                                           ©
                                                                                                         11
September 2007
                                                                                                                                 Neil Thompson

In a factory, small batches reduce inventory


                                            Stages &
                                          units / hour      (i) 1.3

                                                         (ii) 10.0
                                                                                                           Multi-batch
                        1000                               (iii) 1.0        200    200   200   200   200
                                                                                                           (ie “iterative”)
                Single-batch
                (ie “waterfall”)                         (iv) 10.0

                                                            (v) 2.0

0           1            2            3              4                 0                 1                 2           3          4
                                                  months                                                                       months
Inventory                                                              Inventory




                                   Based on Goldratt, The race (North River Press 1986)
                                                                                                                           ©
                                                                                                                                          12
September 2007
                                                                                                Neil Thompson
        Drum-buffer-rope approach to constraints
  • Optimise throughput by:
     – (1) drumbeat based on constraining stage (a) & orders (b)
     – (2) buffer to protect constraining stage from upstream
       disruptions
     – (3) rope to prevent leader extending gap on constraining
       stage
  • For subassemblies feeding in, have additional buffers
                “troops marching”                             materials flow
                        buffer
raw materials                        (1)
in                               constraining
     ”leader”                    stage (a)                         assembly

                           (2)
                 (3)                                               buffer
                                                subassembly                    orders (b)

                                                                                            ©
                                                                                                         13
September 2007

      In software development & testing, small                                                                            Neil Thompson



    batches = agile methods: consider inventory
               moving through SDLC

    Amount of
    functionality            Requirements                Inventory in
                                                         this stage         Lead time for
                                           Specification of process
                                                                            this stage
                                                       Design
                                                                            of process
             Inventory in
             process
             overall                                         Programming &                          Within each stage
                                                             unit testing                              of testing, can
                                                                          Integration                   subdivide by
                                                                          testing                            pass/fail,
                                                                                                        bug states etc
                                                                                    System
                                                                                    testing

                                                                                              Acceptance
                                                                                              testing

                                                                                                       Live and
                                                                                                       paid-for

                                                                                                            Date
                     If lines not approx parallel, inventory is growing
                                                                                                                     ©
                                                                                                                                   14
Based on Anderson, Agile management for software engineering (Prentice Hall 2004)
Agile methods: pull value instead of pushing                                   September 2007
                                                                                 Neil Thompson



                documentation
LEVELS OF DOCUMENTATION,
pushed by specifiers                                    FLOW OF FULLY-
                                                     WORKING SOFTWARE,
                                                               pulled by
                                                        customer demand


                             + Test Specifications




Requirements                                                                         Accepted

                                                                                 System-
                                                                                 tested
    + Func
      Spec



                                                                        Integrated
               + Technical
                   Design                                                     WORKING
                                                                             SOFTWARE

                                                               Unit / Component -tested
                      + Unit / Component
                           specifications
                                                                         ©
                                                                                          15
September 2007
                                                                                                            Neil Thompson
But even if our context is not suitable (or ready)
 for agile methods, we should understand flow


 raw materials
 in                                Where is/are the
      Requirements
                                   constraining stage(s)?

                                   Where should buffers
          Specification
                                   be / not be?                                Acceptance
                                                                                            order(s )
                                                                               testing


                                                              System
                                                              testing
                          Design                                           assembly



                                                Integration
                                                testing       sub-assemblies



                            Programming   Unit
                                          testing


                                                                                                        ©
                                                                                                                     16
September 2007

New paradigm problem-solving: the Goldratt-                                                                     Neil Thompson




        Dettmer* “Thinking Tools”
  What to
                                           ........... What to change to .......
 change (1)                                (2)                             (3)
  Core problem+                    Prerequisites+                CURRENT REALITY
(other) Root causes                  Conflicts                   + Injections

    Intermediate                                                  Intermediate                FUTURE
                                   Requirements +
       effects                                                       effects
                                    INJECTIONS                                                REALITY
    Undesirable                                                     Desired
                                       Objective
      effects                                                       effects
   CURRENT                         CONFLICT                              .... How to change ....
   REALITY                        RESOLUTION                    (4) Intermediate                 Needs+       (5)
                                                                        objectives               Specific
                                                                                                 actions
    * very slightly paraphrased here
                                                                        Obstacles              Intermediate
                                                                                                  effects
                                                    PRE-                                                      TRANS-
                                              REQUISITES Objective                              Objective     ITION
Sources: Dettmer, W. Goldratt’s Theory of Constraints (ASQ 1997)
         Thompson, N. “Best Practices” & Context-Driven – building a bridge (StarEast 2003)
                                                                                                        ©
                                                                                                                         17
September 2007

The thinking tools are complementary diagrams                                                    Neil Thompson




 http://www.osaka-gu.ac.jp/php/nakagawa/TRIZ/eTRIZ/eforum/eETRIACon2003/Fig11TillmannB.jpg


 • Causes and effects
                                                                                             ©
 • Necessary and sufficient conditions                                                                    18
September 2007

         Why better than “traditional” process                                              Neil Thompson




          improvement in software testing

 Test
                     J        Some
                                                                                     Lanalogies
                                                                                       Medical
                              flexibility
 Organisation
 MaturityTM
                                                                                     MATURITY
                                                                                     LEVELS

                                                            Test
                                                           Maturity
                                                           ModelSM


          PREDEFINED SUBJECT AREAS
                                                                 Test
                                                              Process
Sources:                                                 Improvement ®
TMMSM - http://www.stsc.hill.af.mil/crosstalk/1996/09/developi.asp
TPI® – based on http://www.sogeti.nl/images/TPI_Scoring_Tool_v1_98_tcm6 -30254.xls
TOMTM – based on http://www.evolutif.co.uk/tom/tom200.pdf, as                           ©
        interpreted by Reid, S. Test Process Improvement –                                           19
                        An Empirical Study (EuroSTAR 2003)
September 2007
                                                       Neil Thompson
       Extending the new paradigm to testing: by
             rearranging TPI’s key areas…
1.Test strategy

2.Lifecycle model

3.Mom of involv’t

4.Estim & plan

5.Test spec techn

6.Static techn’s

7.Metrics

8.Test automation

9.Test env’t

10.Office env’t

11.Commit & motiv

12.Test func & train

13.Scope of meth’y

14.Communication

15.Reporting

16.Defect mgmt

17.Testware mgmt

18.Test proc mgmt

19.Evaluation

20.Low-lev testing




   …we can begin to see cause-effect trees…        ©
                                                                20
September 2007

Cause-effect trees: can start with TPI’s inbuilt                                                                                                              Neil Thompson




dependencies
                          4.Estim & plan                                 6.Static techn’s          5.Test spec techn                              7.Metrics

                           A:Substantiated                                                        A:Informal techniques                          A:Product for project

                                                                                                  B:Formal techniques




                          3.Mom of involv’t     1.Test strategy          19.Evaluation             20.Low-lev testing     2.Lifecycle model       18.Test proc mgmt

                                                A:Single hi-level test                                                      A:Plan, spec, exec   A:Planning & exec’n

                          A:Compl test basis
                                                                                                                                                 B:+Monitoring &
                                                                                                                                                 adjustment




  13.Scope of meth’y      14.Communication                               11.Commit & motiv         12.Test func & train   16.Defect mgmt          15.Reporting

                                                                           A:Budget & time
                                                                                                                             A:Internal               A:Defects
   A:Project -specific
                                                                         B:Test int in proj org                                                   B:Progress , activities,
                                                                                                                                                  prioritised defects
                                                                                                  A:Testers & Test Mgr



  10.Office env’t         9.Test env’t                                   8.Test automation                                17.Testware mgmt

                         A:Managed-controlled




                                                                                                                             A:Internal




…eg for getting to at least level A throughout                                                                                                   ©
                                                                                                                (slightly simplified)                                        21
September 2007

Can add extra “key areas”, lifecycle inputs &                                                                                            Neil Thompson




outputs, general categories
    INPUTS &           4.Estim & plan       + Risk-Based      6.Static techn’s    5.Test spec techn      TECHNIQUES          7.Metrics
                                              STAR
  INFLUENCES                                                                                              in general
    on testing




                       3.Mom of involv’t    1.Test strategy   19.Evaluation       20.Low-lev testing     2.Lifecycle model   18.Test proc mgmt
  LIFECYCLE
   in general




  13.Scope of meth’y   14.Communication                       11.Commit & motiv   12.Test func & train   16.Defect mgmt      15.Reporting
                                           ORGANISATION
                                             in general




  10.Office env’t      9.Test env’t           INFRA-          8.Test automation   + Test data            17.Testware mgmt     OUTPUTS
                                           STRUCTURE                                                                         from testing
                                            in general




…eg TPI / TMap’s four “cornerstones”                                                                                         ©
                                                                                                                                                  22
September 2007

Can go beyond the fixed questions: SWOT                                                                                      Neil Thompson




each subject area                                                       Source:
                                                                        solid borders denote as in TPI; dashed borders denote additional

         INPUTS & INFLUENCES on STAR                                               4.Estimating & planning
 STRENGTHS                      OPPORTUNITIES                     STRENGTHS                          OPPORTUNITIES

                                Some managers are
                                considering                        Monitored, and adjustments
                                agile methods                      made if needed



                                 Business analysts may be
                                 motivated by UML training



                                                                  Too busy for well-considered
                                                                  estimating & planning
  System requirements are        The most experienced
                                                                                                        The squeeze on testing is
  agreed too late                business analysts are leaving,
                                                                                                        likely to worsen
                                 more may follow
                                                                     Release dates are fixed
   System specs & designs are
   defective, just timeboxed
                                                                         Can’t recruit more staff

  System specs are heavy text
  documents                                                        Not substantiated, just “we
                                                                   did it as in previous project”

 WEAKNESSES                                  THREATS              WEAKNESSES                                        THREATS

                                                                                                                   ©
(small Post-it® notes are good for this)                                                                                              23
September 2007

Applying the thinking tools to information                                                                                                                      Neil Thompson




from SWOT analysis                                                                                                               Using extracts from both 1 st & 2nd examples


STRENGTHS                                                       OPPORTUNITIES                       TACTICAL: Address culture by
                                                                                                    worked examples of diagrams
                                                                    Some managers are
                                                                    considering
                                                                    agile methods
    (Use Strengths to help                                                                          TACTICAL: Include tables &
                                                                                                    diagrams in test specifications
                                                                Business analysts may be
    amplify opportunities)                                      motivated by UML training
                                                                                                                       ONGOING:
                                                                                                                       Techniques
                                                                                                                        training &
                                                                                                                                            Action planning
                                                                       Can still improve coverage                         coaching
                                                                          at macro level with
                                                                         informal techniques
                                                                                                            STRATEGIC:
                                                                                  (80/20)                   Improve SDLC method                             TRANS-
                                                   CONFLICT                                 FUTURE REALITY                                                  ITION
CURRENT REALITY                                   RESOLUTION
                                                                                                                                                         PRE-
 Culture of our testers is to
 prefer large text documents
                                 SDLC method does not
                                 encourage diagrams
                                                                                                                                                   REQUISITES
 to diagrams


            System specs are heavy text
            documents
                                                                             (Use Threats to help                                      Anticipating &
                                                                             identify obstacles)                                       overcoming
                Test specs are large & “texty ”
                                                                                                                                       obstacles
                        Test coverage omissions & overlaps


WEAKNESSES                          Too many failures in Live   THREATS

                            The SWOT method can be “nested”, eg aggregate up
                                                                                                                                                     ©
                               from individual subject areas to whole lifeycle                                                                                           24
September 2007

Difficulties in problem-solving:                                                                                                                                Neil Thompson




conflict resolution (eg for documentation)
    Agree in a                                                                                                                                             “We need
    workshop what
                                                           “If it’s not written,       “Test reports need to       “Reviews are powerful at                  more
    documentation                                                                                                  finding defects early, but it’s
    is needed
                                                           it can’t be signed off”     be formal documents”
                                                                                                                   difficult to review just speech”
                                                                                                                                                         documentation”

                    “What documentation is needed
                                                       “Sign-off can be by
                    for contractual reasons? Still     agreed meeting outcomes”                                            “Are there few enough people
                    time to negotiate?” Yes!
                                                                                         Documentation                     to make frequent widespread
                                                                                         doesn’t have to                   meetings practical?” No!
   Objectives of                                                                         be paper: use
  documentation                                                                          wikis etc




                                                                                                                                                                     CONFLICT
                                                                Can mix
                                                                exploratory                                                Documentation varies:
 are to help build                                              & scripted
                                                                                                                           need to distinguish necessary
                               Documentation                                                                               from unnecessary
 and maintain a                  is still needed                testing
                                                                                       Make maximum
  fit-for-purpose              for maintenance
                                                                                       use of tables
                               after go-live                                                                               Need to distinguish quality
system by knowing                                                                      & diagrams                          of documentation, not
                                                                                                                           just quantity
   and agreeing
  what built and               “They will when their
    what tested                memories have faded     “Are test analysts writing       “Will the live system be             Our users cannot be on-site
                               or when there’s a                                        maintained by its                    with the project throughout
                                                       tests for others to run?” No!
                               contract dispute”                                        its developers?” No!


                                                                                                                        “Signed-off requirements
                               “People never read       “Documented test plans          Specifications are like         are counterproductive to
                               any documentation”       are counterproductive to        inventory, no end value         systems meeting real
                                                                                                                                                           “We need
                                                        the best testing”
                                                                                                                        user needs now”                       less
                                                                                                                                                         documentation”


Developed further to Daich, GT. Software documentation superstit ions (STAREast 2002)                                                                      ©
See also Rüping, A. Agile documentation (Wiley 2003)                                                                                                                            25
September 2007

Not only process improvement – we can apply                                                                           Neil Thompson




the thinking tools to defining “appropriate” practices!
                       Always-            Good      What “appropriate” means
     Context           good               practices                      in this context
                       principles in this           REALITY + Injections
         Root
                          “Prerequisites” context                                    3
        causes

                                                                 Intermediate
                                                                                    FUTURE
                                            Extremes
     Intermediate
                            Requirements                            effects         REALITY
        effects
                                            Sub-requirements
                                            (valid & invalid       Desired
       Effects                                                      effects
                             Objectives     assumptions)
                                            + INJECTIONS

    CURRENT            2a                                         Questions to Choice categories
    REALITY 1
                                  POSITIONING
                                                                  consider             & actions
                                  + Justifications
                                                                                       5a                  Choice
    • Methodology                                      2b         Intermediate                          categories +
      unhappy with           CONFLICT                           sub-prerequisites                        NEEDS +
                                                                                         Specific
      (à actions)           RESOLUTION                                                   actions
                                                                                                      INTERACTIONS
    • Unsure how
      best to test                                                 Obstacles                           Actions & sub-
      (à conditions)                                        4                          Intermediate      objectives
                                                                                          effects
                                                 PRE-                                                                        5b
                                                                Sub-prerequisite
                                                                                                         Objectives
©                                          REQUISITES                                     Sub-            ©
                 26                                                                     objectives                             26
                                                                                                        TRANSITION
September 2007

This is a structure I argued could build a bridge       Neil Thompson




 between “best practices” and context-driven

                                     Unifying points
        Best
       Practice                   “Always-Good”
                                     Principles
                                              Goldratt’s
“formalised   “fossilised What       How
                                           “thinking tools”
sloppiness”   thinking”

                                   Constraints,
       Context-                   Requirements,
       Driven                     Objectives etc
                                    Expert pragmatism
                                    with structure ©
                                                                 27
September 2007

1                          Context (CURRENT REALITY)                                       Neil Thompson




                         Business/                            App type       Corporate culture
                         org. sector          Nation
QUALITY / RISK FACTORS
SCOPE, COST, TIME,


                                            (eg USA)         Technology

                         Legal             Moral                     Job type & size:
                                                                     • project/programme
                         constraints:      constraints, eg:          • bespoke/product
                         • regulation      • human safety
                                                                     • new/maintenance
                         • standards       • money, property
                                           • convenience
                                                                   Process
                          Resources:                               constraints, eg:
                          • money (à skills, environments)         • quality management
                          • time                                   • configuration mgmt


                                                   • Unsure
                                                   how best              Methodology
                           • Methodology
                                                     to test             happy with
                           unhappy with
                                                                                       ©
                                                                                                    28
September 2007

2a                   Always-good principles                                                                                Neil Thompson




                (CONFLICT RESOLUTION upper level)
                                          Always-good
            Effectiveness

                                                                            Efficiency
      Risk management                Quality management
                                                              Decide process targets          Assess where errors originally made
                                                              & improve over time
        Insurance                  Assurance               Be pragmatic over quality targets
                                       Plan early, then                                                       Define & use metrics
                  Give confidence (AT) rehearse -run,     Use handover & acceptance criteria
     Define & detect errors (UT,IT,ST) acceptance tests
     V-model: what testing against         W-model: quality management            Use independent system & acceptance testers

 Risks: list & evaluate                Tailor risks & priorities etc to factors          Use appropriate skills mix

                                      l   Refine test specifications progressively:      Define & agree roles & responsibilities
 Prioritise tests based on risks
                                      l   Plan based on priorities & constraints
                                      l   Design flexible tests to fit                   Use appropriate techniques & patterns
 Define & measure
                                      l   Allow appropriate script format(s)
 test coverage                                                                           Use appropriate tools
                                      l   Use synthetic + lifelike data

 Allow & assess for coverage changes         Document execution & management procedures                   Optimise efficiency

                                                    Distinguish problems from change requests
                                   Measure progress & problem significance               Prioritise urgency & importance
 Quantify residual risks & confidence                            Distinguish retesting from regression testing   ©
                                                                                                                                    29
September 2007
                                                                            Neil Thompson

Conflicting interpretations of these principles
  Next diagram will take each box from the previous diagram and as sess it on
  a formal-informal continuum, so...
          In preparation for this: what do we mean by “formality”?
 • adherence to standards                • consistency
   and/or proprietary                    • contracted-ness
   methods                               • trained-ness and
 • detail                                  certification of staff
 • amount of                             • “ceremony”, eg degree
   documentation                           to which tests need to
 • scientific-ness                         be witnessed, results
 • degree of control                       audited, progress
 • repeatability                           reported
                                         • any others?
                                                                       ©
                                                                                     30
September 2007

2b                                                                                                           Neil Thompson

                     Good practices in this context
                  (CONFLICT RESOLUTION lower level)
                    We’re too        • THEY ARE LEVELS,           All systems are integrated from parts
 Use a              lazy to think
                                        NOT STAGES
                                                      • SOME SPECS ARE
 waterfall                                            OUT OF DATE / IMPERFECT,
                    We want baselines to test against BUT WE COPE
 V-model                                                                                       APPROPRIATE
                    We want to test viewpoints of:       • NEED NOT BE 1-1 CORRESP             USE OF
                    • users                                SPECS-LEVELS
                    • someone expert & independent
                                                                                               V-model:
                    • designers
                                                          • NEED NOT BE 4 LEVELS               what testing
                    • programmers                        Two heads are better than one         against
                                                         • MULTIPLE PARTIAL PASSES
     “Conflict”     We’re doing iterative development
                                                                                            Different levels
                                                                                            mitigate different risks
                    We’re doing adaptive development (no specs)
                                                                                   • CAN USE EXPLORATORY
                    Documentation must be minimised        We have little time       TESTING AGAINST
                                                                                     CONSENSUS BASIS
 Don’t
                    We’re object-oriented       • V-MODEL IS IMPLICIT IN BINDER’S BOOKTesting OO systems: models,
 use a                                                                                                 patterns & tools
 V-model            V-model is       MANY PEOPLE                We want to
                    discredited      STAND BY V-MODEL           be trendy, anyway
                                                                                                   ©
                                                                                                                          31
September 2007

3       What “appropriate” means in this context                                                   Neil Thompson




                  (FUTURE REALITY)

The system has:
• users
                                                      Our user requirements
• (potentially) expert & independent testers
                                                      are out of date and
• designers (where significant)
                                                      were vague when written
• programmers

                                                      We do have a good functional spec
                                                      and independent testers available

                      Our system is
                      very simple              We do need separate
                                               development & acceptance
                                                                                V-model with
                                               test levels
              • NEED NOT BE 4 LEVELS                                            only 3 levels:
                                               We don’t need a                  l acceptance (v. consensus)
                                               separate                         l system (v. spec)
                                               integration test level           l unit (informal)



           Our programmers hate
           documentation
                                                                                             ©
                                                                                                            32
September 2007

    And so on… overall what we have done is                            Neil Thompson




 deconstruct then reconstruct: the framework is a
                 “meta-V-model”
                                                                       Choice
All possible   CONFLICT RESOLUTION                   TRANSITION
                                                                   categories
    contexts   upper                                      upper
                                                                    & actions


  Your context    CURRENT                       TRANSITION
                   REALITY                                        Choices
                                                     lower


                       CONFLICT
     Each practice                            PRE-           Questions to
                     RESOLUTION
       to examine                             REQUISITES     consider
                           lower



                                    FUTURE
                                   FUTURE
                                    REALITY
                                   REALITY
                             What “appropriate”                    ©
                                                                                33
                             means in your context
September 2007
                                                                    Neil Thompson

                      Conclusions
• Summary:
  – Toyota’s success (and penetration of Just In Time)
  – “The Goldratt Trilogy”:
     • 1. Things that flow through a process: inventory, value
     • 2. Constraints on process, and thinking tools to improve
     • 3. From process improvement to process definition, eg context-
       driven
• Lessons learned:
  – three papers are enough?
• Take away:
  – read references – Dettmer is key
• Way forward:
  – examples!
                                                               ©
                                                                             34
September 2007
                                                                               Neil Thompson
                              Key references
• Context-Driven:
   – Kaner, Bach & Pettichord (2002) Lessons learned in software testing, Wiley
• Best Practice:
   – ISEB, ISTQB??
• My inspiration:
   – Jens Pas (EuroSTAR 1998) Software testing metrics
   – Gregory Daich (STAREast 2002) Software documentation superstitions
• Theory of Constraints understanding:
   – Eliyahu M. Goldratt (1984 then 1992 with Jeff Cox) - The Goal; (1986 with R. Fox)
       The Race; (1997) Critical Chain
• TOC overview and the thinking tools:
   – H. William Dettmer (1997) Goldratt’s TOC: a systems approach to cont. improv’t,
       ASQ
• Related (but differently-specialised) thinking from Agile
  community:
   – Alistair Cockburn: A methodology per project, www.crystalmethodologies.org
   – Mary Poppendieck: Lean development: an agile toolkit,             ©
                                                                                        35
                                          www.poppendieck.com

Contenu connexe

Similaire à Toyota's Quality Approach and Software Process Improvement

IBM’s zEnterprise Really Stretches Its Boundaries — New Windows Are Opened
IBM’s zEnterprise Really Stretches Its Boundaries  — New Windows Are OpenedIBM’s zEnterprise Really Stretches Its Boundaries  — New Windows Are Opened
IBM’s zEnterprise Really Stretches Its Boundaries — New Windows Are OpenedIBM India Smarter Computing
 
'Best Practices' & 'Context-Driven' - Building a bridge (2003)
'Best Practices' & 'Context-Driven' - Building a bridge (2003)'Best Practices' & 'Context-Driven' - Building a bridge (2003)
'Best Practices' & 'Context-Driven' - Building a bridge (2003)Neil Thompson
 
toyota production system
toyota production systemtoyota production system
toyota production systemPrithvi Ghag
 
How technology is helping associations reach new audiences, save money and pr...
How technology is helping associations reach new audiences, save money and pr...How technology is helping associations reach new audiences, save money and pr...
How technology is helping associations reach new audiences, save money and pr...gandreopoulos
 
Unexpected Challenges in Large Scale Machine Learning by Charles Parker
 Unexpected Challenges in Large Scale Machine Learning by Charles Parker Unexpected Challenges in Large Scale Machine Learning by Charles Parker
Unexpected Challenges in Large Scale Machine Learning by Charles ParkerBigMine
 
A User's Perspective: Innovating Smarter with Invention Machine Goldfire
A User's Perspective: Innovating Smarter with Invention Machine GoldfireA User's Perspective: Innovating Smarter with Invention Machine Goldfire
A User's Perspective: Innovating Smarter with Invention Machine GoldfireIHS Goldfire
 
Disruptive Innovation: how do you use these theories to manage your IT?
Disruptive Innovation: how do you use these theories to manage your IT?Disruptive Innovation: how do you use these theories to manage your IT?
Disruptive Innovation: how do you use these theories to manage your IT?mark madsen
 
ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)Neil Thompson
 
P12035 simplifiedtech-uadeck-sharedeck
P12035 simplifiedtech-uadeck-sharedeckP12035 simplifiedtech-uadeck-sharedeck
P12035 simplifiedtech-uadeck-sharedeckLisa Duke
 
Systematic Corporate Innovation Methods Overview
Systematic Corporate Innovation Methods OverviewSystematic Corporate Innovation Methods Overview
Systematic Corporate Innovation Methods OverviewRichard Platt
 
Roots of scrum 2011_Jeff Sutherland氏
Roots of scrum 2011_Jeff Sutherland氏Roots of scrum 2011_Jeff Sutherland氏
Roots of scrum 2011_Jeff Sutherland氏InnovationSprint2011
 
Simplify Then Add Lightness
Simplify Then Add LightnessSimplify Then Add Lightness
Simplify Then Add LightnessThoughtworks
 
Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...
Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...
Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...David Parker
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
TRIZ and Related Software
TRIZ and Related SoftwareTRIZ and Related Software
TRIZ and Related SoftwareVICTOR FEY
 

Similaire à Toyota's Quality Approach and Software Process Improvement (20)

IBM’s zEnterprise Really Stretches Its Boundaries — New Windows Are Opened
IBM’s zEnterprise Really Stretches Its Boundaries  — New Windows Are OpenedIBM’s zEnterprise Really Stretches Its Boundaries  — New Windows Are Opened
IBM’s zEnterprise Really Stretches Its Boundaries — New Windows Are Opened
 
'Best Practices' & 'Context-Driven' - Building a bridge (2003)
'Best Practices' & 'Context-Driven' - Building a bridge (2003)'Best Practices' & 'Context-Driven' - Building a bridge (2003)
'Best Practices' & 'Context-Driven' - Building a bridge (2003)
 
toyota production system
toyota production systemtoyota production system
toyota production system
 
Introduction To Lean Six Sigma
Introduction To Lean Six SigmaIntroduction To Lean Six Sigma
Introduction To Lean Six Sigma
 
How technology is helping associations reach new audiences, save money and pr...
How technology is helping associations reach new audiences, save money and pr...How technology is helping associations reach new audiences, save money and pr...
How technology is helping associations reach new audiences, save money and pr...
 
Unexpected Challenges in Large Scale Machine Learning by Charles Parker
 Unexpected Challenges in Large Scale Machine Learning by Charles Parker Unexpected Challenges in Large Scale Machine Learning by Charles Parker
Unexpected Challenges in Large Scale Machine Learning by Charles Parker
 
A User's Perspective: Innovating Smarter with Invention Machine Goldfire
A User's Perspective: Innovating Smarter with Invention Machine GoldfireA User's Perspective: Innovating Smarter with Invention Machine Goldfire
A User's Perspective: Innovating Smarter with Invention Machine Goldfire
 
Hicss paper
Hicss paperHicss paper
Hicss paper
 
Disruptive Innovation: how do you use these theories to manage your IT?
Disruptive Innovation: how do you use these theories to manage your IT?Disruptive Innovation: how do you use these theories to manage your IT?
Disruptive Innovation: how do you use these theories to manage your IT?
 
Agile Bill.Lean Primer.0906a
Agile Bill.Lean Primer.0906aAgile Bill.Lean Primer.0906a
Agile Bill.Lean Primer.0906a
 
ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)ROI at the bug factory - Goldratt & throughput (2004)
ROI at the bug factory - Goldratt & throughput (2004)
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
P12035 simplifiedtech-uadeck-sharedeck
P12035 simplifiedtech-uadeck-sharedeckP12035 simplifiedtech-uadeck-sharedeck
P12035 simplifiedtech-uadeck-sharedeck
 
Systematic Corporate Innovation Methods Overview
Systematic Corporate Innovation Methods OverviewSystematic Corporate Innovation Methods Overview
Systematic Corporate Innovation Methods Overview
 
Roots of scrum 2011_Jeff Sutherland氏
Roots of scrum 2011_Jeff Sutherland氏Roots of scrum 2011_Jeff Sutherland氏
Roots of scrum 2011_Jeff Sutherland氏
 
Simplify Then Add Lightness
Simplify Then Add LightnessSimplify Then Add Lightness
Simplify Then Add Lightness
 
SDLC Smashup
SDLC SmashupSDLC Smashup
SDLC Smashup
 
Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...
Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...
Systematic Innovation: TRIZ, Southbeach, and OpenAgile - Tools and Theories f...
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
TRIZ and Related Software
TRIZ and Related SoftwareTRIZ and Related Software
TRIZ and Related Software
 

Plus de David O'Dowd

Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copyDavid O'Dowd
 
Janet Gregory presents Current Testing Challenges with SoftTest Ireland
Janet Gregory presents Current Testing Challenges with SoftTest IrelandJanet Gregory presents Current Testing Challenges with SoftTest Ireland
Janet Gregory presents Current Testing Challenges with SoftTest IrelandDavid O'Dowd
 
Current Testing Challenges Ireland
Current Testing Challenges IrelandCurrent Testing Challenges Ireland
Current Testing Challenges IrelandDavid O'Dowd
 
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieGordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieDavid O'Dowd
 
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...David O'Dowd
 
Intune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ieIntune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ieDavid O'Dowd
 
Mobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieMobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieDavid O'Dowd
 
HMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ieHMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ieDavid O'Dowd
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonDavid O'Dowd
 
www.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn'swww.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn'sDavid O'Dowd
 
Agile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ieAgile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ieDavid O'Dowd
 
Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010David O'Dowd
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandDavid O'Dowd
 
David Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid O'Dowd
 
James Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentJames Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentDavid O'Dowd
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Tester's are doing it for themselves - Julie Gardiner - SoftTest Ireland
Tester's are doing it for themselves - Julie Gardiner - SoftTest IrelandTester's are doing it for themselves - Julie Gardiner - SoftTest Ireland
Tester's are doing it for themselves - Julie Gardiner - SoftTest IrelandDavid O'Dowd
 
Test Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For SucesssTest Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For SucesssDavid O'Dowd
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005David O'Dowd
 

Plus de David O'Dowd (20)

Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
Janet Gregory presents Current Testing Challenges with SoftTest Ireland
Janet Gregory presents Current Testing Challenges with SoftTest IrelandJanet Gregory presents Current Testing Challenges with SoftTest Ireland
Janet Gregory presents Current Testing Challenges with SoftTest Ireland
 
Current Testing Challenges Ireland
Current Testing Challenges IrelandCurrent Testing Challenges Ireland
Current Testing Challenges Ireland
 
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ieGordon baisley - eircom - Introducing the EDM role with www.softtest.ie
Gordon baisley - eircom - Introducing the EDM role with www.softtest.ie
 
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
 
Intune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ieIntune Agile Testing Talk with www.softtest.ie
Intune Agile Testing Talk with www.softtest.ie
 
Mobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ieMobile Testing Challenges Lighting Talk with www.softtest.ie
Mobile Testing Challenges Lighting Talk with www.softtest.ie
 
HMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ieHMH Agile Testing Lightning Talk with www.softtest.ie
HMH Agile Testing Lightning Talk with www.softtest.ie
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
 
www.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn'swww.softtest.ie presents Selenium 2 With David Burn's
www.softtest.ie presents Selenium 2 With David Burn's
 
Agile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ieAgile Test Management - www.softtest.ie
Agile Test Management - www.softtest.ie
 
Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010Michael Bolton - Two futures of software testing - Sept 2010
Michael Bolton - Two futures of software testing - Sept 2010
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest Ireland
 
David Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest IrelandDavid Parnas - Documentation Based Software Testing - SoftTest Ireland
David Parnas - Documentation Based Software Testing - SoftTest Ireland
 
James Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environmentJames Lyndsay - Testing in an agile environment
James Lyndsay - Testing in an agile environment
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Tester's are doing it for themselves - Julie Gardiner - SoftTest Ireland
Tester's are doing it for themselves - Julie Gardiner - SoftTest IrelandTester's are doing it for themselves - Julie Gardiner - SoftTest Ireland
Tester's are doing it for themselves - Julie Gardiner - SoftTest Ireland
 
Test Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For SucesssTest Automation: A Roadmap For Sucesss
Test Automation: A Roadmap For Sucesss
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
 

Toyota's Quality Approach and Software Process Improvement

  • 1. September 2007 Neil Thompson SoftTest Ireland with the support of the All Ireland Software Network Belfast 20 Sep 2007 Thinking tools: from top motors, through software process improvement, to context-driven Neil Thompson Thompson information Systems Consulting Ltd 23 Oast House Crescent Farnham, Surrey England, UK GU9 0NP www.TiSCL.com ©
  • 2. September 2007 Can software process improvement learn Neil Thompson from these? TOYOTA PRIUS © 2 TOYOTA CELICA GT4
  • 3. September 2007 How Toyota progressed through quality to Neil Thompson global dominance, and now innovation • Quality (top reputation): – has dominated JD Power satisfaction survey for decade – Toyota Production System (TPS): 14 principles across Philosophy, Problem-Solving, Process and People & Partners • Global dominance: – market value > GM, Chrysler & Ford combined – on track to become (2006) world’s largest -volume car mfr • Innovation (fast): – Lexus: invaded the “quality” market and won – Prius: not evolutionary but revolutionary – and launched 2 months early and sold above expectations – Toyota Product Development System (TPDS): 13 (!) principles across Process, People and Tools & Technology © 3
  • 4. September 2007 Neil Thompson Agenda • Contents: – Analogies between world -leading improvements in manufacturing and what we may do in the software development lifecycle (SDLC): • 1. Things that flow through a process: inventory, value (EuroSP3 2004) • 2. Constraints on process, and thinking tools to improve (EuroSTAR 2006) • 3. From process improvement to process definition, eg context-driven (STAREast 2003) • Acknowledgements: – Jens Pas (EuroSTAR 1998) – my introduction to Goldratt – Greg Daich (STAREast 2002) – I generalised his idea, then worked backwards to the roots • Objectives for audience: – entertainment? – something a bit different – appreciate some fundamental principles – take away a set of simple diagrammatic thinking tools which are useful in many situations – think about your particular SDLC – where are the constraints? – go on to read some of the references – benefit by then improving your own processes – be more ready to learn from other disciplines & industries © 4
  • 5. September 2007 The “new” paradigm in manufacturing: value Neil Thompson flow, pull not push, problem-solving TPS & TPDS TOYOTA: GOLDRATT: • Customer-defined value 3. Pull to avoid Takt (rhythm), Drum- (to separate value -added from waste) over-production Low-Inventory (“lean”), Buffer- 4. Level workload Just-In-Time Rope Minimise waste Maximise throughput 2. Continuous process flow to surface problems Andon (stop and fix) Critical Chain manag’t 7. Visual control to see problems Kanban cards Tagging slow movers Monitoring buffers One-page metrics 12. See for yourself to thoroughly understand Chain of 5 “why”s Cause-effect trees Conflict resol diagrams 14. Learning org via reflection & improvement Plan-Do-Check-Act Identify constraint, “elevate” & iterate • And now these principles have been successfully applied beyond actual manufacturing, into product development • But what about development of software?... 13. Decide slowly (all options) by consensus • Front-load product dev to explore thoroughly alternatives while max design space © • I prefer Goldratt for thinking tools... 5
  • 6. September 2007 Goldratt’s Theory of Constraints: an analogy Neil Thompson to explain Goal: to win the war Objective: to maximise throughput (right soldiers doing right things) Constraint on throughput: slowest marcher Drum Rope Buffer diagram based on those in “The Race”, E.M. Goldratt & R. Fox 1986 Critical chain: weakest link is all we need fix, by means of... Five focussing steps: identify constraint, exploit it, subordinate all else, elevate it (i.e. strengthen so not now weakest), then... identify next constraint But now it’s no longer simple: so need iterative tools for: what to change, what to change to, how Five thinking tools (based on sufficient causes & © necessary conditions) 6
  • 7. September 2007 Neil Thompson Applicability of TOC beyond manufacturing • Military logistics • Marketing, sales & distribution • Project management • Measurements, human relationships, medicine etc • Using technology, eg assessing benefits of functionality • IT systems development: – focussing of Goldratt’s Critical Chain on hi-tech projects Robert C Newbold – methodology design Alistair Cockburn – “Lean software development” Mary & Tom Poppendieck – Agile management using Feature Driven Development David J Anderson © 7
  • 8. September 2007 Neil Thompson But software development isn’t like manufacturing? • Software isn’t like hardware • Intellect adds value less predictably than machines • The manufacturing part of software development is disk duplication: “development” is really a design activity • People are more important than processes • Software development doesn’t repeat exactly, people are always tinkering with the processes • Development involves discovery, production involves reducing variation • But I say: does that make all the analogies worthless, or do they just need interpreting? I suggest the latter… © 8
  • 9. September 2007 Neil Thompson A code factory and a bug factory • No-waste factory a b c Stated Demonstrations & requirements acceptance tests Programming • Now here’s some waste: meeting/escalation (and loaded personal memories), or inventory? a b c a b’ d Implicit requirements Documented ? Acceptance tests I I requirements ? Meeting / escalation to agree Programming © 9
  • 10. September 2007 Neil Thompson Specs & unfinished software are inventory • Specifications are generally not needed after go-live (I will come later to exceptions) so they are not end -product, they are work-in- progress (especially intermediate levels like functional & non- functional specs) • Untested software, and even finished software not paid for, is a lso inventory • Iterative lifecycles help if “adaptive” (product-based) rather than “transformational” (where specifications multiply!) a b Revised & new requirements a’ b’ c I May include Programming Programming redesign © 10
  • 11. September 2007 The full traditional W-model bulges with Neil Thompson inventory! Business objectives Test against Post-implement - Make into Verify ation review Requirements Verify & Validate Acceptance Acc. retest, Statement RS, + spec. AT test fix & reg. test Validate (incl. “QA”) Functional Verify & Validate System Sys. retest, Spec. FS, + spec. AT test fix & reg. test Retest lower Technical V&V TD, Integrat- Int. retest, levels + spec. IT fix & reg. test where Design ion test necessary Module V&V MS, + Unit Unit retest, Specs. spec. UT test fix & reg. test Code Static-check © 11
  • 12. September 2007 Neil Thompson In a factory, small batches reduce inventory Stages & units / hour (i) 1.3 (ii) 10.0 Multi-batch 1000 (iii) 1.0 200 200 200 200 200 (ie “iterative”) Single-batch (ie “waterfall”) (iv) 10.0 (v) 2.0 0 1 2 3 4 0 1 2 3 4 months months Inventory Inventory Based on Goldratt, The race (North River Press 1986) © 12
  • 13. September 2007 Neil Thompson Drum-buffer-rope approach to constraints • Optimise throughput by: – (1) drumbeat based on constraining stage (a) & orders (b) – (2) buffer to protect constraining stage from upstream disruptions – (3) rope to prevent leader extending gap on constraining stage • For subassemblies feeding in, have additional buffers “troops marching” materials flow buffer raw materials (1) in constraining ”leader” stage (a) assembly (2) (3) buffer subassembly orders (b) © 13
  • 14. September 2007 In software development & testing, small Neil Thompson batches = agile methods: consider inventory moving through SDLC Amount of functionality Requirements Inventory in this stage Lead time for Specification of process this stage Design of process Inventory in process overall Programming & Within each stage unit testing of testing, can Integration subdivide by testing pass/fail, bug states etc System testing Acceptance testing Live and paid-for Date If lines not approx parallel, inventory is growing © 14 Based on Anderson, Agile management for software engineering (Prentice Hall 2004)
  • 15. Agile methods: pull value instead of pushing September 2007 Neil Thompson documentation LEVELS OF DOCUMENTATION, pushed by specifiers FLOW OF FULLY- WORKING SOFTWARE, pulled by customer demand + Test Specifications Requirements Accepted System- tested + Func Spec Integrated + Technical Design WORKING SOFTWARE Unit / Component -tested + Unit / Component specifications © 15
  • 16. September 2007 Neil Thompson But even if our context is not suitable (or ready) for agile methods, we should understand flow raw materials in Where is/are the Requirements constraining stage(s)? Where should buffers Specification be / not be? Acceptance order(s ) testing System testing Design assembly Integration testing sub-assemblies Programming Unit testing © 16
  • 17. September 2007 New paradigm problem-solving: the Goldratt- Neil Thompson Dettmer* “Thinking Tools” What to ........... What to change to ....... change (1) (2) (3) Core problem+ Prerequisites+ CURRENT REALITY (other) Root causes Conflicts + Injections Intermediate Intermediate FUTURE Requirements + effects effects INJECTIONS REALITY Undesirable Desired Objective effects effects CURRENT CONFLICT .... How to change .... REALITY RESOLUTION (4) Intermediate Needs+ (5) objectives Specific actions * very slightly paraphrased here Obstacles Intermediate effects PRE- TRANS- REQUISITES Objective Objective ITION Sources: Dettmer, W. Goldratt’s Theory of Constraints (ASQ 1997) Thompson, N. “Best Practices” & Context-Driven – building a bridge (StarEast 2003) © 17
  • 18. September 2007 The thinking tools are complementary diagrams Neil Thompson http://www.osaka-gu.ac.jp/php/nakagawa/TRIZ/eTRIZ/eforum/eETRIACon2003/Fig11TillmannB.jpg • Causes and effects © • Necessary and sufficient conditions 18
  • 19. September 2007 Why better than “traditional” process Neil Thompson improvement in software testing Test J Some Lanalogies Medical flexibility Organisation MaturityTM MATURITY LEVELS Test Maturity ModelSM PREDEFINED SUBJECT AREAS Test Process Sources: Improvement ® TMMSM - http://www.stsc.hill.af.mil/crosstalk/1996/09/developi.asp TPI® – based on http://www.sogeti.nl/images/TPI_Scoring_Tool_v1_98_tcm6 -30254.xls TOMTM – based on http://www.evolutif.co.uk/tom/tom200.pdf, as © interpreted by Reid, S. Test Process Improvement – 19 An Empirical Study (EuroSTAR 2003)
  • 20. September 2007 Neil Thompson Extending the new paradigm to testing: by rearranging TPI’s key areas… 1.Test strategy 2.Lifecycle model 3.Mom of involv’t 4.Estim & plan 5.Test spec techn 6.Static techn’s 7.Metrics 8.Test automation 9.Test env’t 10.Office env’t 11.Commit & motiv 12.Test func & train 13.Scope of meth’y 14.Communication 15.Reporting 16.Defect mgmt 17.Testware mgmt 18.Test proc mgmt 19.Evaluation 20.Low-lev testing …we can begin to see cause-effect trees… © 20
  • 21. September 2007 Cause-effect trees: can start with TPI’s inbuilt Neil Thompson dependencies 4.Estim & plan 6.Static techn’s 5.Test spec techn 7.Metrics A:Substantiated A:Informal techniques A:Product for project B:Formal techniques 3.Mom of involv’t 1.Test strategy 19.Evaluation 20.Low-lev testing 2.Lifecycle model 18.Test proc mgmt A:Single hi-level test A:Plan, spec, exec A:Planning & exec’n A:Compl test basis B:+Monitoring & adjustment 13.Scope of meth’y 14.Communication 11.Commit & motiv 12.Test func & train 16.Defect mgmt 15.Reporting A:Budget & time A:Internal A:Defects A:Project -specific B:Test int in proj org B:Progress , activities, prioritised defects A:Testers & Test Mgr 10.Office env’t 9.Test env’t 8.Test automation 17.Testware mgmt A:Managed-controlled A:Internal …eg for getting to at least level A throughout © (slightly simplified) 21
  • 22. September 2007 Can add extra “key areas”, lifecycle inputs & Neil Thompson outputs, general categories INPUTS & 4.Estim & plan + Risk-Based 6.Static techn’s 5.Test spec techn TECHNIQUES 7.Metrics STAR INFLUENCES in general on testing 3.Mom of involv’t 1.Test strategy 19.Evaluation 20.Low-lev testing 2.Lifecycle model 18.Test proc mgmt LIFECYCLE in general 13.Scope of meth’y 14.Communication 11.Commit & motiv 12.Test func & train 16.Defect mgmt 15.Reporting ORGANISATION in general 10.Office env’t 9.Test env’t INFRA- 8.Test automation + Test data 17.Testware mgmt OUTPUTS STRUCTURE from testing in general …eg TPI / TMap’s four “cornerstones” © 22
  • 23. September 2007 Can go beyond the fixed questions: SWOT Neil Thompson each subject area Source: solid borders denote as in TPI; dashed borders denote additional INPUTS & INFLUENCES on STAR 4.Estimating & planning STRENGTHS OPPORTUNITIES STRENGTHS OPPORTUNITIES Some managers are considering Monitored, and adjustments agile methods made if needed Business analysts may be motivated by UML training Too busy for well-considered estimating & planning System requirements are The most experienced The squeeze on testing is agreed too late business analysts are leaving, likely to worsen more may follow Release dates are fixed System specs & designs are defective, just timeboxed Can’t recruit more staff System specs are heavy text documents Not substantiated, just “we did it as in previous project” WEAKNESSES THREATS WEAKNESSES THREATS © (small Post-it® notes are good for this) 23
  • 24. September 2007 Applying the thinking tools to information Neil Thompson from SWOT analysis Using extracts from both 1 st & 2nd examples STRENGTHS OPPORTUNITIES TACTICAL: Address culture by worked examples of diagrams Some managers are considering agile methods (Use Strengths to help TACTICAL: Include tables & diagrams in test specifications Business analysts may be amplify opportunities) motivated by UML training ONGOING: Techniques training & Action planning Can still improve coverage coaching at macro level with informal techniques STRATEGIC: (80/20) Improve SDLC method TRANS- CONFLICT FUTURE REALITY ITION CURRENT REALITY RESOLUTION PRE- Culture of our testers is to prefer large text documents SDLC method does not encourage diagrams REQUISITES to diagrams System specs are heavy text documents (Use Threats to help Anticipating & identify obstacles) overcoming Test specs are large & “texty ” obstacles Test coverage omissions & overlaps WEAKNESSES Too many failures in Live THREATS The SWOT method can be “nested”, eg aggregate up © from individual subject areas to whole lifeycle 24
  • 25. September 2007 Difficulties in problem-solving: Neil Thompson conflict resolution (eg for documentation) Agree in a “We need workshop what “If it’s not written, “Test reports need to “Reviews are powerful at more documentation finding defects early, but it’s is needed it can’t be signed off” be formal documents” difficult to review just speech” documentation” “What documentation is needed “Sign-off can be by for contractual reasons? Still agreed meeting outcomes” “Are there few enough people time to negotiate?” Yes! Documentation to make frequent widespread doesn’t have to meetings practical?” No! Objectives of be paper: use documentation wikis etc CONFLICT Can mix exploratory Documentation varies: are to help build & scripted need to distinguish necessary Documentation from unnecessary and maintain a is still needed testing Make maximum fit-for-purpose for maintenance use of tables after go-live Need to distinguish quality system by knowing & diagrams of documentation, not just quantity and agreeing what built and “They will when their what tested memories have faded “Are test analysts writing “Will the live system be Our users cannot be on-site or when there’s a maintained by its with the project throughout tests for others to run?” No! contract dispute” its developers?” No! “Signed-off requirements “People never read “Documented test plans Specifications are like are counterproductive to any documentation” are counterproductive to inventory, no end value systems meeting real “We need the best testing” user needs now” less documentation” Developed further to Daich, GT. Software documentation superstit ions (STAREast 2002) © See also Rüping, A. Agile documentation (Wiley 2003) 25
  • 26. September 2007 Not only process improvement – we can apply Neil Thompson the thinking tools to defining “appropriate” practices! Always- Good What “appropriate” means Context good practices in this context principles in this REALITY + Injections Root “Prerequisites” context 3 causes Intermediate FUTURE Extremes Intermediate Requirements effects REALITY effects Sub-requirements (valid & invalid Desired Effects effects Objectives assumptions) + INJECTIONS CURRENT 2a Questions to Choice categories REALITY 1 POSITIONING consider & actions + Justifications 5a Choice • Methodology 2b Intermediate categories + unhappy with CONFLICT sub-prerequisites NEEDS + Specific (à actions) RESOLUTION actions INTERACTIONS • Unsure how best to test Obstacles Actions & sub- (à conditions) 4 Intermediate objectives effects PRE- 5b Sub-prerequisite Objectives © REQUISITES Sub- © 26 objectives 26 TRANSITION
  • 27. September 2007 This is a structure I argued could build a bridge Neil Thompson between “best practices” and context-driven Unifying points Best Practice “Always-Good” Principles Goldratt’s “formalised “fossilised What How “thinking tools” sloppiness” thinking” Constraints, Context- Requirements, Driven Objectives etc Expert pragmatism with structure © 27
  • 28. September 2007 1 Context (CURRENT REALITY) Neil Thompson Business/ App type Corporate culture org. sector Nation QUALITY / RISK FACTORS SCOPE, COST, TIME, (eg USA) Technology Legal Moral Job type & size: • project/programme constraints: constraints, eg: • bespoke/product • regulation • human safety • new/maintenance • standards • money, property • convenience Process Resources: constraints, eg: • money (à skills, environments) • quality management • time • configuration mgmt • Unsure how best Methodology • Methodology to test happy with unhappy with © 28
  • 29. September 2007 2a Always-good principles Neil Thompson (CONFLICT RESOLUTION upper level) Always-good Effectiveness Efficiency Risk management Quality management Decide process targets Assess where errors originally made & improve over time Insurance Assurance Be pragmatic over quality targets Plan early, then Define & use metrics Give confidence (AT) rehearse -run, Use handover & acceptance criteria Define & detect errors (UT,IT,ST) acceptance tests V-model: what testing against W-model: quality management Use independent system & acceptance testers Risks: list & evaluate Tailor risks & priorities etc to factors Use appropriate skills mix l Refine test specifications progressively: Define & agree roles & responsibilities Prioritise tests based on risks l Plan based on priorities & constraints l Design flexible tests to fit Use appropriate techniques & patterns Define & measure l Allow appropriate script format(s) test coverage Use appropriate tools l Use synthetic + lifelike data Allow & assess for coverage changes Document execution & management procedures Optimise efficiency Distinguish problems from change requests Measure progress & problem significance Prioritise urgency & importance Quantify residual risks & confidence Distinguish retesting from regression testing © 29
  • 30. September 2007 Neil Thompson Conflicting interpretations of these principles Next diagram will take each box from the previous diagram and as sess it on a formal-informal continuum, so... In preparation for this: what do we mean by “formality”? • adherence to standards • consistency and/or proprietary • contracted-ness methods • trained-ness and • detail certification of staff • amount of • “ceremony”, eg degree documentation to which tests need to • scientific-ness be witnessed, results • degree of control audited, progress • repeatability reported • any others? © 30
  • 31. September 2007 2b Neil Thompson Good practices in this context (CONFLICT RESOLUTION lower level) We’re too • THEY ARE LEVELS, All systems are integrated from parts Use a lazy to think NOT STAGES • SOME SPECS ARE waterfall OUT OF DATE / IMPERFECT, We want baselines to test against BUT WE COPE V-model APPROPRIATE We want to test viewpoints of: • NEED NOT BE 1-1 CORRESP USE OF • users SPECS-LEVELS • someone expert & independent V-model: • designers • NEED NOT BE 4 LEVELS what testing • programmers Two heads are better than one against • MULTIPLE PARTIAL PASSES “Conflict” We’re doing iterative development Different levels mitigate different risks We’re doing adaptive development (no specs) • CAN USE EXPLORATORY Documentation must be minimised We have little time TESTING AGAINST CONSENSUS BASIS Don’t We’re object-oriented • V-MODEL IS IMPLICIT IN BINDER’S BOOKTesting OO systems: models, use a patterns & tools V-model V-model is MANY PEOPLE We want to discredited STAND BY V-MODEL be trendy, anyway © 31
  • 32. September 2007 3 What “appropriate” means in this context Neil Thompson (FUTURE REALITY) The system has: • users Our user requirements • (potentially) expert & independent testers are out of date and • designers (where significant) were vague when written • programmers We do have a good functional spec and independent testers available Our system is very simple We do need separate development & acceptance V-model with test levels • NEED NOT BE 4 LEVELS only 3 levels: We don’t need a l acceptance (v. consensus) separate l system (v. spec) integration test level l unit (informal) Our programmers hate documentation © 32
  • 33. September 2007 And so on… overall what we have done is Neil Thompson deconstruct then reconstruct: the framework is a “meta-V-model” Choice All possible CONFLICT RESOLUTION TRANSITION categories contexts upper upper & actions Your context CURRENT TRANSITION REALITY Choices lower CONFLICT Each practice PRE- Questions to RESOLUTION to examine REQUISITES consider lower FUTURE FUTURE REALITY REALITY What “appropriate” © 33 means in your context
  • 34. September 2007 Neil Thompson Conclusions • Summary: – Toyota’s success (and penetration of Just In Time) – “The Goldratt Trilogy”: • 1. Things that flow through a process: inventory, value • 2. Constraints on process, and thinking tools to improve • 3. From process improvement to process definition, eg context- driven • Lessons learned: – three papers are enough? • Take away: – read references – Dettmer is key • Way forward: – examples! © 34
  • 35. September 2007 Neil Thompson Key references • Context-Driven: – Kaner, Bach & Pettichord (2002) Lessons learned in software testing, Wiley • Best Practice: – ISEB, ISTQB?? • My inspiration: – Jens Pas (EuroSTAR 1998) Software testing metrics – Gregory Daich (STAREast 2002) Software documentation superstitions • Theory of Constraints understanding: – Eliyahu M. Goldratt (1984 then 1992 with Jeff Cox) - The Goal; (1986 with R. Fox) The Race; (1997) Critical Chain • TOC overview and the thinking tools: – H. William Dettmer (1997) Goldratt’s TOC: a systems approach to cont. improv’t, ASQ • Related (but differently-specialised) thinking from Agile community: – Alistair Cockburn: A methodology per project, www.crystalmethodologies.org – Mary Poppendieck: Lean development: an agile toolkit, © 35 www.poppendieck.com