SlideShare a Scribd company logo
Achieving Technical Excellence
in Your Software Teams
Peter Gfader
@peitor
Peter Gfader
The Agile Architect
https://www.meetup.com/
Software-Craftsmanship-Zurich/
Achieving Technical Excellence
in Your Software Teams
Achieving Technical Excellence
in Your Software Teams
We are Super Heroes
Build elegant systems
Manage the customer
Manage projects
Know the tech stuff
Smartest guy/gal on planet
Write amazing clean code
We
But…
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
It takes way too long
Achieving Technical Excellence in Your Software Teams - from Devternity
Customers don’t care
• Architecture
• Lean or Clean Code
• React vs Angular vs Aurelia vs vanillaJs
• Refactorings and your keyboard shortcuts
• Your Fancy Feature Branching Strategy
• Technologies
• Your Scrum or my Kanban
• Dependencies
• Your Feelings
Customers really care
Their problems to be
understood and
solved
Build Right It
Build It Right
Right Time
The Right Product, Right and Fast
Achieving Technical Excellence
in Your Software Teams
Technical Excellence
„Working Software
at the End of Every Sprint“
Technical Excellence
„Working Product Increment
Deployed on Every Push“
Technical Excellence
„Working Product Increment
Deployed on Every Push“
Technical Excellence
„Working Product Increment
Deployed on Every Push“
„Deployed“
VS
„Released“
https://beyond-agility.com/deployment-vs-release/
Conway‘s Law
organizations which design systems ... are constrained to
produce designs which are copies of the communication
structures of these organizations.
Wikipedia
From https://martinfowler.com/articles/microservices.html
Conway‘s Law
Extended
Via https://www.scrum.org/fredrik-wendt
Conway’s Law Extended
The Project Paradox
The Project Paradox
https://twitter.com/tofo/status/512666251055742977?s=11
What to do?
Delay decisions
Validate architecture with requirements and measure
What to do?
What Worked
«What do
Great Teams do?»
#TODO
Stop Talking „Agile“
Via @DavidEvans66
„Scrum says“
„This is not Agile“
„Let‘s do this in an agile way“
„XP recommends …“
„In the SAFe book its written“
„This is not Lean enough“
„You must be co-located for XP“
„Let’s make this transparent by putting
it in wall”
“We are iterative and adaptive”
“Great showcase and demo”
„Customer“
„User“
„Risk“
„Market“
„Competition“
„Value“
„Product“
„Sponsor”
„Money”
#moreContent
Stop Start
https://beyond-agility.com/stop/
„How do we
become
agile?“
How can we
discover and
deliver Value
faster?
What is Value in our Organization? Product?
https://beyond-agility.com/stop/
What Worked
Great Teams talk and
Focus on Value and Not
Output.
What Worked
Great Teams deliver
Value and Not just
Output.
How to quantify Value?
# TODO https://www.scrum.org/resources/evidence-based-management-guide
Value Metrics #TODO
Evidence-Based Management Metrics
https://www.scrum.org/resources/evidence-based-management-guide
Metrics for Pirates AARRR
https://www.slideshare.net/dmc500hats/startup-metrics-for-pirates-
long-version
Googles HEART
https://www.dtelepathy.com/ux-metrics/
#TODO
Start Investing In Quality
Achieving Technical Excellence in Your Software Teams - from Devternity
Quality
How to
slow down
your teams?
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
Why do we write bad code?
1. Hypothesis For Bad Code
Broken Window Theory
http://blog.gfader.com/2011/10/broken-window-theory-in-real-world.html
Broken Window Theory
2. Hypothesis For Bad Code
We write bad code,
because we read bad code
Write crappy code?
You have never seen good code!
Santa Claus. Osterhase.
Write crappy code?
You have never seen good code!
Read good code
→ Make code easier to read
Easy code to read
→ Easy code to change
→ Easy to maintain
Code Readings?
• Code Reviews
• Peer work reviews
• Pair Programming
• Mob Programming
• Pre Commit
• Gerrit
• Pull Requests
Code Readings?
• Peer Reviews
• Whole Team Code Reviews
• Pair Programming
• Mob Programming
• Pre Commit
• Gerrit
• Pull Requests
• Open source (Read? Write?)
#TODO Tips Code Reviews
• Code, !Person
• Constructively propose changes
→ Questions!
Code Reviews
• Code, !Person
• Constructively propose changes
→ Questions!
• Review not only code
o Tests
o Build process
o ..
Code Reviews
• Code, !Person
• Constructively propose changes
→ Questions!
• Review not only code
o Tests
o Build process
o ..
→ Grow as a team
Instead of
“This must be Jon’s code”
“That ugly long method”
“I reviewed your code and
changed it to make it better”
#Todo
Pair Programming
Achieving Technical Excellence in Your Software Teams - from Devternity
https://twitter.com/mpetrinidev/status/1042805522603417600
#TODO
Strong Style Pair Programming
"For an idea to go from your head into the computer
it MUST go through someone else's hands"
http://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html
Mob Programming
• Whole team
• Work on same thing
• Same time
• Same space
• Same computer
http://mobprogramming.org/
Mob Programming
http://mobprogramming.org/
#TODO: Review Code
• In your team
• With 1 peer
• Open source
• Brown bags – Lunch time discussion
#TODO: Code to read in the Team
https://github.com/nsubstitute/NSubstitute
https://github.com/techtalk/SpecFlow
https://github.com/sf105/goos-code
https://github.com/machine/machine.specifications
https://github.com/BjRo/xunitbddextensions
https://github.com/dtchepak/DaveSquared.StringsTheThing
And more on the internetz....
Good code is like a joke!
Good code is like a joke!
No need for explanation
3. Hypothesis For Bad Code
“Nobody can write good code in 1 sit-in.”
There is no “Right the 1st time”
3. Hypothesis For Bad Code
Nobody can write good code in 1 sit-in
-> Refactoring
#TODO Refactoring
https://github.com/NotMyself/GildedRose
https://github.com/jcbozonier/Refactoring-Katas
The little issue with
Refactoring?
Unclear what works
and what doesn’t
We are never done.
Without Tests
Change and
refactor without
fear.
With Tests
Refactoring
+
Tests
=
?
Refactoring
+
Tests
=
No Business Value
Waste?? Overhead??
Refactoring
+
Tests
=
?
Achieving Technical Excellence in Your Software Teams - from Devternity
Test-Driven Development (TDD)
Writing tests prior to writing the production code
REFACTOR GREEN
RED
http://gfader.tumblr.com/post/153724638564/tdd-as-i-think-of-it-november-2016-where-do
→ Outside world and code do not match
→ Implemented requirements unclear
→ Code not understandable
TDD Outside In
Test Driven Development
TDD = Testing technique?
TDD = Design technique?
TDD = Learning technique?
TDD = Thinking technique?
Habit 2/7
Begin with the end in mind
#Todo Find your peers
https://www.meetup.com/topics/software-craftsmanship/
All fine... But we are here
4 Things
1. Proper Root Cause Analysis
2. Get to Done
3. Go Small
4. 0 Bug Policy
Proper
Root Cause
Analysis
Proper Root Cause Analysis
1. Gather Data on Sprint Board
Proper Root Cause Analysis
2. Cluster and Analyse in Retrospective
5Whys
Proper Root Cause Analysis
3. Delegate to Team
Dive deeeeeep
Proper Root Cause Analysis
4. How to prevent this in future?
Proper Root Cause Analysis
5. Maximize learning
From individuals
to team (s)
to organizational learning
5 Steps - Proper Root Cause Analysis
1. Gather Data
2. Retrospective
3. Delegate to Team -> Deep Dive
4. Prevent this in the future
5. Maximize learning
Get to Done
Do you have a
Definition Of Done?
https://www.digicomp.ch/blog/2019/05/22/5-praktiken-die-bei-der-agilen-software-entwicklung-helfen
Get To Done
Get to Done
Do you have a Definition Of Done?
https://www.digicomp.ch/blog/2019/05/22/5-praktiken-die-bei-der-agilen-software-entwicklung-helfen
Get to Done
• Do you have a Definition Of Done?
Get to Done
• Do you have a Definition Of Done?
Get to Done
• Get rid of your Definition Of Done
Get to Done
• Get rid of your Definition Of Done
Go Small
Go Small
1 Piece Flow
As A Team
https://www.digicomp.ch/blog/2019/06/24/wieso-das-management-development-teams-nicht-vertraut
Go Small
https://www.digicomp.ch/blog/2019/06/24/wieso-das-management-development-teams-nicht-vertraut
0 Bug Policy
0 Bug Policy
1. Write a failing Test for every Bug
(before you fix the bug)
2. Automate
0 Bug Policy
How to sell to Managers?
Investment
How to sell to Managers?
Investment
Well crafted & tested code
is expensive.
Investment
Well crafted & tested code is
expensive.
Fixing bad code is very, very,
very, very expensive.
Now You!
Work on your fitness
& Be ready
Start
practicing
Work on your fitness
& Be ready
Start practicing
“We don’t have a knowledge problem.
We have a practice problem.
Can you do what you preach?”
What hinders you to
Add to your Definition of Done
• Deployed to Production
• Released to (10%) Alpha Users
• Released to All
„Metric X increased by Y% for customer segment Z“
Thank You!
https://twitter.com/peitor
https://www.linkedin.com/in/petergfader/
peter@beyond-agility.com
https://beyond-agility.com
Peter Gfader
References
Your Todo List ☺
• Steve Denning 3 Laws of Business Agility
https://www.infoq.com/presentations/3-laws-business-agility
• Steve Denning – Why Agile
https://businessagility.institute
• Future Leadership Training
• Haier HBR – The end of bureaucracy
https://hbr.org/2018/11/the-end-of-bureaucracy
• Book: The Leader's Guide to Radical Management
http://www.stevedenning.com/Books/radical-management.aspx
References
References
• Pragmatics of Agile Development
http://www.agiledeveloper.com/presentations/pragmatics_of_agile_development.pdf
• Kanban VS Scrum
http://www.infoq.com/minibooks/kanban-scrum-minibook
• Agile Software Development
http://www.agiledeveloper.com/presentations/AgileSoftwareDevelopment.zip
• A Thinking Tool called Agile
https://sites.google.com/site/leanagileandscrum/lean-agile-scrum-conference-
2010/presentations-las-2010/00_Kniberg_Keynote.pdf?attredirects=0&d=1
• The Four Elements of Simple Design
http://www.jbrains.ca/permalink/the-four-elements-of-simple-design
• http://agilemanifesto.org/
• http://manifesto.softwarecraftsmanship.org/
Picture References
• https://gratisography.com/
• https://businessagility.institute
• https://twitter.com/peitor
• https://craigsmith.id.au/2015/12/03/yow-2015-40-agile-methods-in-40-minutes/
Find out more
beyond-agility.com/stop

