SlideShare a Scribd company logo
ColdFusion	Craftsmanship	
Kev	McCabe	
Agile	Coach	&	Code	Smith	
Red	Giraffes	
ColdFusion	Summit	2016	
Monday	10th	October	2016	 1
2
Agile Software Development
We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
3
The	invisible	threat	
Code
quality
Time per
feature
4
Manifesto for Software Craftsmanship
raising the bar
As aspiring Software Craftsmen we are raising the bar of professional software
development by practising it and helping others learn the craft. Through this
work we have come to value:
Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
5
What	is	Software	Craftsmanship?	
		
Software	Craftsmanship	is	all	about	putting	
responsibility,	professionalism,	pragmatism	and	
pride	back	into	software	development	
6
7
Adding	value	through	practice	
  Automated	testing	
  Test	first	
  Test-Driven	Development		
  Pair-programming	
  Continuous	Integration	
8
Mastering	the	practices	is	hard	…		
	
…	and	that's	why	we	practice	
9
Perfect	practice	
	 	(narrowing	the	gap)	
10
Software	Craftsmanship	Attitude	
  Owning	your	career	
  Not	a	9	to	5	Profession	
  Practice	
  Boy	Scout	Rule	
  Expecting	Promotions	
11
Keep	Learning	
 Learn	stuff	all	the	time	
 Small	and	often	
 You	don’t	want	to	be	out	of	work	and	having	a	
large	learn	curve	
 Learning	is	remembering	what	is	important	
12
Big	Learning	Curve	
13
Small	and	Often	
14
15	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
16	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
17	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
18	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
19	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
20	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
21	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
22	
From	Introducing	Delivery	Mapping	
by	Chris	Matts	&	Dan	North
People	Liquidity	
 Don’t	be	an	i	shaped	person	
 be	a	T	shaped	person	
 or	even	better	a	M	shaped	person	
23
Seniority	is	subjective	and	transient	
24
The	attitude	towards	legacy	code	
25
Why	would	we	want	to	be		
better	developers?	
26
Craftsmanship	is	not	enough	to	guarantee	
the	success	of	a	project	but	the	lack	of	it	can	
be	the	main	cause	of	its	failure	
27
 Agile	and	Craftsmanship	complement	each	other	and	
both	are	necessary.	
 Agile	processes	assume	technical	excellence	and	a	
professional	attitude.	
 Software	Craftsmanship	takes	technical	excellence	and	
professionalism	to	a	whole	new	level.	
28
Clean	Code	
 Meaningful	Names	
 Short	Functions	
▪  Single	Responsibility	Principal	
▪  Minimal	Arguments	
 Show	intent	
▪  No	need	for	comments	
 Formatting	
 Unit	Testing	
29
Comments	
 Inappropriate	Information	
 Obsolete	Comment	
 Redundant	Comment	
 Poorly	Written	comments	
 Commented-Out	Code	
30
Functions	
 Too	Many	Arguments	
 Flag	Arguments	
 Dead	Functions	
 Do	one	thing	and	one	thing	only	
31
Names	
 Choose	Descriptive	Names	
 Long	names	for	long	scopes	
 Avoid	Encodings	
32
General	
 Multiple	languages	in	files	
 Obvious	Behaviour	Is	Unimplemented	
 Duplication	
 Duplication	
 Vertical	Separation	
 Inconsistency	
 Magic	Numbers	
33
General	
 Positive	Conditions	
 Encapsulate	Conditions	
34
Code	Reviews	
35
Code	Layout	Matters	
 Easy	to	scan	
 Expressive	layout	
 Compact	format	
 Code	is	written	once	and	Read	∞	
36
37
 How	do	we	know	we	are	building	the	
right	thing?		
 How	do	we	know	we	are	building	the	
thing	right?	
38
Testing	
 TDD	–	Test	Driven	Development	
 BDD	–	Behaviour	Driven	Development	
▪  AKA:	Acceptance	Testing	/	Specification	by	Example	
39
TDD	–	Test	Driven	Development	
40	
Growing	Object-Oriented	Software,	Guided	by	Tests		
by	Steve	Freeman	&	Nat	Pryce
BDD	–	Behaviour	Driven	Development	
41	
Growing	Object-Oriented	Software,	Guided	by	Tests		
by	Steve	Freeman	&	Nat	Pryce
42
The	Elements	of	Programming	Style	
 1st	edition	1974	
 2nd	edition	1978	
 56	lessons	
 Most	of	which	are	still	
