safety nets with fast feedback loops | jani haapala 2016-10
TRANSCRIPT
© Qentinel Group 2016 PUBLIC
Measurement vs Feedback
Measurement:
• Weight, speed or temperature don’t tell much alone
Feedback:
• Weight + time of the day + diet = healthier life
• Speed + route planning + traffic data = arrive on time
• Temperature + time of the year + weather forecast = good
nights sleep
© Qentinel Group 2016 PUBLIC
What is measurement?
• Only one data point
• The measure of one quantity
• Normally irrelevant alone
• Input for something meaningful
• Hard to interpret or use alone
• Very prone to misinterpretations
© Qentinel Group 2016 PUBLIC
Feedback
• Refined and relevant information in selected context
(”Feedback loop”)
• Usually a sum of several measurements
• Should regulate the doing
• Provides meaningful information for the feedback follower
• Adjusts the process or system through measurements
© Qentinel Group 2016 PUBLIC
How to choose feedback?
• Should always be based on a paradigm (How the world
works? What should we be? How to make the world a
better place?)
• To get into a paradigm, one must set goals (How can I
reach my goals?)
• Those goals should be measured with feedback (Where
am I now in my journey towards my goals))
© Qentinel Group 2016 PUBLIC
Why increase speed with automation?
• Human evolution causes humans to think only linearly
• Digitalization causes the speed to be exponential
• Automation enables humans to keep up with this
exponential speed
• Example of exponential growth:
–Today 2 bugs, tomorrow 4 bugs, by end of the week
128 bugs!
© Qentinel Group 2016 PUBLIC
Possibilities of automation
• To create sensors for various measurements
• To gather colossal amounts of data
• To process that colossal amount of data
• To provide real time feedback
© Qentinel Group 2016 PUBLIC
Pitfalls of automation
• You have too much information
• You have too many measurements
• You gather too much data
• You measure what is easy to measure rather than
measuring what you actually need
• Defects are not corrected as soon as the warning signs
appear. (See the exponential growth example)
© Qentinel Group 2016 PUBLIC
Note!
• Measure what you use and use what you measure
• When you need to do the same task for the third time,
automate it!
• Instead of measuring the increased doing, measuring the
reduced waste is more efficient
• Reducing the waste is usually cheaper than increasing the
doing
© Qentinel Group 2016 PUBLIC
History of feedback
• Previously popular form of feedback, reporting, did always
provide outdated view of the system.
• Today’s form of feedback, dashboards, provide real time
snapshot of the system
• Future form of feedback, trends, will forecast the future of
the system
© Qentinel Group 2016 PUBLIC
Heartbeat?
• All systems have a rhythm (”heartbeat”) unique to that system
• Defines the fastest response time that the system can react to
change
• Examples for heartbeats:
– Hummingbird: n/sec
– City: 1/day
– Scrum: 1/day + 1/sprint
– Earth: 1/year
© Qentinel Group 2016 PUBLIC
Feedback and heartbeat
• Feedback is useful only when it matches the heartbeat of
the system
• Too fast or too slow feedback makes the system oscillate
until it breaks
• Feedback with a heartbeat of 1/day is irrelevant and
useless for a system with a heartbeat of 1/quarter year
• Similarly, excessively slow feedback is useless
© Qentinel Group 2016 PUBLIC
Types of feedback
• Three main types: increasing, decreasing and balancing
• In population growth, the birth rate is the increasing factor
• In price declining, the number of competitors is the
decreasing factor
• In controlling the temperature, a thermostat is the
balancing factor
© Qentinel Group 2016 PUBLIC
Note!
• System feedback dominance can change by its own
• It can be very confusing moment when the dominance
changes
• Example:
– A hot dog stand sells hot dogs and earns money. The
more they sell hot dogs, the more money they get
(increasing). At some point the oversupply drops the
price (balancing) and the profits go down.
© Qentinel Group 2016 PUBLIC
Safety nets
Unit tests
Smoke Test Set
Full Test Set
Release Tests
Release Actions
Build product
Static checks
Every commit
0 min
+ 5 min
+ 2 h
+ 1 h
+ 10 min
+ 5 min
+ 1 min
Development Environments
© Qentinel Group 2016 PUBLIC
Why have safety nets?
• Nobody makes bad decisions
• Decision interpret as bad is only the result of lacking the
relevant information
• When the responsibilities of the developers are
overloading with excessive speed in agile (DevOps), it
usually leads to unwanted defects (Dev-Ooops)
© Qentinel Group 2016 PUBLIC
DevOps?
• Mainly a trend word for Continuous Integration (CI) /
Continuous Delivery (CD)
• CI / CD should include tasks of making “pipelines”
– Pipelines should include all phases of development
– Pipelines form one complete system
– Pipelines must utilize automation
– Pipelines create safe and reliable distribution
systems
© Qentinel Group 2016 PUBLIC
Safety nets for software development
• Creates a series of fast feedback channels to software developers
• Brings visibility to stakeholders
• Utilizes the power of slowing feedback cycles
• Early bug and defect detection
• Harmonizes the processes and increases the communication
• Shows the assumptions that have been made based on
specifications (the decisions that were needed but were not
described in the specifications)
© Qentinel Group 2016 PUBLIC
Safety nets for environments
• Bears part of the teams’ responsibilities
• Helps in SecOps’ side (automatic security checks and
controlled environments)
• Enables the team to test different technologies before
taking them into use safely and in scalable manner
• Provides means of verification for the teams
• Provides environments
© Qentinel Group 2016 PUBLIC
CAQFL
• .Model is in continuous use.
The phases of the process are automated and manual
work is minimized.
Achieving a significant improvement in quality that brings a
competitive edge.
Feedback is received right after every change.
Continuous improvement within and between each stages.
© Qentinel Group 2016 PUBLIC
CAQFL?
• Core ideology behind quality automation:
Constantly in use
Always running
Quality focused system
Focuses in relevant and meaningful information
Loops the feedback into correct places automatically
© Qentinel Group 2016 PUBLIC
Quality as a service, QaaS?
• For this we have Qentinel Pace service
• No commitment on tools that age but instead using the
state of the art open source solutions
• Focus on visualizing, producing and increasing the value
• Gathers good practises and solutions from all customers
and utilizes with all customers
• For more information, contact [email protected] or