SlideShare a Scribd company logo
1 of 53
A Question of
Craftsmanship


          @KevlinHenney
The engineering is the art,
and the art is the engineering.
                                         Cecil Balmond
                              http://www.newscientist.com/article/
 mg21128272.700-olympic-sculpture-is-a-marvel-of-mathematics.html
There is an art, craft, and science to
programming that extends far beyond
the program. The act of programming
marries the discrete world of computers
with the fluid world of human affairs.
Programmers mediate between the
negotiated and uncertain truths of
business and the crisp, uncompromising
domain of bits and bytes and higher
constructed types.
http://fragmental.tw/2009/04/29/tag-clouds-see-how-noisy-your-code-is/
http://fragmental.tw/2009/04/29/tag-clouds-see-how-noisy-your-code-is/
Anyway, the point I'm making is that we need to be very careful. Just
as they're doing with management consultants, sooner or later our
customers will figure out that the management practices of Agile don't
deliver working software any more than they can grill cheese or power
an electric bicycle.




               Jason Gorman, "We Emulate Management Consultants at Our Peril"
                                        http://parlezuml.com/blog/?postid=946
The business of software is software. We don't make bean bags and
we don't sell ice cream, even if that's what will solve the customer's
problems. We make working software. And the Manifesto for Agile
Software Development is a manifesto for doing it better.




               Jason Gorman, "We Emulate Management Consultants at Our Peril"
                                        http://parlezuml.com/blog/?postid=946
If you don't know how to make software, then I'm afraid you've
boarded the wrong train, my friend. This train is going to Better
Software. The train for Management Snake Oil leaves from a different
platform. You can't miss it. It's made of invisible gold and it runs on
magic beans.

               Jason Gorman, "We Emulate Management Consultants at Our Peril"
                                        http://parlezuml.com/blog/?postid=946
Graphic by Sebastian Hermida
http://sbastn.com/2009/06/typing-is-not-the-bottleneck/
David Schpilberg, Steve Berez, Rudy Puryear and Sachin Shah
"Avoiding the Alignment Trap in Information Technology"
MIT Sloan Management Review
We have been up all night, my friends and
I, [...] we have been discussing right up to
the limits of logic and scrawling the paper
with demented writing.
Our hearts were filled with an immense
pride at feeling ourselves standing quite
alone [...].
We want to sing the love of danger, the
habit of energy and rashness.
The essential elements of our poetry will be
courage, audacity and revolt. [...]
People in high tech take pride in their work.
They are individuals who see the details of
the things they produce in the light of the
trials and triumphs they experience while
creating products. In the courage of
creation, they find a place to hang their
individuality. Programmers and techno types
appreciate elegant, spare code and the
occasional well-turned architectural hack.

   Rick Levine, Christopher Locke, Doc Searles and David Weinberger

                              The Cluetrain Manifesto
Craftsmanship has been
used for centuries for
the successful
transmittal of skills and
the development of
communities of practice.
http://www.wordle.net/show/wrdl/1188918/SCTAGS2009
A capsule definition of engineering,
independent of any discipline, as you're
likely to find: the set of practices and
techniques that have been determined to
work reliably through experience.
                                          Glenn Vanderburg
  http://confreaks.net/videos/282-lsrc2010-real-software-engineering
Structural engineering is the science and art
of designing and making, with economy and
elegance, buildings, bridges, frameworks,
and other similar structures so that they can
safely resist the forces to which they may be
subjected.
           The Institution of Structural Engineers
Software engineering is the science and art
of designing and making, with economy and
elegance, applications, bridges, frameworks,
and other similar structures so that they can
safely resist the forces to which they may be
subjected.
http://www.computerworld.com.au/article/216844/a-z_programming_languages_awk/
http://www.computerworld.com.au/article/216844/a-z_programming_languages_awk/
TDD is fun! It’s like a game where you
navigate a maze of technical decisions that
lead to highly robust software while
avoiding the quagmire of long debug
sessions. With each test there is a renewed
sense of accomplishment and clear progress
toward the goal. Automated tests record
assumptions, capture decisions, and free the
mind to focus on the next challenge.

                                     James Grenning
                Test-Driven Development for Embedded C
