Agile Technical Leadership
Alex Bolboacă,  @alexboly,  alex.bolboaca@mozaicworks.com
October 2017
The Problem
One Solution: Technical Leadership
Some Context
Let’s Explore Together
Closing
The Problem
Tell me if this sounds familiar
Someone made a decision 5 years ago that is now very costly to maintain
and very costly to change
Eg. caching
Tell me if this sounds familiar
A set of incremental decisions has led to a difficult context
Eg. customize the product for each customer, end up with hundreds of
different versions
Tell me if this sounds familiar
More teams work on a product, each made their own architectural decisions
and now code is inconsistent
Eg. 15 different interprocess communication methods
What do these have in common?
Complex adaptive systems!
… dynamic network of many agents (which may
represent cells, species, individuals, firms, nations)
acting in parallel, constantly acting and reacting to
what the other agents are doing.
John H. Holland
Interesting because …
The control of a CAS tends to be highly dispersed and
decentralized.
If there is to be any coherent behavior in the system, it
has to arise from competition and cooperation among
the agents themselves. The overall behavior of the
system is the result of a huge number of decisions
made every moment by many individual agents.
So
There’s another way
Constraints!
One Solution: Technical Leadership
Agile Technical Leadership
The responsibility of setting constraints in order to make the development
more effective on mid/long term
The responsibility of making strategic technical decisions
Can there be technical leadership in agile?
Not only it can, there always is.
We want more. We want effective technical leadership.
Who should do technical leadership?
• Technical leads?
• Architects?
• CTOs?
• Everybody?
• Nobody?
Main thesis
Technical leadership is a core competency that will be filled formally or
informally in any development team.
To ensure effective development, we need to understand better how
technical leadership works in agile teams.
Some Context
All our practices are constraints
Code review - someone else needs to give feedback on the code you wrote
Pair programming - work with someone else on complex tasks
TDD - write one failing test, write the minimum code to make it pass, refactor
Continuous Integration - keep everyone’s changes integrated as quickly and
as often as possible
Daily meeting - synchronize daily with your team mates
Crafters movement
As a software crafter, I choose to impose constraints on myself because I
believe they are valuable
Following constraints = discipline
Side note
“Scrum assumes craftsmanship”, Ken Schwaber, OpenAgile Romania 2009
Strategic vs. Tactic decisions
Strategic decisions are decisions you need to make but are difficult to revisit
later
Eg. choice of programming language, architecture style, deployment etc.
Tactical decisions are decisions you need to make but are easy to revisit
later
Eg. how we implement an algorithm
Few more ideas
“Cross functional” means teams have all the necessary competencies. This
includes the competency of setting constraints and making strategic
technical decisions
Technical leadership is formal or informal. It doesn’t matter as long as it’s
effective.
Let’s Explore Together
Group exercise: Constraints
As a group, discuss and write down a list of constraints that you use in your
teams and the reasoning behind using them.
Hint: imagine you had no constraints at all, and compare with the current
way of working
Example
In Mozaic Works we use:
• checklists because they help us maintain a high level of quality even
when under pressure
• unit testing because it validates faster the correctness of the product
• design elements because it allows people who are learning design to
create consistent and correct code faster
• BDD Specs because they help clarify requirements before starting
• domain modeling because it helps minimise database migrations
• continuous deployment because it helps reduce deployment risks
Group exercise: Practices of technical leadership
As a group, imagine you are the new technical lead for your product.
Imagine you can change anything.
What would you do? Can you extract a list of practices?
Example
In Mozaic Works, I have:
• defined a clear technical vision: only full stack developers, responsible
from analysis to deployment, responsible for the quality of their work
• defined a testing strategy: what we test, with what types of tests etc.
• defined coding guidelines. Key ideas: focus on simplicity & readability,
write as little code as possible
• defined the configuration management policy: when to push, when to
branch, when to merge, how branches relate to production / staging /
testing etc.
• helped developers adopt the practices we need: training, deliberate
practice with daily katas & coding dojos etc.
• kept in touch with the developers needs through one-to-one meetings
and writing code together
Group exercise: make a strategic decision
You are in charge with deciding what web framework to use for a brand new
project in your company.
What criteria do you use to make your decision?
Answer
When I picked groovy on grails for our product, I looked at three different
frameworks, built prototypes and compared:
• how easy it is to write a simple web application
• how easy it is to write tests
• the community
• the reported bug count
Reflect
Was it difficult to make this decision? Why?
How confident are you that you made the right decision?
Group exercise: Strategic decisions
As a group:
• think about and write down a list of strategic decisions that were
made for your product
• pick one decision you are unhappy with
• what would you decide instead?
Reminder: strategic decisions are decisions difficult to change once they are
made. They typically affect more people and have effect over a longer
period of time.
Example
In Mozaic Works, I have decided to:
• use groovy on grails for all web applications
• use reactjs for complex front end pages
• use wordpress for all our websites
BUT:
• I am looking at more lightweight alternatives to grails (memory
consumption is high and costly on cloud).
• I put too much emphasis on learning and not enough on speedy
delivery.
Group exercise: mindset required for strategic decision making
You are now part of a technical leadership group for your product. You need
to make decisions related to:
• architecture that can affect next 2 years of development
• practices to use in teams to help improve effectiveness
• tools to adopt for improving code quality
As a group, think and write down:
• what is challenging when making strategic decisions? (hint:
uncertainty, incomplete information)
• what mindset should somebody have to make effective strategic
decisions? (hint: should be able to cope with uncertainty)
Learning strategic decision making
Bad news: not native
Good news: can be learned through practice
Where to start:
• decision models
• find three solutions for every problem
• understand advantages and disadvantages for each solution
• CIA checklist
• identifying criteria before evaluating solutions
• looking at a problem from different angles
• thinking at different levels of abstraction
• be comfortable with incomplete information and uncertainty
Closing
What did you learn?
Individually, write down one thing you learned today. Can you apply it in
your team?
Learn more
Mozaic Works blog https://blog.mozaicworks.com
Thank you!
I’ve been Alex Bolboacă, @alexboly, alex.bolboaca@mozaicworks.com
programmer, trainer, mentor, writer
at Mozaic Works
Think. Design. Work Smart.
https://mozaicworks.com
Join me for Berlin workshops
https://mozaicworks.com/calendar/#Berlin
Q&A
Q&A

