Post on 29-Jan-2018
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/