valid	today	
43
Some	of	the	rules	valid	today	
1.  Write	clearly	--	don't	be	too	clever.	
2.  Say	what	you	mean,	simply	and	directly.	
3.  Write	clearly	--	don't	sacrifice	clarity	for	
efficiency.	
4.  Replace	repetitive	expressions	by	calls	to	
common	functions.	
5.  Parenthesize	to	avoid	ambiguity.	
6.  Choose	variable	names	that	won't	be	
confused.	
7.  Write	first	in	easy-to-understand	pseudo	
language;	then	translate	into	whatever	
language	you	have	to	use.	
8.  Don't	patch	bad	code	--	rewrite	it.	
9.  Write	and	test	a	big	program	in	small	pieces.	
10.  Check	some	answers	by	hand	
11.  Make	it	fail-safe	before	you	make	it	faster.	
12.  Make	it	clear	before	you	make	it	faster.	
13.  Don't	sacrifice	clarity	for	small	gains	in	
efficiency.	
14.  Don't	strain	to	re-use	code;	reorganize	
instead.	
15.  Make	sure	special	cases	are	truly	special.	
16.  Don't	just	echo	the	code	with	comments	--	
make	every	comment	count.	
17.  Don't	comment	bad	code	--	rewrite	it.	
18.  Use	variable	names	that	mean	something.	
19.  Format	a	program	to	help	the	reader	
understand	it.	
20.  Don't	over-comment.	
44
45
Maturity		
46
ColdFusion Craftsmanship
Books	
 Written	By	Sandro	
 Part	of	the	Robert	C.	Martin	
Series	(Uncle	Bob)	
 Out	Just	before	Christmas	
 ISBN-10:	0134052501	
48
  Clean	Code	
  Robert	“Uncle	Bob”	
Martin	
  Changes	your	thought	
process	
  +	Videos	
  Also	Clean	Coders	–	More	
about	your	career	
49
 Extreme	Programming	
Explained:	Embrace	
Change	
 Kent	Back	
 Good	Technical	
Practices	
50
 Working	Effectively	
with	Legacy	Code	
 Michael	Feathers	
51
 Growing	Object-
Oriented	Software,	
Guided	by	Tests	
 Steve	Freeman	
 Nat	Pryce	
52
Your	Career	
 You	own	It!	
 You	got	to	work	for	it	
 You	can	never	stop	
53
Questions	
54

More Related Content

PPTX
Agile Metrics Meetup: What to Measure and How?
PDF
QA Automation - Agile Engineering
PDF
Importance of agile manifesto.
PDF
VeriQual - Team Structure & Agile Practices
PDF
#T3SCRUM: 12 principles of agile
PDF
DevOps: Plain English Business Benefits
PDF
Advice on how to get started — and ahead — in a career in DevOps
PPTX
DevOps seminar ppt
Agile Metrics Meetup: What to Measure and How?
QA Automation - Agile Engineering
Importance of agile manifesto.
VeriQual - Team Structure & Agile Practices
#T3SCRUM: 12 principles of agile
DevOps: Plain English Business Benefits
Advice on how to get started — and ahead — in a career in DevOps
DevOps seminar ppt

Viewers also liked (20)