More Related Content

PDF
Introduction to Agile Software Development Process
PPT
Agile development, software engineering
PDF
Continuous Deployment Through Technical Excellence
PPT
Ruud Teunissen - Test Process Improvement on a Shoestring
PPTX
Will Robots Replace Testers?
PDF
Lean Software Development - Part I
PDF
[Mush Honda] Software Testers From Good to Great
PPTX
Communicated deadlines = bad quality
Introduction to Agile Software Development Process
Agile development, software engineering
Continuous Deployment Through Technical Excellence
Ruud Teunissen - Test Process Improvement on a Shoestring
Will Robots Replace Testers?
Lean Software Development - Part I
[Mush Honda] Software Testers From Good to Great
Communicated deadlines = bad quality

What's hot (20)

PPTX
Agile is as Agile Does
PPTX
Lean software development tips and tricks - Agile Tour Dublin 2014
PPTX
Defining Test Competence
PPTX
Improve the Development Process with DevOps Practices by Fedorov Vadim
PPTX
The Power of BDD
PDF
Usa prácticas de integración continua y sobrevive para luchar otro día.
PDF
Driving Quality. Front-to-Back Test-Driven Development
PPT
Risk management in software engineering
PPT
Transitioning To Agile Webinar Presentation
PPTX
PDF
Frug'Agile 2021: Agile as doctrine (and that's a good thing)
PDF
Agile software development
PDF
A Rapid Introduction to Rapid Software Testing
PPTX
QI, not QA
PPT
Erkki Poyhonen - Software Testing - A Users Guide
PPTX
Lean software development and scrum model
PDF
Lean Software Development
PDF
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
PPTX
Agile is as Agile Does
Lean software development tips and tricks - Agile Tour Dublin 2014
Defining Test Competence
Improve the Development Process with DevOps Practices by Fedorov Vadim
The Power of BDD
Usa prácticas de integración continua y sobrevive para luchar otro día.
Driving Quality. Front-to-Back Test-Driven Development
Risk management in software engineering
Transitioning To Agile Webinar Presentation
Frug'Agile 2021: Agile as doctrine (and that's a good thing)
Agile software development
A Rapid Introduction to Rapid Software Testing
QI, not QA
Erkki Poyhonen - Software Testing - A Users Guide
Lean software development and scrum model
Lean Software Development
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
Ad