TDD is fun! It’s like a game where you
navigate a maze of technical decisions that
lead to highly robust software while
avoiding the quagmire of long debug
sessions. With each test there is a renewed
sense of accomplishment and clear progress
toward the goal. Automated tests record
assumptions, capture decisions, and free the
mind to focus on the next challenge.

                                     James Grenning
                Test-Driven Development for Embedded C
Programming is difficult
business. It should never
be undertaken in ignorance.
               Douglas Crockford
            JavaScript: The Good Parts

More Related Content

Similar to A question of craftsmanship

Project 00 Report
Project 00 ReportProject 00 Report
Project 00 Report
spiffyjj115
 
Emulation Software Technologies Pvt Ltd
Emulation Software Technologies Pvt LtdEmulation Software Technologies Pvt Ltd
Emulation Software Technologies Pvt Ltd
Emulation software technologies pvt ltd.
 

Similar to A question of craftsmanship (20)

A Question of Craftsmanship
A Question of CraftsmanshipA Question of Craftsmanship
A Question of Craftsmanship
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of Uncertainty
 
GDSC NIET ORIENTATION ).pdf
GDSC NIET ORIENTATION ).pdfGDSC NIET ORIENTATION ).pdf
GDSC NIET ORIENTATION ).pdf
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architecture
 
Old Works
Old WorksOld Works
Old Works
 
Resume
ResumeResume
Resume
 
Approaching risk management with your head in the cloud
Approaching risk management with your head in the cloudApproaching risk management with your head in the cloud
Approaching risk management with your head in the cloud
 
QueensLab presentation
QueensLab presentation QueensLab presentation
QueensLab presentation
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
CraftConf: Surviving the hyperautomation low code bubbl
CraftConf: Surviving the hyperautomation low code bubblCraftConf: Surviving the hyperautomation low code bubbl
CraftConf: Surviving the hyperautomation low code bubbl
 
Assad ul Hassan
Assad ul HassanAssad ul Hassan
Assad ul Hassan
 
Project 00 Report
Project 00 ReportProject 00 Report
Project 00 Report
 
Project 00 Report
Project 00 ReportProject 00 Report
Project 00 Report
 
ChatGPT and not only: How to use the power of GPT-X models at scale
ChatGPT and not only: How to use the power of GPT-X models at scaleChatGPT and not only: How to use the power of GPT-X models at scale
ChatGPT and not only: How to use the power of GPT-X models at scale
 
ISTC Keynote Smart Authoring For A Smarter Planet
ISTC Keynote   Smart Authoring For A Smarter PlanetISTC Keynote   Smart Authoring For A Smarter Planet
ISTC Keynote Smart Authoring For A Smarter Planet
 
Synthetic Data: From 3D model to AI on the Edge
Synthetic Data: From 3D model to AI on the EdgeSynthetic Data: From 3D model to AI on the Edge
Synthetic Data: From 3D model to AI on the Edge
 
Emulation Software Technologies Pvt Ltd
Emulation Software Technologies Pvt LtdEmulation Software Technologies Pvt Ltd
Emulation Software Technologies Pvt Ltd
 
GHC17 Abstract: From Monolith to Microservices
GHC17 Abstract: From Monolith to MicroservicesGHC17 Abstract: From Monolith to Microservices
GHC17 Abstract: From Monolith to Microservices
 
[241] AI 칩 개발에 사용되는 엔지니어링
[241] AI 칩 개발에 사용되는 엔지니어링[241] AI 칩 개발에 사용되는 엔지니어링
[241] AI 칩 개발에 사용되는 엔지니어링
 
GDSC GCOEA Info Session .pptx
GDSC GCOEA Info Session .pptxGDSC GCOEA Info Session .pptx
GDSC GCOEA Info Session .pptx
 

