In this session, we will discuss how to achieve real technical excellence that matters to the Business, how to build trust between Business and Tech, and how Business can react quickly and beat the competition with help from Tech. After many years in professional software development, we experienced the impact of Business’ decisions on Tech, the importance of technical excellence for the Business, and the role of Software Craftsmanship/Craftswomenship in achieving technical excellence.
We learned that Tech is an enabler for the Business, that Business is a key stakeholder, that mastery in practices such as Software Craftsmanship/Craftswomenship leads to technical excellence that really matters. Then, in an unexpected turn of events, we learned these assumptions were flawed, it was much more than that.
8. 26 APRIL 2017
CRAIG DONALDSON - METRO BANK CHIEF EXECUTIVE
ABOUT BUYING CO-OP BANK
I don’t want to buy another business because
I’d be buying their legacy technology
It would just slow down our growth
@LukaDotNet
9. 2017
GREGOR HOHPE - TECH DIRECTOR GOOGLE CLOUD
People at Google don’t say “IT” (information
technology) because
the business & tech work closely together
- IT is an integral part of the business.
@LukaDotNet
10. 2019,
LUCA MINUDEL & PAOLO POLCE
In nowadays digital economy
the Business & Tech
are one and the same
@LUKADOTNET@PAOLOPOLCE
13. TECH EXCELLENCE UPWARD SPIRAL
To Technical excellence
From Continuous Improvement
To great profits
From a good product
UPWARD=>
TECHNOLOGY BUSINESS
14. TECHNICAL EXCELLENCE DOWNWARD
SPIRAL
From Technical debt
To Technical bankruptcy
From a non competitive product
To shrinking market and profits
TECHNOLOGY BUSINESS
DOWNWARD=>
16. F1 TEAMS FACE
- HUGE PRESSURE TO CONSTANTLY
DELIVER+LEARN
- FREQUENT & UNESCAPABLE REALITY
CHECKS
- FAILURE AND SUCCESS OUT IN THE OPEN
SUCCESS STORIES FROM F1
18. SITUATION #1: RAMPING UP
… EXPANSION INTO NEW
INTERNATIONALMARKETS,
SCALING THE # OF USERS_
19. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
STORIES: ONE FINTECH START-UP & ONE BANK
Geographic expansion.
From early adopters to the majority of users.
20. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
TECH EXPECTED TO
PULL A RABBIT OUT OF A HAT
21. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
STORIES: ALTERNATIVE FINALE
Geographic expansion.
From early adopters to the majority of users.
22. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
BUSINESS FORCED TO
SLOW DOWN AND …
23. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
BUSINESS FORCED TO
SLOW DOWN AND …
24. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
STORY: F1
From an ad-hoc solution for a specific track/race to a standard
solution for every race.
Promoting experimental app with just one or few users to
official app used by the whole team.
25. EXPANDING IN NEW MARKETS, SCALING
THE # OF USERS
RELENTLESS PURSUE OF SIMPLICITY SIMPLE
DESIGN =
LOW-COST
HIGH-VALUE
FLEXIBILITY
FROM
TO
26. SITUATION #2: STRATEGISING
> RE-USE PARTS OF EXISTING
PRODUCTS TO CREATE NEW ONES,
SWITCH TOTHE LATEST
TECHNOLOGIES TO REJUVENATE
EXISTING PRODUCTS…
28. TECH OPTIONS STRATEGIC FOR THE
BUSINESS
STORIES: FAST GROWING ONLINE MARKET RESEARCH,
FINTECH
Speed up the creation of new products
reusing and integrating parts of the existing products
30. TECH OPTIONS STRATEGIC FOR THE
BUSINESS
STORY: F1
Switching to a different technology.
Upgrading to a newer version (tools, frameworks, language).
31. TECH OPTIONS STRATEGIC FOR THE
BUSINESS
FROM HIGH COUPLING TO LOW COUPLING
WITH MINIMAL DEPENDENCIES
34. SITUATION #3: FASTER, CHEAPER
… PRODUCT NEEDS TO EVOLVE
FASTER, TIME-TO-MARKET &
COSTS NEED TO BE REDUCED _
35. REDUCING COSTS & TIME-TO-MARKET
STORY: ONLINE GAMING AND BETTING COMPANY
Striving to achieve:
-More competitive prices
-Faster time-to-market
-Sustainable costs of maintenance/evolution
-Lower costs of clients acquisition
36. REDUCING COSTS & TIME-TO-MARKET
CLIMBING A HUMAN TOWER
MAKING YOUR MOVE AT JENGA
37. REDUCING COSTS & TIME-TO-MARKET
STORY: F1
Want to:
-Maximise the number of features released
-Evolve a huge code-base with few & relatively small teams
38. REDUCING COSTS & TIME-TO-MARKET
GRADUALLY AND STEADILY COMPOSING PIECES TO SOLVE THE PUZZLE
42. PRODUCT’S RELIABILITY
STORY: SAME ONLINE GAMING AND BETTING COMPANY AS
BEFORE
Needs to tackle quickly product’s reliability problems while:
-Keeping customers happy
-Limiting users frustration
-Improving company reputation
-Ensuring service continuity and related revenue stream
44. PRODUCT’S RELIABILITY
STORY: F1
Don’t create reliability problems or any kind of extra work or
extra complexity for the race team (the users).
Recover quickly from bugs and incidents in production.
46. BUSINESS + TECH, HOW TO TANGO:
LESSONS LEARNED(*)
(*) EXAMPLES IN CONTEXT,
NOT SILVER BULLET RECIPES
47. LESSONS LEARNED (*)
1. A GROWTH MINDSET:
continuously learning & improving while delivering
2. BLAMELESS CULTURE:
learning from mistakes, avoid repeats, remove root causes
3. BIZ-TECH COLLABORATION & TRUST:
…
(*) EXAMPLES IN CONTEXT, NOT SILVER BULLET RECIPES
48. HOWWE BUILT BUSINESS-TECHTRUST
WE (TECH) WON BUSINESSTRUST BY
◻ delivering tech excellence that had a tangible positive impact
◻ volunteering to share with the Business the responsibility,
blame and praise, joy and pain of our deliveries
OUR BUSINESS WAS OPENTO
◻ understand technology implications, constraints and
opportunities
◻ solve problems and find solutions collaborating with us
50. LESSONS LEARNED (*)
1. A GROWTH MINDSET:
continuously learning & improving while delivering
2. BLAMELESS CULTURE:
learning from mistakes, avoid repeats, remove root causes
3. BIZ-TECH COLLABORATION & TRUST:
deliver promised benefits , share success/failure responsibility
4. SOFTWARE CRAFTS(WO)MANSHIP AS A STARTING POINT:
a quick recap of forgotten lessons…
(*) EXAMPLES IN CONTEXT, NOT SILVER BULLET RECIPES
51. MEMO: GOALS OFTECHNICAL EXCELLENCE
A. INCREASE THE SPEED OF LEARNING
B. REDUCE THE COST OF CHANGE
C. MAKE IT FAST, EASY, AND CHEAP TO REVERSE DECISIONS AND
MISTAKES (TACKLE IRREVERSIBILITY)
52. TIPS FORWHEN PURSUINGTECH EXCELLENCE
I. SEARCH SPECIFIC SOLUTIONS (NOT GENERAL)
II. SEARCH LOCAL SOLUTIONS (NOT GLOBAL)
III. START SIMPLE (NOT ALL-INCLUSIVE)
IV. BE JUST-GOOD-ENOUGH JUST-IN-TIME (NOT PERFECT UPFRONT)
V. FOCUS ON ONETHINGATTHETIME (NO MULTI-TASKING)
VI. IF SOMETHING IS HARD, DO IT MORE OFTEN (NOT LESS OFTEN)
53. LESSONS LEARNED (*)
1. A GROWTH MINDSET:
continuously learning & improving while delivering
2. BLAMELESS CULTURE:
learning from mistakes, avoid repeats, remove root causes
3. BIZ-TECH COLLABORATION & TRUST:
deliver promised benefits , share success/failure responsibility
4. SOFTWARE CRAFTS(WO)MANSHIP AS A STARTING POINT:
a quick recap of forgotten lessons…
5. TECH EXCELLENCE PURSUED IN CONTEXT:
evolve/adapt tech excellence practices to fit what benefits biz context
(*) EXAMPLES IN CONTEXT, NOT SILVER BULLET RECIPES
Who works in product / business ?
Who works in tech ?
Who started to learn and practice agile from 2001-2-4 ?
Tech background
20 years of experience in prof software development most of them with Lean & Agile ways of working
I gradually moved my focus from 100% delivery to also tech-coaching and then to coaching managers & execs on the business side
Together with Paolo with do full stack coaching both with business and tech
Agile
- Did you know … first & most influential agile frameworks invented developed during the 80-90
- Mainly SW dev, underground, revolutionary = subverting the status quo def of good in prof sw dev
- ‘99-2001 books, practices - lucky to work with … - succeed inside sw - then glass ceiling
- Now mainstream, primarily team level and management/leadership
- Tech agility has been forgot => this contribute to tech debt => affect negatively business
The need for tech involvement with business
has grown over time
and now it is fundamental: tech and buss need to embrace a deep collaboration
------------------------------------------------------
Enabling:
internal, ERP, Accounting, etc
Supporting
Support product / service delivery: logistic automation, Internal support ticketing system, etc
Differentiating- Internet and dot-com era, connected products, additional online services
One & Same
- Primacy of Digital products – tech at the heart of the business
In 2011, Marc Andreessen wrote an article titled “Why Software Is Eating The World” for WSJ
He examined how new companies displaced established businesses: Borders by Amazon, Blockbuster by Netflix, and so on.
Andreessen is the co-author of Mosaic, the first browser of the Internet. He sits on the board of directors of Facebook, eBay, and Hewlett Packard Enterprise, among others.
Source: https://www.wsj.com/articles/SB10001424053111903480904576512250915629460
COMBUSTION ENGINE
Why what F1 teams do may be relevant for your business that creates digital products of offer dig services?
Sw used in
car, pit wall, garage, home factory
in the whole lifecycle of every part of the car and the whole car
…
http://www.mclaren.com/formula1/team/a-brief-history-of-computing-in-F1-1052199/
Combustion engine car
Drive by wire
Tech is an integral part of the product
IT is the business
As in your business developing digital prods and services
http://wescrutinize.com/tech-inside-lewis-hamiltons-f1-steering-wheel/
http://www.mclaren.com/appliedtechnologies/case-study/standard-ecu-formula-1
http://www.formula1-dictionary.net/brake_by_wire.html
https://www.carthrottle.com/post/drive-by-wire-a-car-guys-judgement-day/
2 types of dynamics, a positive one
Virtuous circle - Upward spiral
When you have a successful product idea and the money to build it …
https://thenounproject.com/
Vicious circle - Downward spiral
When you have a successful product idea and the money to build it …
Image from https://thenounproject.com/
Not that F1 teams got things right immediately but the learn from mistakes
Pressure = multibillion-dollar business + the pinnacle of the motorsport competition Whereas many organisations that don’t face the same pressure struggle to find the time to do the same under the pressure of their delivery commitments.
Out in the open = an entertainment with one of the largest worldwide audiences
FinTech & Banking => different regulations, different eco-system (e.g. of payments) , slightly different users problems and habits
Product : POC => Prototype => Minimum Viable Prod
= some shortcuts , cut some corners
Tech: long big redesign Buss: quick shortcuts/cut corners
New product was an experiment created with tactical shortcuts and cutting more corners Product success drove more request and pressure to deliver.Responding quickly/timely to those new business opportunity was not possible because of the bad state of codebase and infrastructure
=> The solution taken was … an improvised hack: taking again shortcuts, cutting more corners e.g. code-base duplication or coding by conditional statements and flags
- maintenance and development time and costs multiplied - ballooning up
- surging IT operations costs per user
- headcount in the SW Dev dept reaching the ceiling
When Tech win …
Very rare, observed in a small tech startup IT driven
Tech win the argument or the codebase reaches its natural end of life and there are no other alternatives:
Business is asked to wait indefinitely until all the tech problems were solved … and …
Business lose momentum and … => PLAY
- opportunity to expand in new market lost, opportunity to acquire new clients lost
- https://youtu.be/v9LyQF1cx74
Examples: Excel, MATLAB - SYMULINK for telemetry or sym calculations
F1: => multi-user, multi-site, remote access and data replication, , security, backup/restore, versioning and automatic 1-click remediation plans
Examples: Excel, MATLAB for telemetry or sym calculations
F1: => multi-user, multi-site, remote access and replication, , security, backup/restore, versioning and automatic 1-click remediation plans
F1: every tech shortcut slowed down next features in the same area, or made work extremely difficult for those that had to come back to the same area months/a year later
We learned quickly that this does not work (except for exceptional cases with well aware tactical solutions and plans for repaying the tech debt)
Conversations with Business and tech to identify and agree where/what is useful
- Simplicity to reduce the tech debt created, Flexibility to enable future evolution and discipline to gradually remove the shortcuts
Relentlessly pursuing simplicity
Specific not generic, good-enough not all-inclusive, no unnecessary complexity and over-engineering (KISS, YAGNI)
Simple design with low-cost high-flexibility
Good-enough architecture and designConversations with Business and tech to identify where they hold the lower ground: areas with more unknowns where changes are more likely to be very expensiveand adopt low-cost design to enable fact/cheap changes (good modularity, separation of concerns and low coupling, OCP, DRY)
Avoid overdoing itspeculative generalisation, expensive flexibility, or configurability obsession
Img JoyOfTech.com
------------------------------------
Technology needs to support business goals not cater to technologist whims.
Business would like to be able to decide between reuse/adapt/build/buy options
Business didn’t make space for Tech to prepare for this
Tech didn’t create flexibility where it was most useful for the business
=> high-coupling and lot of dependencies between unrelated components in the codebase
=> This limits decisions at best to short term tactical thinking (strategic thinking not possible)
More examples:
- Technology/Vendors lock-in because of the impact of switching to a different tool/technology/vendor (SaaS / IaaS / PaaS provider)
- efforts to Integration external services underestimated, unpredictable, excessive
Image from https://www.sampletemplates.com
Examples: MES ECU, FIA Timing, new framework/dev env
Simplicity as an act of masteryAbility to gradually improve where brings tangible benefits
Image on the right from pixabay.com
Image on the left from the movie I Am a Fugitive from a Chain Gang, 1932
Overdoing it too (microservices hell)
Image on the left from the movie 2001: A Space Odyssey.
Image on the right from 200m2.co.uk
Because of the innovation / competitive advantage : high-revenue and very high-margins
Because of the pressure Tech could not pay required attention to tech excellence to the point that (pictures)
adding features become more and more difficult, time consuming, expensive and risky
- unhappy customers kept waiting for missing features and bug fixes
- missed deadlines
- profits reduced by higher costs and lower margins
- outpaced by competing products evolution
- competing products costs less (or are more profitable because higher margins)
Improve syms, telemetry, lap compare, engine mapping
Tech excellence can make it easy and fast to change, maintain and evolve code-base
Right practices to go faster and safer at the same time : test automation, real CI/CD, automatic remediation plans , etc
emerging architecture and design
minimised duplications, no over-engineering, no speculative complexity, no extra-dependencies
Image from www.remember.de
Better tech
- lower accidental complexity
- taming irreversibility with reversible options
Better prod quality , more business options, safer smoother product operations
Reality was:
a) the house is on fire: everybody is busy firefighting, trying to keep the systems up’n’ running and avoiding service interruptions with these consequences
missed revenues because service is down
reputation damage
very unsatisfied users and customers
b) everybody is busy fixing bugs (and creating new bugs)
most of the time and effort is spent on support and bug fixing
c) Two teams, one delivery and one maintenance creating a conflict that leads to low quality and 10x lower productivity
Company lost momentum it has been acquired by a competitor at a very low price,
IT dept closed down, and customers migrated to the buyer systems
---------------------------
They build it others fix it organizational patterns induces massive amounts of waste since the pains from low quality is not feelt by those creating the problems.
OPTIONAL Examples: Massa stranded because of bug on new MES ECU
Alonso strategy mistake because user error
Recently Mercedes strategy mistake (2018 Hamilton)
Where it worked (e.g. in the F1 team)
instead of separated release and maintenance teams to teams fully responsible of the whole product lifecycle (from ideation to decommissioning)
instead of just bug fixing to removing the root cause
instead of last mile QA to early and frequent tests and code reviews
automatic remediation plan (1-click rollback) to reduce the cost of mistakes
In a fast paced high pressure environment I had to learn how business and it quality are inextricability connected to each other
PERFORMANCE GOAL VS LEAN & CHANGE
BBC NHS
Tech = DevOp Infrastructure etc not just devs
X-funct collaboration
Shared artefacts/info
Consensus around good decision making
AKA Co-creation
Feedback loops AKA co-evolution
FOR TECH EXCELLENCE
What is needed to make your Tech/production practices depend on your business/industry.
In IT we have many of them described in Extreme Program methodology
I cannot talk about practices in each one of your industries, but I can share some principles and and example
F1 Stamps
Reduce the cost of change, increase the speed of learning
Facebook, Kent Back, article
https://www.facebook.com/notes/kent-beck/taming-complexity-with-reversibility/1000330413333156/
Cargo cult quality, quality out of context that does not help business
Tech excellence is about connecting your mastery to the business specific needs/goals
Tech excellence is about connecting your mastery to the business specific needs/goals
Cargo cult quality, quality out of context that does not help business