More Related Content

PPTX
JavaScript Basic
PPTX
Integration Group - Robot Framework
PDF
Test Automation Interview Questions and Answers | Edureka
PPTX
Track code quality with SonarQube
PDF
Introduction to DevOps | Edureka
PPTX
Tools for Software Testing
PPTX
A Crash Course in Building Site Reliability
PPSX
JavaScript Basic
Integration Group - Robot Framework
Test Automation Interview Questions and Answers | Edureka
Track code quality with SonarQube
Introduction to DevOps | Edureka
Tools for Software Testing
A Crash Course in Building Site Reliability

What's hot (20)

PDF
Performance Engineering Masterclass: Introduction to Modern Performance
PPTX
SonarQube Presentation.pptx
PPTX
Coding standards for java
PDF
Golang
PDF
ATDD Using Robot Framework
PDF
Top 50 Software Testing Interview Questions & Answers | Edureka
PPTX
PHP environment setup installation
PDF
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
PDF
Software Testing Tools | Edureka
PDF
Ruin your life using robot framework
PPT
Test Automation Framework Designs
PPTX
Jenkins CI
PPTX
DevOps 101
PDF
Robot framework and selenium2 library
PPTX
Agile scrum
PDF
Test cases
PPTX
Introduction to Django Rest Framework
PDF
Agile Assessment Version 1.0
PPTX
Bdd and spec flow
Performance Engineering Masterclass: Introduction to Modern Performance
SonarQube Presentation.pptx
Coding standards for java
Golang
ATDD Using Robot Framework
Top 50 Software Testing Interview Questions & Answers | Edureka
PHP environment setup installation
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
Software Testing Tools | Edureka
Ruin your life using robot framework
Test Automation Framework Designs
Jenkins CI
DevOps 101
Robot framework and selenium2 library
Agile scrum
Test cases
Introduction to Django Rest Framework
Agile Assessment Version 1.0
Bdd and spec flow
Ad