More from AgileOnTheBeach

Research instruments case study
Research instruments case studyResearch instruments case study
Research instruments case study
AgileOnTheBeach
 
Sullivan cuff case study
Sullivan cuff case studySullivan cuff case study
Sullivan cuff case study
AgileOnTheBeach
 
The problem solvers problem
The problem solvers problemThe problem solvers problem
The problem solvers problem
AgileOnTheBeach
 
Research instruments case study
Research instruments case studyResearch instruments case study
Research instruments case study
AgileOnTheBeach
 
Ignition team - creating agile companies
Ignition team - creating agile companiesIgnition team - creating agile companies
Ignition team - creating agile companies
AgileOnTheBeach
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thing
AgileOnTheBeach
 
Behaviour Driven Development - Beyond given when then
Behaviour Driven Development - Beyond given when thenBehaviour Driven Development - Beyond given when then
Behaviour Driven Development - Beyond given when then
AgileOnTheBeach
 
Sustaining Test-Driven Development
Sustaining Test-Driven DevelopmentSustaining Test-Driven Development
Sustaining Test-Driven Development
AgileOnTheBeach
 
Oxford Innovation - case study
Oxford Innovation - case studyOxford Innovation - case study
Oxford Innovation - case study
AgileOnTheBeach
 
Feedback Loops in Agile Development
Feedback Loops in Agile DevelopmentFeedback Loops in Agile Development
Feedback Loops in Agile Development
AgileOnTheBeach
 
The problem solvers problem
The problem solvers problemThe problem solvers problem
The problem solvers problem
AgileOnTheBeach
 

More from AgileOnTheBeach (20)

Research instruments case study
Research instruments case studyResearch instruments case study
Research instruments case study
 
Sullivan cuff case study
Sullivan cuff case studySullivan cuff case study
Sullivan cuff case study
 
Value stream mapping
Value stream mapping  Value stream mapping
Value stream mapping
 
The problem solvers problem
The problem solvers problemThe problem solvers problem
The problem solvers problem
 
System Error
System ErrorSystem Error
System Error
 
Surfing the Agile Wave
Surfing the Agile WaveSurfing the Agile Wave
Surfing the Agile Wave
 
Smart Metrics
Smart Metrics  Smart Metrics
Smart Metrics
 
Research instruments case study
Research instruments case studyResearch instruments case study
Research instruments case study
 
Lean and lego
Lean and lego Lean and lego
Lean and lego
 
Ignition team - creating agile companies
Ignition team - creating agile companiesIgnition team - creating agile companies
Ignition team - creating agile companies
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thing
 
Embedded storycrafting
Embedded storycraftingEmbedded storycrafting
Embedded storycrafting
 
Beware sharp tools
Beware sharp toolsBeware sharp tools
Beware sharp tools
 
Lean startup
Lean startupLean startup
Lean startup
 
Behaviour Driven Development - Beyond given when then
Behaviour Driven Development - Beyond given when thenBehaviour Driven Development - Beyond given when then
Behaviour Driven Development - Beyond given when then
 
Sustaining Test-Driven Development
Sustaining Test-Driven DevelopmentSustaining Test-Driven Development
Sustaining Test-Driven Development
 
Agile in Practice
Agile in PracticeAgile in Practice
Agile in Practice
 
Oxford Innovation - case study
Oxford Innovation - case studyOxford Innovation - case study
Oxford Innovation - case study
 
Feedback Loops in Agile Development
Feedback Loops in Agile DevelopmentFeedback Loops in Agile Development
Feedback Loops in Agile Development
 
The problem solvers problem
The problem solvers problemThe problem solvers problem
The problem solvers problem
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
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
 
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 ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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...
 
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
 

