Agile Tour Shanghai December 2011

Post on 29-Jan-2018

460 views 2 download

Transcript of Agile Tour Shanghai December 2011

Sustainable Software Development

(Technical Practices Really Do Matter)

Alistair McKinnell@amckinnell

I ❤Scrum

VersionOne: http://www.versionone.com/state_of_agile_development_survey/10/

“Scrum is not a process ora technique for building products;

rather, it is a framework withinwhich you can employ various

processes and techniques.”

Scrum Guide

State of Agile Survey 2010

VersionOne: http://www.versionone.com/state_of_agile_development_survey/10/

http://tech.groups.yahoo.com/group/scrumdevelopment/message/52553

http://tech.groups.yahoo.com/group/scrumdevelopment/message/52553

I Promise

http://tech.groups.yahoo.com/group/scrumdevelopment/message/52553

I Promise

To Read

http://tech.groups.yahoo.com/group/scrumdevelopment/message/52553

I Promise

To Read

Jeff Sutherland’s Message

Technical Debt

The Long Function

“Every year I spend more onR & D and I get less”

6,000 lines

120 pages

25 metres

Tiny Code Smells

Reducing Variable Scope

bStatus =

bool bStatus;

if (! continue;

SomeFunction()bStatus)

(250 lines)

;

bStatus =bool bStatus;

if (! continue;

bStatus)SomeFunction();

bStatus =boolif (! continue;

bStatus)SomeFunction();

if (! continue;

)SomeFunction()

Role Based Variable Name

CComBstr sVal;

CComBstr calibrationToolName;

Simplify Conditional Logic

vecToolEleCaliGuids.end())

else break;B

} break;A bFound = true;{

(iterToolEleCali ==if

vecToolEleCaliGuids.end())

else} break;A bFound = true;{

(iterToolEleCali ==if

} break;B bFound = false;{

vecToolEleCaliGuids.end())

else} bFound = true;{

(iterToolEleCali ==if

}break;

bFound = false;{

vecToolEleCaliGuids.end())bFound =(iterToolEleCali ==

break;;

“Leave the campgroundcleaner than you found it”

The Boy Scout Rule

“Leave thechecked-in code

cleaner than when you

checked it out”

The Boy Scout Rule (For Programmers)

Technical Debt

www.XProgramming.com

Pair Programming

Simple Design

Software Craftsmanship

8 Pillars of SoftwareCraftsmanship

! Care

! Learn

! Practice

! Share

Prepared exclusively for Alistair McKinnell Copyright ©2011 Pragmatic Programmers

“The prime directive that was unanimously agree upon by allpresent was that in the nexttens years Agile leaders must

Demand Technical Excellence.”

Jeff Sutherland

“The prime directive that was unanimously agree upon by allpresent was that in the nexttens years Agile leaders must

Demand Technical Excellence.”

Jeff Sutherland

“Failure to do that meansyou are not an Agile leader.”

Jeff Sutherland

Photo Credits

http://www.flickr.com/photos/54087404@N00/4638056301/

http://www.flickr.com/photos/36829973@N04/3546657245/

http://bsatroop174.tripod.com/

http://www.hostingwiththemostzing.com/?p=12

http://www.flickr.com/photos/54087404@N00/4638056301/

http://www.flickr.com/photos/42644641@N07/5702962303/

http://www.flickr.com/photos/49016492@N08/4534101229/

http://www.flickr.com/photos/59707463@N00/1312377396/