After continuous integration there is continuous validation - Hylke Stapersma & Niels Talens

Preview:

Citation preview

After continuous integration there is

continuous validationHylke Stapersma & Niels Talens

Hylke Stapersma Software craftsman

@hylke1982

getgareth.io

Niels Talens Agile consultant

@nielstalens

getgareth.io

Building the things right

Software craftsmanship, Agile, DevOps, Automation, ATDD, Docker, SAFe, Cucumber, Kanban, Puppet, Continuous Delivery, Less, Microservices, Unikernels, Big data, Scrum, Chef, Jenkins, Continuous improvement, Lean six sigma, Product ownership, Minimal viable products, Concourse, Robot framework, Selenium, Reactive programming, Karma, Continuous delivery, Xp, Mongo

Where we focus on...

...where we often end up

Are we building the right things? For that we need...

ObjectivesBusiness case,

Product vision,

Impact mapping,

A lot of assumptions,

Business case

Product vision

Roadmap/backlog Minimal Viable Product Development

Impact map

Validation

Objectives Input Output Outcomes

Continuous validation

Outcomevalidation

Did we achieve our goals?

Were our assumptions right?

Are our previous assumptions right?

Great way to communicate with stakeholders,

No no-impact features,

Create evidence based decisions.

Are our assumptions right?

Eliminate unused features

Continuous validation is not A/B testing

Build the right things rightWhy choose?

Meet Gareth......he’s seriously unpleasant

Meet GarethSeriously unpleasant

Open-Source

Validation of the WHY

Inspired by Cucumber

Facilitates collaboration

Written in Java, but ambition to implement more languages

Objective phase

Define future goals

Formulate a hypothesis

Every objective can be defined as experiment

Define experiments in a structured manner

Backlog refinement

Objective phase

Input phaseRefine your experiment

Every role can give input for an experiment

Achieve better understanding for goals for every role

Backlog refinement

Output phaseCreate a lab for your experiments

Define glue (code) that runs your experiments

Define fail/success actions

Output phase

Outcome phase

Running your experiment

Validate your hypothesis

Perform success/failed action

And act...

DEMO

Create experiment• Plain text / readable for everybody• Structured• Result actions

Refine experiment• Get input from different roles• More process than tool (continuous validation

concept)

Define code for experiment• Glue code• Structure of experiment• Act

Run experiment• Validate your hypothesis• Perform success/failed action

How can you contribute• Use Gareth and gives us feedback

• Contribute code

• Spread the word

• http://getgareth.io/

Conclusions• Build the right things AND build the things

right

• Automate the validation of goals

• Use a structure that is understandable for everybody

Recommended