Similar to Agile Technical Leadership (20)

PDF
Sea spin5 2013
PDF
Winning technical strategy for your teams and products
PDF
Launching agile projects template pack
PDF
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
PDF
Cultural Challenges In Global Agile
ODP
Why don't small companies do big a agile?
PDF
What needs to be true? Patterns of engineering agility
PDF
Why agile is failing in large enterprises
PPTX
Scaling Technology Organizations
PDF
A Self Funding Agile Transformation
PDF
Agile for everything dan greening
PPTX
AgileNCR 2019 _ The Soft Side of Software Development.pptx
PDF
Six Free Ideas to Improve Agile Success
PDF
Beyond the Crystal Ball –The Agile PMO - Heather Fleming and Justin Riservato
KEY
Encouraging Agile Discipline
PPTX
Software Project Health Check: Best Practices and Techniques for Your Product...
PPTX
DataSoft Bangladesh Limited Software Sol.
PPTX
Technical Excellence Doesn't Just Happen - AgileIndy 2016
PDF
Agile adoption tales from the coalface
PDF
Agile 2 Cliff Berg Kurt Cagle Lisa Cooney Philippa Fewell Adrian Lander Raj N...
Sea spin5 2013
Winning technical strategy for your teams and products
Launching agile projects template pack
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
Cultural Challenges In Global Agile
Why don't small companies do big a agile?
What needs to be true? Patterns of engineering agility
Why agile is failing in large enterprises
Scaling Technology Organizations
A Self Funding Agile Transformation
Agile for everything dan greening
AgileNCR 2019 _ The Soft Side of Software Development.pptx
Six Free Ideas to Improve Agile Success
Beyond the Crystal Ball –The Agile PMO - Heather Fleming and Justin Riservato
Encouraging Agile Discipline
Software Project Health Check: Best Practices and Techniques for Your Product...
DataSoft Bangladesh Limited Software Sol.
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Agile adoption tales from the coalface
Agile 2 Cliff Berg Kurt Cagle Lisa Cooney Philippa Fewell Adrian Lander Raj N...
Ad

More from Alexandru Bolboaca (20)

PDF
Refactor legacy code through pure functions
PDF
Design Without Types
PDF
Thinking in Functions
PDF
Raising the Bar
PDF
The Journey to Master Code Design
PDF
What is good software design? And why it matters?
PDF
Functional programming in C++
PDF
TDD As If You Meant It
PDF
Usable Software Design
PDF
Hidden loops
PDF
Removing structural duplication
PDF
Continuous delivery
PDF
Why You Should Start Using Docker
PDF
Pyramid of-developer-skills
PDF
Applied craftsmanship
PDF
Pyramid of-developer-skills
PDF
Stay focused
PDF
Kanban intro
ODP
Unit testing-patterns
ODP
Incremental design, simply explained
Refactor legacy code through pure functions
Design Without Types
Thinking in Functions
Raising the Bar
The Journey to Master Code Design
What is good software design? And why it matters?
Functional programming in C++
TDD As If You Meant It
Usable Software Design
Hidden loops
Removing structural duplication
Continuous delivery
Why You Should Start Using Docker
Pyramid of-developer-skills
Applied craftsmanship
Pyramid of-developer-skills
Stay focused
Kanban intro
Unit testing-patterns
Incremental design, simply explained

Recently uploaded (20)

