SlideShare a Scribd company logo
1 of 43
Crafting Great Code
Harold Shinsato, Montana Code School, Open Space Institute
BigSkyDevCon June 10, 2017
Overview
Why Bother?
Mastery
 Modern Agile & the Software Craftsmanship Manifesto
 Frontiers of Psychology & Education
Leading Practices
 Test Drive Development, Design Patterns, S.O.L.I.D
Culture
 Team Sport
 Social Tech
Taking it Home
Why Craft Great Code?
Why Bother?
What do you think?
Mastery
Community & Conferences
 Attend, Support, Engage!
Legacy & Modern Agile
We are uncovering
better ways of
developing software
by doing and
helping others do it.
Through this work
we have come to
value …
http://agilemanifesto.org
http://modernagile.org
Software Craftsmanship Manifesto
Raising the bar.
As aspiring Software Craftsmen we are raising the bar of professional software
development by practicing 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
That is, in pursuit of the items on the left we have found the items on the right
to be indispensable.
© 2009, the undersigned.this statement may be freely copied in any form,but only in its entirety through this notice.
http://manifesto.softwarecraftsmanship.org
From Dr. Christopher Avery
http://leadershipgift.com
”Flow” – Mihály Csíkszentmihályi
Deliberate Practice
K. Anders Ericsson
Angela Duckworth
Carol Dweck –
Fixed vs. Growth Mindset
Daniel Coyle – Myelin Sheaths
Meta learning & Metacognition
Timothy Ferris – 6 months to mastery -
http://sebastianmarshall.com/community/110017
John Flavel – > 35+ years research
Thinking About Learning = More Learning
“Einstellung”
Paulo Friere – Teaching Peasants
Sharon Bowman – Better Trainings
Leading Practices
Clean Code – “Uncle” Bob Martin
cleancoders.com
Test Driven Development
Write FAILING Test First
Write
Simplest
Code To
Make Test
Pass
Refactor
Refactoring – From Smalltalk
Code Smells
 Duplicate Code (DRY Principle)
 Long Methods and Classes
 Long Parameter Lists
 Comments
Clever Code
“Debugging is twice as hard as writing the code
in the first place. Therefore, if you write the code
as cleverly as possible, you are, by definition, not
smart enough to debug it.”
- Brian Kernigan
Optimizing Code
“We should forget about small efficiencies,
say about 97% of the time: premature
optimization is the root of all evil.”
- Donald Knuth
S.O.L.I.D. Principles
 SRP: Single Responsibility Principle -
Do One Thing Well
 OCP: Open Closed Principle -
Open for Extension/Closed for Modification
 LSP: Liskov Substitution Principle -
Make subclasses usable where the superclass is
 ISP: Interface Segregation Principle –
Separate functionality that might change independently
 DIP: Dependency Inversion Principle –
High level modules independent of lower level with abstractions
Design Patterns
Code Katas & Dojos
“Pragmatic” Dave Thomas -> Martial Arts
 http://codekata.com/kata/codekata-how-it-started/
Coding Dojo inspired by Coding Katas
Randori Technique 2003 Paris Coding Dojo
 http://www.xpdays.de/2005/sessions/The_Coders_Dojo.html
Mob Programming
http://mobprogramming.org
#noestimates #zerobugs
Culture
Team Sport
Lone Wolf
Cowboy Coder
Google’s Project Aristotle
 Harvard Business School Professor - Amy Edmondson
 https://www.nytimes.com/2016/02/28/magazine/what-google-learned-from-its-
quest-to-build-the-perfect-team.html
 180 Team From Across Google
 SUCCESS FACTORS – Team Norms & Culture
 Psychological Safety
 Turn Taking – Overall Equal Participation
Charles Duhigg – “Power of Habit” guy
Social Technology
Jim & Michele McCarthy
Bozo Bit
Check-in Protocol
Ask For Help
Core Protocols
Open Space & Unconferences
Liberating Structures
Lean Coffee™
http://leancoffee.org
Improv!
Conversations
 Non-Violent Communication - Marshall Rosenberg
 Crucial Conversations – Patterson et. al.
 Fierce Conversations – Susan Scott
 Clean Language – David Grove
https://www.infoq.com/interviews/andrea-chiou-clean-language-clean-questions-
agile2014
 Language of Emotions – Karla McClaren
 The Five Love Languages – Gary Chapman
THANKS!
 Slideshare Link To Be Posted to my Blog
 http://shinsato.com
 harold@shinsato.com
Questions?
Comments?

More Related Content

Similar to Crafting Great Code

A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013Alessandro Nadalin
 
Software as a craft (February, 2018)
Software as a craft (February, 2018)Software as a craft (February, 2018)
Software as a craft (February, 2018)Rachel M. Carmena
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsChristian Heilmann
 
Recipe of a rockstar developer
Recipe of a rockstar developerRecipe of a rockstar developer
Recipe of a rockstar developerTopu Newaj
 
Developing solid applications
Developing solid applicationsDeveloping solid applications
Developing solid applicationsNilesh Bangar
 
15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript ProgrammingFusionCharts
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressmtoppa
 
Creativity vs Best Practices
Creativity vs Best PracticesCreativity vs Best Practices
Creativity vs Best PracticesSupun Dissanayake
 
Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Sandro Mancuso
 