Similar to Achieving Technical Excellence in Your Software Teams - from Devternity (20)

PDF
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
PDF
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
PPTX
Technical Excellence Doesn't Just Happen - AgileIndy 2016
PDF
It's XP, Stupid
PPTX
Why Isn't Clean Coding Working For My Team
PPTX
You cant be agile if your code sucks
PDF
Five XP Practices for Agile Development
PDF
Developers Developers Developers
PDF
Five XP Practices for Agile Development
KEY
Essential practices and thinking tools for Agile Adoption
PDF
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
PPTX
It's XP Stupid (2019)
PDF
Pair Programming, TDD and other impractical things
PDF
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
PPTX
Agile mindset
PPTX
Skill of superb developers
PDF
Envisioning improving productivity and qaulity through better backlogs agi...
PDF
Back To Basics: Agile Practices
PPT
Arch factory - Agile Design: Best Practices
PDF
A Self Funding Agile Transformation
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
Technical Excellence Doesn't Just Happen - AgileIndy 2016
It's XP, Stupid
Why Isn't Clean Coding Working For My Team
You cant be agile if your code sucks
Five XP Practices for Agile Development
Developers Developers Developers
Five XP Practices for Agile Development
Essential practices and thinking tools for Agile Adoption
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
It's XP Stupid (2019)
Pair Programming, TDD and other impractical things
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
Agile mindset
Skill of superb developers
Envisioning improving productivity and qaulity through better backlogs agi...
Back To Basics: Agile Practices
Arch factory - Agile Design: Best Practices
A Self Funding Agile Transformation
Ad

