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

A Question of Craftsmanship
A Question of CraftsmanshipA Question of Craftsmanship
A Question of CraftsmanshipKevlin Henney
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of UncertaintyKevlin Henney
 
GDSC NIET ORIENTATION ).pdf
GDSC NIET ORIENTATION ).pdfGDSC NIET ORIENTATION ).pdf
GDSC NIET ORIENTATION ).pdfYashiGupta410690
 
Agile software architecture
Agile software architectureAgile software architecture
Agile software architectureScott Hsieh
 
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 cloudCompatibL Technologies ltd
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
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 bubblBernd Ruecker
 
Project 00 Report
Project 00 ReportProject 00 Report
Project 00 Reportspiffyjj115
 
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 scaleMaxim Salnikov
 
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 Planetanghelides
 
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 EdgeSherry List
 
GHC17 Abstract: From Monolith to Microservices
GHC17 Abstract: From Monolith to MicroservicesGHC17 Abstract: From Monolith to Microservices
GHC17 Abstract: From Monolith to MicroservicesPaulaPaulSlides
 
[241] AI 칩 개발에 사용되는 엔지니어링
[241] AI 칩 개발에 사용되는 엔지니어링[241] AI 칩 개발에 사용되는 엔지니어링
[241] AI 칩 개발에 사용되는 엔지니어링NAVER D2
 
GDSC GCOEA Info Session .pptx
GDSC GCOEA Info Session .pptxGDSC GCOEA Info Session .pptx
GDSC GCOEA Info Session .pptxSnehal904055
 

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 studyAgileOnTheBeach
 
Sullivan cuff case study
Sullivan cuff case studySullivan cuff case study
Sullivan cuff case studyAgileOnTheBeach
 
The problem solvers problem
The problem solvers problemThe problem solvers problem
The problem solvers problemAgileOnTheBeach
 
Research instruments case study
Research instruments case studyResearch instruments case study
Research instruments case studyAgileOnTheBeach
 
Ignition team - creating agile companies
Ignition team - creating agile companiesIgnition team - creating agile companies
Ignition team - creating agile companiesAgileOnTheBeach
 
First build the right thing
First build the right thingFirst build the right thing
First build the right thingAgileOnTheBeach
 
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 thenAgileOnTheBeach
 
Sustaining Test-Driven Development
Sustaining Test-Driven DevelopmentSustaining Test-Driven Development
Sustaining Test-Driven DevelopmentAgileOnTheBeach
 
Oxford Innovation - case study
Oxford Innovation - case studyOxford Innovation - case study
Oxford Innovation - case studyAgileOnTheBeach
 
Feedback Loops in Agile Development
Feedback Loops in Agile DevelopmentFeedback Loops in Agile Development
Feedback Loops in Agile DevelopmentAgileOnTheBeach
 
The problem solvers problem
The problem solvers problemThe problem solvers problem
The problem solvers problemAgileOnTheBeach
 

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

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

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