Feedback Loops for Software Delivery and how to become 6 orders of magnitude more productive Gojko Adzic | @gojkoadzic | https:/ /gojko.net | Software Craftsmanship London 2019
Is it working? instapoll.me/992
Studied electrical engineering? instapoll.me/993
Feedback loops allow us to control systems with very complex dynamics using something much much simpler
video by EAA museum
Glenn H. Curtiss Museum
Feedback loops allow us to control systems with very complex dynamics stuff we don't fully understand using something much much simpler with stuff that fits into our heads
ConvertFileFunction: Type: AWS::Serverless::Function Properties: DeploymentPreference: Type: Linear10PercentEvery10Minutes Alarms: - !Ref CheckForLambdaErrors - !Ref CheckForDropInSales - !Ref CheckForDropInConversion Hooks: PreTraffic: !Ref ClearStatistics PostTraffic: !Ref NotifyAdmins
The principle of feedback: Base correcting actions on the difference between desired and actual performance Feedback Systems, K. Aström, R. M. Murray
A £75m “Agile” BBC IT project has evaded scrutiny because managers could make up the benefits as they went along... https://www.theregister.co.uk/2016/05/10/nao_bbc_projects_agile/
A loop without feedback is just RUNNING IN CIRCLES !
TDD leads to good design instapoll.me/996
we tried TDD but... » tests were hard to write » tests are too slow » the architecture/design still ended up bad
Scrum's not working... ...we still have all these problems...
http:/ /buzz.money .cnn.com/2012/08/02/knight-trading-loss/
Feedback without an action is not a loop! It's bad news.
Experts are fine with feedback ... Beginners need actionable advice
Drawbacks of feedback loops » create inherent coupling between parts of a system » can introduce instability if not designed properly » cost and complexity of embedding sensing and actuation Feedback Systems, K. Aström, R. M. Murray
Beware of coupling things through feedback! https:/ /www.wired.co.uk/article/revolut-trade-unions-labour-fintech-politics-storonsky
“People are good at tailoring their behavior to things they are measured against” Cem Kaner Don’t Use Bug Counts to Measure Testers, ST&QE 1999, http:/ /kaner.com/pdfs/bugcount .pdf
Instability » measuring the wrong thing » measuring the right thing in a bad way » long loops, delays and oscillations » runaway behaviour
Do you run A/B tests in production? instapoll.me/997
“162 - 480 LOC per staff month” Capers Jones - Economics of Software Quality
https:/ /ieeexplore.ieee.org/document /6127846
The value of measuring a variable is usually inversely proportional to how much measurement attention it usually gets Measurement inversion, Douglas Hubbard - How to measure anything
People measure crap that's easy, not stuff that's valuable
Do you use automated client-side error tracking (Sentry, Rollbar, crash analytics...)? instapoll.me/994
Answer Responses Not tracking errors 53% Web analytics 15% Sentry 15% TrackJS 4% Rollbar 3% https:/ /gojko.net /assets/201802-js-research.pdf
How frequently do you observe actual users working with your software? instapoll.me/995
https:/ /gojko.net /2016/03/14/most-important-lesson/
The faster the feedback, the more intuitive the controls
not possible ⇒ expensive but... does it inform an important decision?
Recommend
More recommend