A question of craftsmanship

  • 2.
  • 3. The engineering is the art, and the art is the engineering. Cecil Balmond http://www.newscientist.com/article/ mg21128272.700-olympic-sculpture-is-a-marvel-of-mathematics.html
  • 4.
  • 5. There is an art, craft, and science to programming that extends far beyond the program. The act of programming marries the discrete world of computers with the fluid world of human affairs. Programmers mediate between the negotiated and uncertain truths of business and the crisp, uncompromising domain of bits and bytes and higher constructed types.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 16.
  • 17. Anyway, the point I'm making is that we need to be very careful. Just as they're doing with management consultants, sooner or later our customers will figure out that the management practices of Agile don't deliver working software any more than they can grill cheese or power an electric bicycle. Jason Gorman, "We Emulate Management Consultants at Our Peril" http://parlezuml.com/blog/?postid=946
  • 18. The business of software is software. We don't make bean bags and we don't sell ice cream, even if that's what will solve the customer's problems. We make working software. And the Manifesto for Agile Software Development is a manifesto for doing it better. Jason Gorman, "We Emulate Management Consultants at Our Peril" http://parlezuml.com/blog/?postid=946
  • 19. If you don't know how to make software, then I'm afraid you've boarded the wrong train, my friend. This train is going to Better Software. The train for Management Snake Oil leaves from a different platform. You can't miss it. It's made of invisible gold and it runs on magic beans. Jason Gorman, "We Emulate Management Consultants at Our Peril" http://parlezuml.com/blog/?postid=946
  • 20. Graphic by Sebastian Hermida http://sbastn.com/2009/06/typing-is-not-the-bottleneck/
  • 21. David Schpilberg, Steve Berez, Rudy Puryear and Sachin Shah "Avoiding the Alignment Trap in Information Technology" MIT Sloan Management Review
  • 22.
  • 23.
  • 24. We have been up all night, my friends and I, [...] we have been discussing right up to the limits of logic and scrawling the paper with demented writing. Our hearts were filled with an immense pride at feeling ourselves standing quite alone [...]. We want to sing the love of danger, the habit of energy and rashness. The essential elements of our poetry will be courage, audacity and revolt. [...]
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. People in high tech take pride in their work. They are individuals who see the details of the things they produce in the light of the trials and triumphs they experience while creating products. In the courage of creation, they find a place to hang their individuality. Programmers and techno types appreciate elegant, spare code and the occasional well-turned architectural hack. Rick Levine, Christopher Locke, Doc Searles and David Weinberger The Cluetrain Manifesto
  • 37.
  • 38.
  • 39. Craftsmanship has been used for centuries for the successful transmittal of skills and the development of communities of practice.
  • 41.
  • 42.
  • 43.
  • 44. A capsule definition of engineering, independent of any discipline, as you're likely to find: the set of practices and techniques that have been determined to work reliably through experience. Glenn Vanderburg http://confreaks.net/videos/282-lsrc2010-real-software-engineering
  • 45. Structural engineering is the science and art of designing and making, with economy and elegance, buildings, bridges, frameworks, and other similar structures so that they can safely resist the forces to which they may be subjected. The Institution of Structural Engineers
  • 46. Software engineering is the science and art of designing and making, with economy and elegance, applications, bridges, frameworks, and other similar structures so that they can safely resist the forces to which they may be subjected.
  • 47.
  • 48.
  • 51. TDD is fun! It’s like a game where you navigate a maze of technical decisions that lead to highly robust software while avoiding the quagmire of long debug sessions. With each test there is a renewed sense of accomplishment and clear progress toward the goal. Automated tests record assumptions, capture decisions, and free the mind to focus on the next challenge. James Grenning Test-Driven Development for Embedded C
  • 52. TDD is fun! It’s like a game where you navigate a maze of technical decisions that lead to highly robust software while avoiding the quagmire of long debug sessions. With each test there is a renewed sense of accomplishment and clear progress toward the goal. Automated tests record assumptions, capture decisions, and free the mind to focus on the next challenge. James Grenning Test-Driven Development for Embedded C
  • 53. Programming is difficult business. It should never be undertaken in ignorance. Douglas Crockford JavaScript: The Good Parts