PPTX
SmartGit 25.1 Crack + (100% Working) License Key
PDF
MAGIX Sound Forge Pro CrackSerial Key Keygen
PDF
Crypto Loss And Recovery Guide By Expert Recovery Agency.
PDF
Top 10 Project Management Software for Small Teams in 2025.pdf
PPTX
Human-Computer Interaction for Lecture 2
PDF
Workplace Software and Skills - OpenStax
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PDF
Odoo Construction Management System by CandidRoot
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PPTX
A Spider Diagram, also known as a Radial Diagram or Mind Map.
PDF
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
PPTX
Foundations of Marketo Engage: Nurturing
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
PDF
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
PDF
Mobile App for Guard Tour and Reporting.pdf
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
PDF
AI-Powered Fuzz Testing: The Future of QA
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PDF
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
SmartGit 25.1 Crack + (100% Working) License Key
MAGIX Sound Forge Pro CrackSerial Key Keygen
Crypto Loss And Recovery Guide By Expert Recovery Agency.
Top 10 Project Management Software for Small Teams in 2025.pdf
Human-Computer Interaction for Lecture 2
Workplace Software and Skills - OpenStax
What Makes a Great Data Visualization Consulting Service.pdf
Odoo Construction Management System by CandidRoot
HackYourBrain__UtrechtJUG__11092025.pptx
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
A Spider Diagram, also known as a Radial Diagram or Mind Map.
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
Foundations of Marketo Engage: Nurturing
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
SOFTWARE ENGINEERING Software Engineering (3rd Edition) by K.K. Aggarwal & Yo...
Mobile App for Guard Tour and Reporting.pdf
ROI from Efficient Content & Campaign Management in the Digital Media Industry
AI-Powered Fuzz Testing: The Future of QA
Cloud Native Aachen Meetup - Aug 21, 2025
Streamlining Project Management in Microsoft Project, Planner, and Teams with...

