SlideShare una empresa de Scribd logo
1 de 42
About Me


Developer for over 18 years



Solutions Architect @ General
Electric



Worked in TV Broadcast,
Healthcare, Travel & Finance



Adobe Community
Professional



UK CF User Group Manager
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.
We adopted Agile and now things
will be OK

… and the Agile Transformation
Era began.
And then we spend 10 year
focusing on...
… people, interactions, team building, the ecosystem

Process and Interactions became more important than
technical practices
The Agile Hangover
 Many Agile projects are now, steadily
and iteratively, producing crap
mediocre software.
We want to get things
done...
… but we are under
pressure
The wrong notion of
time
But what is to be Agile
anyway?
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.
The invisible threat

Code
quality

Time per
feature
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
What is Software
Craftsmanship?

Software Craftsmanship is all about putting
responsibility, professionalism, pragmatism and
pride back into software development
Does context matter?
Does it always matter?
How do we know we are
building the right thing?
How do we know we are
building the thing right?
Adding value through practice


Automated testing



Test first



Test-Driven Development



Pair-programming



Continuous Integration
Don't discuss practices,
discuss value.
Healthy Intolerance
How can you add more value and/or
have smaller feedback cycles when not
using our practices?
Mastering the practices
is hard …
… and that's why we
practice
Perfect practice
(narrowing the gap)
Software Craftsmanship
is a long journey to
mastery
Software Craftsmanship
Attitude
- Owning your career
- Not a 9 to 5 profession
- Practice
- Boy scout rule
- Expecting promotions
Seniority is subjective and
transient
The attitude towards
legacy code
Why would we want to be
better developers?
Software Craftsmanship is
not...
… a church, trying to convert all developers
It's about leading by example and showing
how we can be better
… about beautiful code
It's about continuously delivering value not
writing crap code
Raising the Bar
Stop...

… being miserable and
negative
… spreading your frustrations
The only way to have people
buying into what you believe is if
they see you happy.
Craftsmanship is not enough to
guarantee the success of a project
but the lack of it can be the main
cause of its failure
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.
Clean Code
 Meaningful Names
 Short Functions
 Single Responsibility Principal
 Minimal Arguments

 Show intent
 No need for comments

 Formatting
 Unit Testing
Unit Testing
Code Reviews
Code Layout Matters
 Easy to scan
 Expressive layout
 Compact format
 Code is written once and Read ∞
Books
 Ebook on Lean Pub

 Written by the London
Software Craftsmanship
Community Manager

 https://leanpub.com/socra
 Clean Code

 Uncle Bob (Bob martin)

 Changes your thought
process

 Also Clean Coders –
More about your career
 Extreme Programming
Explained: Embrace
Change

 Kent Back

 Good Technical
Practices
 Working Effectively with
Legacy Code

 Michael Feathers
Questions
Contact Me

T: @bigmadkev
W: BigMadKev.com

Más contenido relacionado

La actualidad más candente

Campos EPC 2015 - Aaron Kreke
Campos EPC 2015 - Aaron KrekeCampos EPC 2015 - Aaron Kreke
Campos EPC 2015 - Aaron Kreke
Pari S. Amanlou
 

La actualidad más candente (20)

Campos EPC 2015 - Aaron Kreke
Campos EPC 2015 - Aaron KrekeCampos EPC 2015 - Aaron Kreke
Campos EPC 2015 - Aaron Kreke
 
Onboarding developers and setting them up for success
Onboarding developers and setting them up for successOnboarding developers and setting them up for success
Onboarding developers and setting them up for success
 
Building software that matters (Agilia 2014)
Building software that matters (Agilia 2014)Building software that matters (Agilia 2014)
Building software that matters (Agilia 2014)
 
Shimon_Rura
Shimon_RuraShimon_Rura
Shimon_Rura
 
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
 
Vn valley.profile.en
Vn valley.profile.enVn valley.profile.en
Vn valley.profile.en
 
Top 7 Soft Skills For Developers in 2019
Top 7 Soft Skills For Developers in 2019Top 7 Soft Skills For Developers in 2019
Top 7 Soft Skills For Developers in 2019
 
Web and mobile development
Web and mobile developmentWeb and mobile development
Web and mobile development
 
Professional software engineers
Professional software engineersProfessional software engineers
Professional software engineers
 
Process of hiring a php word press developer
Process of hiring a php word press developerProcess of hiring a php word press developer
Process of hiring a php word press developer
 
ALTNET
ALTNETALTNET
ALTNET
 
Getting the Most from Your Software: Robert Green
Getting the Most from Your Software: Robert GreenGetting the Most from Your Software: Robert Green
Getting the Most from Your Software: Robert Green
 
GBKSOFT App Development
GBKSOFT App DevelopmentGBKSOFT App Development
GBKSOFT App Development
 
AddWeb Solution Pvt. Ltd.
AddWeb Solution Pvt. Ltd.AddWeb Solution Pvt. Ltd.
AddWeb Solution Pvt. Ltd.
 
Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015Agile Fixed Price - XP Days 2015
Agile Fixed Price - XP Days 2015
 