PDF
Building better SQL Server Databases
PDF
Herding cats managing ColdFusion servers with commandbox
PDF
Cfobjective fusion reactor sponsor talk
PDF
Software craftsmanship
PDF
Git sourcecontrolpreso
PDF
Dependency injectionpreso
PPTX
Single page apps_with_cf_and_angular[1]
PPTX
Level up your front-end skills- going beyond cold fusion’s ui tags
PDF
Bring Order to the Chaos: Take the MVC Plunge
PDF
Our application got popular and now it breaks
PDF
ColdFusion in Transit action
PDF
My charts can beat up your charts
PDF
Hidden Gems in ColdFusion 11
PDF
Building Software in a weekend
PDF
Fr sponsor talk may 2015
PDF
Node withoutservers aws-lambda
PDF
Emberjs building-ambitious-web-applications
PDF
Garbage First & You
PDF
Paying off-emotional-debt-2
PDF
Effective version control
Building better SQL Server Databases
Herding cats managing ColdFusion servers with commandbox
Cfobjective fusion reactor sponsor talk
Software craftsmanship
Git sourcecontrolpreso
Dependency injectionpreso
Single page apps_with_cf_and_angular[1]
Level up your front-end skills- going beyond cold fusion’s ui tags
Bring Order to the Chaos: Take the MVC Plunge
Our application got popular and now it breaks
ColdFusion in Transit action
My charts can beat up your charts
Hidden Gems in ColdFusion 11
Building Software in a weekend
Fr sponsor talk may 2015
Node withoutservers aws-lambda
Emberjs building-ambitious-web-applications
Garbage First & You
Paying off-emotional-debt-2
Effective version control
Ad

Similar to ColdFusion Craftsmanship (20)

PPTX
Software Craftsmanship
PDF
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
PPTX
CF Camp 2013 Software Craftsmanship for CFML Developers
PPT
Software Craftsmanship - JAX London 2011
PDF
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
PPTX
Software craftsmanship
PDF
Software engineering in the agile manifesto
PDF
A littlebook about agile
PDF
How to outsource Scrum projects guide
PDF
How to outsource Scrum projects - a guide
KEY
The Agile Manifesto (and a brief history lesson)
PDF
Starting with Agile
PPTX
Scrum 18 months later
PDF
Covintus Overview 2013
PDF
Designing A Brand Market Analysis
PDF
Agile the Squads Way
PDF
Software Development Process The Complete Guide.pdf
PDF
Best App Development Services in Australia
PPTX
Agile Development at W3i
PPTX
An Agile Development Primer
Software Craftsmanship
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
CF Camp 2013 Software Craftsmanship for CFML Developers
Software Craftsmanship - JAX London 2011
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Software craftsmanship
Software engineering in the agile manifesto
A littlebook about agile
How to outsource Scrum projects guide
How to outsource Scrum projects - a guide
The Agile Manifesto (and a brief history lesson)
Starting with Agile
Scrum 18 months later
Covintus Overview 2013
Designing A Brand Market Analysis
Agile the Squads Way
Software Development Process The Complete Guide.pdf
Best App Development Services in Australia
Agile Development at W3i
An Agile Development Primer
Ad

More from ColdFusionConference (20)

PDF
Api manager preconference
PDF
PDF
API Economy, Realizing the Business Value of APIs
PDF
Don't just pdf, Smart PDF
PDF
Crafting ColdFusion Applications like an Architect
PDF
Security And Access Control For APIS using CF API Manager
PDF
Monetizing Business Models: ColdFusion and APIS
PDF
Become a Security Rockstar with ColdFusion 2016
PDF
Developer Insights for Application Upgrade to ColdFusion 2016
PDF
Where is cold fusion headed
PDF
ColdFusion Keynote: Building the Agile Web Since 1995
PDF
Instant ColdFusion with Vagrant
PPT
Restful services with ColdFusion
PDF
Super Fast Application development with Mura CMS
PDF
Build your own secure and real-time dashboard for mobile and web
PDF
Why Everyone else writes bad code
PDF
Securing applications
PDF
Testing automaton
PDF
Rest ful tools for lazy experts
PDF
Realtime with websockets
Api manager preconference
API Economy, Realizing the Business Value of APIs
Don't just pdf, Smart PDF
Crafting ColdFusion Applications like an Architect
Security And Access Control For APIS using CF API Manager
Monetizing Business Models: ColdFusion and APIS
Become a Security Rockstar with ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
Where is cold fusion headed
ColdFusion Keynote: Building the Agile Web Since 1995
Instant ColdFusion with Vagrant
Restful services with ColdFusion
Super Fast Application development with Mura CMS
Build your own secure and real-time dashboard for mobile and web
Why Everyone else writes bad code
Securing applications
Testing automaton
Rest ful tools for lazy experts
Realtime with websockets

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Reach Out and Touch Someone: Haptics and Empathic Computing
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Weekly Chronicles - August'25 Week I
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Monthly Chronicles - July 2025
Per capita expenditure prediction using model stacking based on satellite ima...

ColdFusion Craftsmanship