Understanding Waste in Software Chris B. Behrens SOFTWARE ARCHITECT - - PowerPoint PPT Presentation

understanding waste in software
SMART_READER_LITE
LIVE PREVIEW

Understanding Waste in Software Chris B. Behrens SOFTWARE ARCHITECT - - PowerPoint PPT Presentation

Understanding Waste in Software Chris B. Behrens SOFTWARE ARCHITECT @chrisbbehrens The Seven Wastes of Manufacturing 1. Delay 2.Overproduction 3.Overprocessing 4.Transportation 5.Unnecessary movement 6.Inventory 7.Defects Partially Done


slide-1
SLIDE 1

@chrisbbehrens

SOFTWARE ARCHITECT

Chris B. Behrens

Understanding Waste in Software

slide-2
SLIDE 2

The Seven Wastes of Manufacturing

  • 1. Delay

2.Overproduction 3.Overprocessing 4.Transportation 5.Unnecessary movement 6.Inventory 7.Defects

slide-3
SLIDE 3

Inventory waste

Partially Done Work

The team did great work But was constantly

  • verstressed

and behind schedule A problem executive

slide-4
SLIDE 4

Churn In Requirements

The exec should keep their beak out of the work But the review often did improve the design The problem was WHEN the review

  • ccurred

Shifting the timing of the review should have been easy… But the company wasn’t optimizing for the whole And it wasn’t Respecting People

slide-5
SLIDE 5

Incomplete Software Work

Continuous Integration – preventing the waste of non-integrated code Continuous Deployment – preventing the waste of non-deployed code Continuous Whatever – testing, documentation, whatever

slide-6
SLIDE 6

Extra Features

slide-7
SLIDE 7

You ain’t gonna need it

YAGNI

https://martinfowler.com/bliki/Yagni.html

slide-8
SLIDE 8

Cost of delay Cost of carry Cost of repair Cost of building

The Costs of YAGNI

slide-9
SLIDE 9

Features and Costs Wrong feature Right feature, built wrong Right feature Building Repair Carry Delay

slide-10
SLIDE 10

My Missing Abstraction Layer

Where does my abstraction layer fall? It WAS the wrong feature… But we didn’t know that at the time How hard is it to refactor? User concurrency would have made it necessary In the end, I think it wasn’t an extra feature

slide-11
SLIDE 11

Code from a year ago

Relearning

I recognize this What is this dark magic? Sometimes, the subject matter expert is not available

slide-12
SLIDE 12

Handoffs

slide-13
SLIDE 13

Handoffs and the Game of Telephone

Information is lost at each step

  • Front line of communications
  • Consultant
  • Manager
  • Developer

Phone support Admin tools for support I called the customer directly Otherwise, back to the manager

  • To the intern
  • Back to the customer
slide-14
SLIDE 14

Handoffs

slide-15
SLIDE 15

Handoffs

slide-16
SLIDE 16

Nobody can multitask

Task Switching

When you add up the time to perform tasks… Almost always more efficient performed serially Only audiobooks and exercise

slide-17
SLIDE 17

“But I’m good at multitasking!”

slide-18
SLIDE 18

“...even brief mental blocks created by shifting between tasks can cost as much as 40 percent of someone's productive time.”

Multitasking: Switching costs https://www.apa.org/research/action/multitask

slide-19
SLIDE 19

Task switching is costly

Task Switching Functions

Even this underestimates the cost of rework In the meantime, the partially completed work is waste

slide-20
SLIDE 20

Phase Ones

slide-21
SLIDE 21

Easier to see, anyhow Standardize! Automate! For authorization For information Waiting for approval

Delays

slide-22
SLIDE 22

The Riddle of the Bridge

1 minute 2 minutes 5 minutes 10 minutes

1. Tom and Roy – 10 minutes 2. Tom back – 1 minute (11 minutes total) 3. Tom and George – 5 minutes (16 minutes total) 4. Tom back – 1 minute (17 minutes total) 5. Tom and Jeff – 2 minutes (19 minutes) 1. Tom and Jeff – 2 minutes 2. Tom back – 1 minute (3 minutes total) 3. George and Roy – 10 minutes (13 minutes total) 4. Jeff back – 2 minute (15 minutes total) 5. Tom and Jeff – 2 minutes (17 minutes)

slide-23
SLIDE 23

Single Sign On

A Delay War Story

Users would log onto their company website And be logged into my site without entering their credentials The crypto was challenging initially, but I figured it out Now we just need to order the certs

slide-24
SLIDE 24

Finally, after two months, we had the certificates We had to sell new people on the project Their process took thirty days (by design) A few days later… Find the point of contact

The Certificate Process

slide-25
SLIDE 25

Defects

A car that doesn’t run, a badly manufactured part All of the forms of waste can accrue to defects Eliminating defects is like pursuing speed – a purifying force

slide-26
SLIDE 26

Continuous Deployment

Check-in triggers a build

  • Automated testing
  • Autogenerated documentation
  • Deployment to Production

“How can you deploy without having tested it?

slide-27
SLIDE 27

Who, What, and When

We don’t inspect to find defects, we inspect to prevent defects 100% test coverage Build scans for security problems

slide-28
SLIDE 28

Unless you’re both slackers Pair programming will stop this A lousy test that satisfies coverage

Pointless Test Coverage

slide-29
SLIDE 29

Now that stuff has to pass the larger suite of automated unit and integration tests against pseudo-production data

So they approve your garbage code and your garbage tests

Maybe these senior developers are slackers, too The changes are reviewed by senior developers

A PR build validates that the merged code will at least compile Once your work is complete on a branch, you create a pull request

Pointless Test Coverage

slide-30
SLIDE 30

AS-204

A plugs-out test

  • The umbilicals disconnected from the

capsule

  • The internal atmosphere overpressurized

to reflect the relative pressures in space Roger Chafee, Ed White and Gus Grissom Apollo 1

slide-31
SLIDE 31

“A Failure of Imagination”

Astronaut Frank Borman Anticipated problems all happened at launch or in space Are there defects in your code?

  • “Yes”
  • “I can’t imagine”

Are you good at imagining failure in your code? People, process and automation

slide-32
SLIDE 32

t h s

Eliminate waste The wastes are the inverse of principles

  • Extra features -> Defer commitment
  • Relearning -> Create Knowledge
  • Defects -> Build Quality In

The Seven Wastes

  • Partially Done Work
  • Extra Features
  • Relearning
  • Handoffs
  • Task Switching
  • Delays
  • Defects

Summary