Agile Technical Leadership

  • 1. Agile Technical Leadership Alex Bolboacă,  @alexboly,  [email protected] October 2017
  • 2. The Problem One Solution: Technical Leadership Some Context Let’s Explore Together Closing
  • 4. Tell me if this sounds familiar Someone made a decision 5 years ago that is now very costly to maintain and very costly to change Eg. caching
  • 5. Tell me if this sounds familiar A set of incremental decisions has led to a difficult context Eg. customize the product for each customer, end up with hundreds of different versions
  • 6. Tell me if this sounds familiar More teams work on a product, each made their own architectural decisions and now code is inconsistent Eg. 15 different interprocess communication methods
  • 7. What do these have in common?
  • 8. Complex adaptive systems! … dynamic network of many agents (which may represent cells, species, individuals, firms, nations) acting in parallel, constantly acting and reacting to what the other agents are doing. John H. Holland
  • 9. Interesting because … The control of a CAS tends to be highly dispersed and decentralized. If there is to be any coherent behavior in the system, it has to arise from competition and cooperation among the agents themselves. The overall behavior of the system is the result of a huge number of decisions made every moment by many individual agents.
  • 10. So
  • 13. Agile Technical Leadership The responsibility of setting constraints in order to make the development more effective on mid/long term The responsibility of making strategic technical decisions
  • 14. Can there be technical leadership in agile? Not only it can, there always is. We want more. We want effective technical leadership.
  • 15. Who should do technical leadership? • Technical leads? • Architects? • CTOs? • Everybody? • Nobody?
  • 16. Main thesis Technical leadership is a core competency that will be filled formally or informally in any development team. To ensure effective development, we need to understand better how technical leadership works in agile teams.
  • 18. All our practices are constraints Code review - someone else needs to give feedback on the code you wrote Pair programming - work with someone else on complex tasks TDD - write one failing test, write the minimum code to make it pass, refactor Continuous Integration - keep everyone’s changes integrated as quickly and as often as possible Daily meeting - synchronize daily with your team mates
  • 19. Crafters movement As a software crafter, I choose to impose constraints on myself because I believe they are valuable Following constraints = discipline
  • 20. Side note “Scrum assumes craftsmanship”, Ken Schwaber, OpenAgile Romania 2009
  • 21. Strategic vs. Tactic decisions Strategic decisions are decisions you need to make but are difficult to revisit later Eg. choice of programming language, architecture style, deployment etc. Tactical decisions are decisions you need to make but are easy to revisit later Eg. how we implement an algorithm
  • 22. Few more ideas “Cross functional” means teams have all the necessary competencies. This includes the competency of setting constraints and making strategic technical decisions Technical leadership is formal or informal. It doesn’t matter as long as it’s effective.
  • 24. Group exercise: Constraints As a group, discuss and write down a list of constraints that you use in your teams and the reasoning behind using them. Hint: imagine you had no constraints at all, and compare with the current way of working
  • 25. Example In Mozaic Works we use: • checklists because they help us maintain a high level of quality even when under pressure • unit testing because it validates faster the correctness of the product • design elements because it allows people who are learning design to create consistent and correct code faster • BDD Specs because they help clarify requirements before starting • domain modeling because it helps minimise database migrations • continuous deployment because it helps reduce deployment risks
  • 26. Group exercise: Practices of technical leadership As a group, imagine you are the new technical lead for your product. Imagine you can change anything. What would you do? Can you extract a list of practices?
  • 27. Example In Mozaic Works, I have: • defined a clear technical vision: only full stack developers, responsible from analysis to deployment, responsible for the quality of their work • defined a testing strategy: what we test, with what types of tests etc. • defined coding guidelines. Key ideas: focus on simplicity & readability, write as little code as possible • defined the configuration management policy: when to push, when to branch, when to merge, how branches relate to production / staging / testing etc. • helped developers adopt the practices we need: training, deliberate practice with daily katas & coding dojos etc. • kept in touch with the developers needs through one-to-one meetings and writing code together
  • 28. Group exercise: make a strategic decision You are in charge with deciding what web framework to use for a brand new project in your company. What criteria do you use to make your decision?
  • 29. Answer When I picked groovy on grails for our product, I looked at three different frameworks, built prototypes and compared: • how easy it is to write a simple web application • how easy it is to write tests • the community • the reported bug count
  • 30. Reflect Was it difficult to make this decision? Why? How confident are you that you made the right decision?
  • 31. Group exercise: Strategic decisions As a group: • think about and write down a list of strategic decisions that were made for your product • pick one decision you are unhappy with • what would you decide instead? Reminder: strategic decisions are decisions difficult to change once they are made. They typically affect more people and have effect over a longer period of time.
  • 32. Example In Mozaic Works, I have decided to: • use groovy on grails for all web applications • use reactjs for complex front end pages • use wordpress for all our websites BUT: • I am looking at more lightweight alternatives to grails (memory consumption is high and costly on cloud). • I put too much emphasis on learning and not enough on speedy delivery.
  • 33. Group exercise: mindset required for strategic decision making You are now part of a technical leadership group for your product. You need to make decisions related to: • architecture that can affect next 2 years of development • practices to use in teams to help improve effectiveness • tools to adopt for improving code quality As a group, think and write down: • what is challenging when making strategic decisions? (hint: uncertainty, incomplete information) • what mindset should somebody have to make effective strategic decisions? (hint: should be able to cope with uncertainty)
  • 34. Learning strategic decision making Bad news: not native Good news: can be learned through practice Where to start: • decision models • find three solutions for every problem • understand advantages and disadvantages for each solution • CIA checklist • identifying criteria before evaluating solutions • looking at a problem from different angles • thinking at different levels of abstraction • be comfortable with incomplete information and uncertainty
  • 36. What did you learn? Individually, write down one thing you learned today. Can you apply it in your team?
  • 37. Learn more Mozaic Works blog https://blog.mozaicworks.com
  • 38. Thank you! I’ve been Alex Bolboacă, @alexboly, [email protected] programmer, trainer, mentor, writer at Mozaic Works Think. Design. Work Smart. https://mozaicworks.com
  • 39. Join me for Berlin workshops https://mozaicworks.com/calendar/#Berlin