More from Peter Gfader (20)

PPTX
How to make more impact as an engineer
PDF
13 explosive things you should try as an agilist
PDF
Use Scrum and Continuous Delivery to innovate like crazy!
PDF
Innovation durch Scrum und Continuous Delivery
PPTX
Speed = $$$
PPTX
Qcon london2012 recap
PPTX
Continuous Delivery with TFS msbuild msdeploy
PPTX
Silverlight vs HTML5 - Lessons learned from the real world...
PPTX
Clean Code Development
PPTX
Data Mining with SQL Server 2008
PPTX
SSAS - Other Cube Browsers
PPTX
Reports with SQL Server Reporting Services
PDF
OLAP – Creating Cubes with SQL Server Analysis Services
PPT
Business Intelligence with SQL Server
PPTX
SQL Server - Full text search
PPTX
Usability AJAX and other ASP.NET Features
PPTX
Work with data in ASP.NET
PPTX
Introduction to ASP.NET
PPT
Web services, WCF services and Multi Threading with Windows Forms
PPT
N-Tier Application with Windows Forms - Deployment and Security
How to make more impact as an engineer
13 explosive things you should try as an agilist
Use Scrum and Continuous Delivery to innovate like crazy!
Innovation durch Scrum und Continuous Delivery
Speed = $$$
Qcon london2012 recap
Continuous Delivery with TFS msbuild msdeploy
Silverlight vs HTML5 - Lessons learned from the real world...
Clean Code Development
Data Mining with SQL Server 2008
SSAS - Other Cube Browsers
Reports with SQL Server Reporting Services
OLAP – Creating Cubes with SQL Server Analysis Services
Business Intelligence with SQL Server
SQL Server - Full text search
Usability AJAX and other ASP.NET Features
Work with data in ASP.NET
Introduction to ASP.NET
Web services, WCF services and Multi Threading with Windows Forms
N-Tier Application with Windows Forms - Deployment and Security

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Cloud computing and distributed systems.
PPTX
A Presentation on Artificial Intelligence
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation theory and applications.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Cloud computing and distributed systems.
A Presentation on Artificial Intelligence
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Monthly Chronicles - July 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Per capita expenditure prediction using model stacking based on satellite ima...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation theory and applications.pdf

Achieving Technical Excellence in Your Software Teams - from Devternity