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

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
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
 
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
 
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
 
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
 
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
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
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
 
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
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
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
 
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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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
 
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
 
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...
 
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
 
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 ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
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
 
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
 
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
 
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 ☂️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

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?