Feedback Loops for Software Delivery and how to become 6 orders of - - PowerPoint PPT Presentation

feedback loops for software delivery
SMART_READER_LITE
LIVE PREVIEW

Feedback Loops for Software Delivery and how to become 6 orders of - - PowerPoint PPT Presentation

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?


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Is it working?

instapoll.me/992

slide-3
SLIDE 3
slide-4
SLIDE 4

Studied electrical engineering?

instapoll.me/993

slide-5
SLIDE 5
slide-6
SLIDE 6

Feedback loops allow us to control

systems with very complex dynamics

using something much much simpler

slide-7
SLIDE 7

video by EAA museum

slide-8
SLIDE 8

Glenn H. Curtiss Museum

slide-9
SLIDE 9

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

slide-10
SLIDE 10
slide-11
SLIDE 11

ConvertFileFunction: Type: AWS::Serverless::Function Properties: DeploymentPreference: Type: Linear10PercentEvery10Minutes Alarms:

  • !Ref CheckForLambdaErrors
  • !Ref CheckForDropInSales
  • !Ref CheckForDropInConversion

Hooks: PreTraffic: !Ref ClearStatistics PostTraffic: !Ref NotifyAdmins

slide-12
SLIDE 12

The principle of feedback:

Base correcting actions on the difference between desired and actual performance

Feedback Systems, K. Aström, R. M. Murray

slide-13
SLIDE 13

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/

slide-14
SLIDE 14

A loop without feedback is just RUNNING IN CIRCLES!

slide-15
SLIDE 15

TDD leads to good design

instapoll.me/996

slide-16
SLIDE 16

we tried TDD but...

» tests were hard to write » tests are too slow » the architecture/design still ended up bad

slide-17
SLIDE 17

Scrum's not working...

...we still have all these problems...

slide-18
SLIDE 18

http:/ /buzz.money .cnn.com/2012/08/02/knight-trading-loss/

slide-19
SLIDE 19

Feedback without an action is not a loop! It's bad news.

slide-20
SLIDE 20

Experts are fine with feedback

...

Beginners need actionable advice

slide-21
SLIDE 21

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

slide-22
SLIDE 22

Beware of coupling things through feedback!

https:/ /www.wired.co.uk/article/revolut-trade-unions-labour-fintech-politics-storonsky

slide-23
SLIDE 23

“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

slide-24
SLIDE 24

Instability

» measuring the wrong thing » measuring the right thing in a bad way » long loops, delays and oscillations » runaway behaviour

slide-25
SLIDE 25

Do you run A/B tests in production?

instapoll.me/997

slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28

“162 - 480 LOC per staff month”

Capers Jones - Economics of Software Quality

slide-29
SLIDE 29

https:/ /ieeexplore.ieee.org/document /6127846

slide-30
SLIDE 30

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

slide-31
SLIDE 31

People measure crap that's easy, not stuff that's valuable

slide-32
SLIDE 32

Do you use automated client-side error tracking (Sentry, Rollbar, crash analytics...)?

instapoll.me/994

slide-33
SLIDE 33

Answer Responses Not tracking errors 53% Web analytics 15% Sentry 15% TrackJS 4% Rollbar 3%

https:/ /gojko.net /assets/201802-js-research.pdf

slide-34
SLIDE 34

How frequently do you observe actual users working with your software?

instapoll.me/995

slide-35
SLIDE 35

https:/ /gojko.net /2016/03/14/most-important-lesson/

slide-36
SLIDE 36

The faster the feedback, the more intuitive the controls

slide-37
SLIDE 37

not possible ⇒ expensive

but... does it inform an important decision?

slide-38
SLIDE 38