Presentasjon til temakveld for Visma Consulting:Specification by example med Gojko Adzic

Post on 13-Dec-2014

210 views 1 download

description

Presentasjon til temakveld for Visma Consulting. Om temaet: Specification by example er relevant for testere, arkitekter og utviklere. Det handler om å unngå funksjonelle gap og inkonsistens mellom spesifikasjoner og tester. Ved å utvide spesifikasjoner med eksempler lager man en ”single source of truth” for både utvikling og test, og ved å automatisere spesifikasjonene muliggjør man automatisert akseptansetestin

transcript

Agile approach to quality

Gojko Adzichttp://gojko.net

gojko@gojko.com@gojkoadzic

Plan for today

● How teams often get stuck● Three key techniques to improve● How they help● Adoption strategy● Q&A

Real problems

● slow feedback● huge amount of time wasted● low visibility of stuff coming through

the pipeline● lack of shared understanding● different risk checks are tightly

coupled

Unpicking water-scrum-fall

●optimise the whole pipeline

●remove information bottlenecks

●shorten feedback loops

Our job is not to develop, test, manage, analyse....

Our job is to get the right software

shipped faster tomorrow than

today!

Optimise the whole pipeline

● Push work away from bottlenecks● Kill scope creep● Kill the telephone game● Focus on valuable work

● Get a shared understanding of risk● Get a shared definition of quality● Kill synchronisation work, several sources of truth● Drop software that did not succeed

Remove information bottlenecks

● Teach / share domain knowledge

● Build and publish relevant documentation

● Visualise risk

Shorten feedback loops

● Decouple inspecting different risk categories

● Automate so tests are fast and maintainable

● Move from confidence to evidence

Benefits?

● Shorter time to market – often by 3 or 4 times

● Much higher levels of quality

Three key techniques

Impact Mapping

Impact Mapping

Optimise the whole pipeline

● Push work away from bottlenecks● Kill scope creep● Kill the telephone game● Focus on valuable work

● Get a shared understanding of risk● Get a shared definition of quality● Kill synchronisation work, several sources of truth● Drop software that did not succeed

Shorten feedback loops

● Decouple inspecting different risk categories ● Automate so tests are fast and maintainable ● Move from confidence to evidence

Collaborate on specifications

Illustrate requirements using examples

Refine into specifications

Automate without changing

= Executable specifications

From “Agile Testing” Crispin/Gregory

Ports & adapters

From “Growing Object Oriented Software” Pryce/Freeman

Optimise the whole pipeline

● Push work away from bottlenecks● Kill scope creep● Kill the telephone game● Focus on valuable work

● Get a shared understanding of risk● Get a shared definition of quality● Kill synchronisation work, several sources of

truth● Drop software that did not succeed

Remove information bottlenecks

● Teach / share domain knowledge● Build and publish relevant documentation● Visualise risk

Shorten feedback loops

● Decouple inspecting different risk categories

● Automate so tests are fast and maintainable ● Move from confidence to evidence

ACC Matrix

ACC Matrix

http://bit.ly/accMatrix

Optimise the whole pipeline

● Push work away from bottlenecks● Kill scope creep● Kill the telephone game● Focus on valuable work

● Get a shared understanding of risk● Get a shared definition of quality● Kill synchronisation work, several sources of truth● Drop software that did not succeed

Remove information bottlenecks

● Teach / share domain knowledge● Build and publish relevant documentation● Visualise risk

Shorten feedback loops

● Decouple inspecting different risk categories ● Automate so tests are fast and maintainable ● Move from confidence to evidence

Shorten feedback loops

● Decouple inspecting different risk categories ● Automate so tests are fast and maintainable ● Move from confidence to evidence

Adoption

● Get the entire team together● Visualise the pipeline● Choose your #1 problem● Decide on solution together● Treat it as an experiment● Rinse & Repeat!