Good Code / Bad Code
Good Code / Bad CodeGood Code / Bad Code
Good Code / Bad Code
 
Working as an agile Experience Designer
Working as an agile Experience DesignerWorking as an agile Experience Designer
Working as an agile Experience Designer
 
Dual Track Agile Or, How I learned to stop worrying and love the scrum
Dual Track Agile Or, How I learned to stop worrying and love the scrumDual Track Agile Or, How I learned to stop worrying and love the scrum
Dual Track Agile Or, How I learned to stop worrying and love the scrum
 
How to hire dedicated developers for your next project (7 proven tips)
How to hire dedicated developers for your next project (7 proven tips)How to hire dedicated developers for your next project (7 proven tips)
How to hire dedicated developers for your next project (7 proven tips)
 
API product strategy - Intro to Internal, External APIs and Developer Platforms
API product strategy - Intro to Internal, External APIs and Developer PlatformsAPI product strategy - Intro to Internal, External APIs and Developer Platforms
API product strategy - Intro to Internal, External APIs and Developer Platforms
 

Destacado

Herramientas de comunicación de la web 2.0
Herramientas de comunicación de la web 2.0Herramientas de comunicación de la web 2.0
Herramientas de comunicación de la web 2.0
Karyliz95
 
Программа практического курса по обучению интернет-торговли
Программа практического курса по обучению интернет-торговлиПрограмма практического курса по обучению интернет-торговли
Программа практического курса по обучению интернет-торговли
Julia Onishchuk
 

Destacado (7)

Herramientas de comunicación de la web 2.0
Herramientas de comunicación de la web 2.0Herramientas de comunicación de la web 2.0
Herramientas de comunicación de la web 2.0
 
Cf objective2014 testing-testingeverywhere
Cf objective2014   testing-testingeverywhereCf objective2014   testing-testingeverywhere
Cf objective2014 testing-testingeverywhere
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
 
Программа практического курса по обучению интернет-торговли
Программа практического курса по обучению интернет-торговлиПрограмма практического курса по обучению интернет-торговли
Программа практического курса по обучению интернет-торговли
 
Cf objective2014 software-craftsmanship
Cf objective2014   software-craftsmanshipCf objective2014   software-craftsmanship
Cf objective2014 software-craftsmanship
 
Agile Commerce
Agile CommerceAgile Commerce
Agile Commerce
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar a CF Camp 2013 Software Craftsmanship for CFML Developers

Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestSandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Mozaic Works
 
Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011
Sandro Mancuso
 
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SGSoftware Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Jose Casal-Gimenez FBCS CITP
 
Lean Software Delivery with IBM Rational Platform
Lean Software Delivery with IBM Rational PlatformLean Software Delivery with IBM Rational Platform
Lean Software Delivery with IBM Rational Platform
Clay Nelson
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
Rajat Samal
 
Chasingwindmills agile success
Chasingwindmills agile successChasingwindmills agile success
Chasingwindmills agile success
Paul Boos
 

Similar a CF Camp 2013 Software Craftsmanship for CFML Developers (20)

Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, BucharestSandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
Sandro Mancuso - Software Craftmanship @ I T.A.K.E. Unconference 2013, Bucharest
 
Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
 
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SGSoftware Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
Software Craftsmanship - Sandro Mancuso - BCS Agile Methods SG
 
Software craftsmanship
Software craftsmanshipSoftware craftsmanship
Software craftsmanship
 
ColdFusion Craftsmanship
ColdFusion CraftsmanshipColdFusion Craftsmanship
ColdFusion Craftsmanship
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developer
 
Career Assignment
Career AssignmentCareer Assignment
Career Assignment
 
Lean Software Delivery with IBM Rational Platform
Lean Software Delivery with IBM Rational PlatformLean Software Delivery with IBM Rational Platform
Lean Software Delivery with IBM Rational Platform
 
Marketing scrum at VODW dag
Marketing scrum at VODW dagMarketing scrum at VODW dag
Marketing scrum at VODW dag
 
Agile presentation notes
Agile presentation notesAgile presentation notes
Agile presentation notes
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
How Low-Code Development Has Entered a Maturity Spurt Thanks to New Process-O...
 
DevOps culture: Computer scientists are only human ... ;)
DevOps culture: Computer scientists are only human ... ;)DevOps culture: Computer scientists are only human ... ;)
DevOps culture: Computer scientists are only human ... ;)
 
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentHow To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
 
Scrum 18 months later
Scrum 18 months laterScrum 18 months later
Scrum 18 months later
 
Chasingwindmills agile success
Chasingwindmills agile successChasingwindmills agile success
Chasingwindmills agile success
 
Introduction to Software Craftsmanship
Introduction to Software CraftsmanshipIntroduction to Software Craftsmanship
Introduction to Software Craftsmanship
 
Back To Basics Hyper Free Principles For Software Developers
Back To Basics Hyper Free Principles For Software DevelopersBack To Basics Hyper Free Principles For Software Developers
Back To Basics Hyper Free Principles For Software Developers
 

Último

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

CF Camp 2013 Software Craftsmanship for CFML Developers

Notas del editor

  1. Started Thursday evening as a drinks reception