whistle blowers | stop bad code on its tracks

1

Upload: vinod-kumaar-r

Post on 09-Jul-2015

250 views

Category:

Technology


1 download

DESCRIPTION

Presented at XP2013 conference at Vienna.

TRANSCRIPT

Page 1: Whistle blowers | Stop bad code on its tracks

Whistle blowers

Image courtesy of David Castello Dominici | FreeDigitalPhotos.net

Page 2: Whistle blowers | Stop bad code on its tracks

Habitability

Image courtesy of David Castello Dominici | FreeDigitalPhotos.net

Page 3: Whistle blowers | Stop bad code on its tracks

Culture

Image courtesy of David Castello Dominici | FreeDigitalPhotos.net

Page 4: Whistle blowers | Stop bad code on its tracks

Broken Window

Image courtesy of artur84 | FreeDigitalPhotos.net

Page 5: Whistle blowers | Stop bad code on its tracks

Fair play

Image courtesy of olovedog| FreeDigitalPhotos.net

Page 6: Whistle blowers | Stop bad code on its tracks

Discipline

Image courtesy of imagerymajestic| FreeDigitalPhotos.net

Page 7: Whistle blowers | Stop bad code on its tracks

Violations

Image courtesy of artur84 | FreeDigitalPhotos.net

Page 8: Whistle blowers | Stop bad code on its tracks

Referee

Image courtesy of David Castello Dominici | FreeDigitalPhotos.net

Page 9: Whistle blowers | Stop bad code on its tracks

Team Work

Image courtesy of ddpavamba | FreeDigitalPhotos.net

Page 10: Whistle blowers | Stop bad code on its tracks

Rot begins with a small step

Image courtesy of Robert Cochrane| FreeDigitalPhotos.net

Page 11: Whistle blowers | Stop bad code on its tracks

Big ball of mud

Image courtesy of http://www.flickr.com/photos/joka2000/

Page 12: Whistle blowers | Stop bad code on its tracks

Lazy developer

Image courtesy of papaja2008| FreeDigitalPhotos.net

Page 13: Whistle blowers | Stop bad code on its tracks

Rush Hour

Image courtesy of twobee| FreeDigitalPhotos.net

Page 14: Whistle blowers | Stop bad code on its tracks

Stuck to the routine

Image courtesy of Renjith Krishnan| FreeDigitalPhotos.net

Page 15: Whistle blowers | Stop bad code on its tracks

Common Problems

Image courtesy of Renjith Krishnan| FreeDigitalPhotos.net

Page 16: Whistle blowers | Stop bad code on its tracks

Duplicate Code

Image courtesy of Stuart Miles| FreeDigitalPhotos.net

Page 17: Whistle blowers | Stop bad code on its tracks

Long methods and classes

Image courtesy of Akeeris| FreeDigitalPhotos.net

Page 18: Whistle blowers | Stop bad code on its tracks

Poor test coverage

Image courtesy of Jscreationzs | FreeDigitalPhotos.net

Page 19: Whistle blowers | Stop bad code on its tracks

Procedural Code

Page 20: Whistle blowers | Stop bad code on its tracks

Dev Huddles

Image courtesy of Danilo Rizzuti| FreeDigitalPhotos.net

Page 21: Whistle blowers | Stop bad code on its tracks

What is the solution?

Image courtesy of Renjith Krishnan| FreeDigitalPhotos.net

Page 22: Whistle blowers | Stop bad code on its tracks

Game of life

Page 23: Whistle blowers | Stop bad code on its tracks

Game of life

Page 24: Whistle blowers | Stop bad code on its tracks

Game of life

Page 25: Whistle blowers | Stop bad code on its tracks

Few Simple rules

Page 26: Whistle blowers | Stop bad code on its tracks

Few simple rules

– No duplicate code

– Method length not more than 12

– Npath complexity not more than 5

– Path Coverage not < 95 & Branch Coverage not < 80

Page 27: Whistle blowers | Stop bad code on its tracks

Human

Image courtesy of phanlop88| FreeDigitalPhotos.net

Page 28: Whistle blowers | Stop bad code on its tracks

Machine

Page 29: Whistle blowers | Stop bad code on its tracks

Fail on violation – Blow the whistle

Image courtesy of artur84 | FreeDigitalPhotos.net

Page 30: Whistle blowers | Stop bad code on its tracks

Did it work?

Image courtesy of Paul| FreeDigitalPhotos.net

Page 31: Whistle blowers | Stop bad code on its tracks

Didn’t people override settings?

Image courtesy of Chanpipat| FreeDigitalPhotos.net

Page 32: Whistle blowers | Stop bad code on its tracks

Learnings

Image courtesy of Digital Art| FreeDigitalPhotos.net

Page 33: Whistle blowers | Stop bad code on its tracks

Lombok

Page 34: Whistle blowers | Stop bad code on its tracks

LambdaJ

Page 35: Whistle blowers | Stop bad code on its tracks

Tools Used

Page 36: Whistle blowers | Stop bad code on its tracks

Summary

• Small changes can produce big results...but the areas of highest leverage are often the least obvious. –Peter Senge, “The Fifth Discipline”