CF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersCF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersKev McCabe
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design PrinciplesSteve Zhang
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbookGabriel Paunescu 🤖
 
Software quality
Software qualitySoftware quality
Software quality5minpause
 
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designUCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designsdavis6b
 

Similar to Crafting Great Code (20)

A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013
 
ALTNET
ALTNETALTNET
ALTNET
 
Software as a craft (February, 2018)
Software as a craft (February, 2018)Software as a craft (February, 2018)
Software as a craft (February, 2018)
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
Solid principes
Solid principesSolid principes
Solid principes
 
Orientation session
Orientation sessionOrientation session
Orientation session
 
Recipe of a rockstar developer
Recipe of a rockstar developerRecipe of a rockstar developer
Recipe of a rockstar developer
 
Developing solid applications
Developing solid applicationsDeveloping solid applications
Developing solid applications
 
15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
 
Creativity vs Best Practices
Creativity vs Best PracticesCreativity vs Best Practices
Creativity vs Best Practices
 
Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011
 
CF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersCF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML Developers
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design Principles
 
Os Long
Os LongOs Long
Os Long
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
DDD In Agile
DDD In Agile   DDD In Agile
DDD In Agile
 
Software quality
Software qualitySoftware quality
Software quality
 
UCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction designUCD / IxD Introduction - User centric design, interaction design
UCD / IxD Introduction - User centric design, interaction design
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

Crafting Great Code

  • 1. Crafting Great Code Harold Shinsato, Montana Code School, Open Space Institute BigSkyDevCon June 10, 2017
  • 2. Overview Why Bother? Mastery  Modern Agile & the Software Craftsmanship Manifesto  Frontiers of Psychology & Education Leading Practices  Test Drive Development, Design Patterns, S.O.L.I.D Culture  Team Sport  Social Tech Taking it Home
  • 3. Why Craft Great Code? Why Bother? What do you think?
  • 5. Community & Conferences  Attend, Support, Engage!
  • 6. Legacy & Modern Agile We are uncovering better ways of developing software by doing and helping others do it. Through this work we have come to value … http://agilemanifesto.org http://modernagile.org
  • 7. Software Craftsmanship Manifesto Raising the bar. As aspiring Software Craftsmen we are raising the bar of professional software development by practicing 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 That is, in pursuit of the items on the left we have found the items on the right to be indispensable. © 2009, the undersigned.this statement may be freely copied in any form,but only in its entirety through this notice. http://manifesto.softwarecraftsmanship.org
  • 8. From Dr. Christopher Avery http://leadershipgift.com
  • 9. ”Flow” – Mihály Csíkszentmihályi
  • 12. Carol Dweck – Fixed vs. Growth Mindset
  • 13. Daniel Coyle – Myelin Sheaths
  • 14.
  • 15. Meta learning & Metacognition Timothy Ferris – 6 months to mastery - http://sebastianmarshall.com/community/110017 John Flavel – > 35+ years research Thinking About Learning = More Learning
  • 17. Paulo Friere – Teaching Peasants
  • 18. Sharon Bowman – Better Trainings
  • 20. Clean Code – “Uncle” Bob Martin cleancoders.com
  • 21. Test Driven Development Write FAILING Test First Write Simplest Code To Make Test Pass Refactor
  • 22. Refactoring – From Smalltalk
  • 23. Code Smells  Duplicate Code (DRY Principle)  Long Methods and Classes  Long Parameter Lists  Comments
  • 24. Clever Code “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” - Brian Kernigan
  • 25. Optimizing Code “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” - Donald Knuth
  • 26. S.O.L.I.D. Principles  SRP: Single Responsibility Principle - Do One Thing Well  OCP: Open Closed Principle - Open for Extension/Closed for Modification  LSP: Liskov Substitution Principle - Make subclasses usable where the superclass is  ISP: Interface Segregation Principle – Separate functionality that might change independently  DIP: Dependency Inversion Principle – High level modules independent of lower level with abstractions
  • 28.
  • 29. Code Katas & Dojos “Pragmatic” Dave Thomas -> Martial Arts  http://codekata.com/kata/codekata-how-it-started/ Coding Dojo inspired by Coding Katas Randori Technique 2003 Paris Coding Dojo  http://www.xpdays.de/2005/sessions/The_Coders_Dojo.html
  • 34. Google’s Project Aristotle  Harvard Business School Professor - Amy Edmondson  https://www.nytimes.com/2016/02/28/magazine/what-google-learned-from-its- quest-to-build-the-perfect-team.html  180 Team From Across Google  SUCCESS FACTORS – Team Norms & Culture  Psychological Safety  Turn Taking – Overall Equal Participation
  • 35. Charles Duhigg – “Power of Habit” guy
  • 37. Jim & Michele McCarthy Bozo Bit Check-in Protocol Ask For Help Core Protocols
  • 38. Open Space & Unconferences
  • 42. Conversations  Non-Violent Communication - Marshall Rosenberg  Crucial Conversations – Patterson et. al.  Fierce Conversations – Susan Scott  Clean Language – David Grove https://www.infoq.com/interviews/andrea-chiou-clean-language-clean-questions- agile2014  Language of Emotions – Karla McClaren  The Five Love Languages – Gary Chapman
  • 43. THANKS!  Slideshare Link To Be Posted to my Blog  http://shinsato.com  harold@shinsato.com Questions? Comments?