5. ntcoding
MILLER’S LAW
The number of objects an average
human can hold in working memory
is 7 ± 2
https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two
10. “
ntcoding
Working here is so painful. I wish
management would do their job and
fix it.
— Angry Ex-colleague
11. ntcoding
Our goal is to evolve the
software architecture to meet
market demand faster than
our competitors.
12. ntcoding
TEAMS & SW ARCH. MUST COEVOLVE
Teams
Software Architecture
Customers
Build and evolve
Provides value to
Indicate raised
expectations to
The System of Work
The System of Software
The Market
30. ntcoding
DOG FOOD CONTEXT GOAL
We don’t want to optimise our flow,
we want to have the same
experience as customers in order
to grow our strategic capabilities.
32. ntcoding
DOG FOOD ECONOMICS
• ROI is not the goal - making a loss may be
acceptable
• Feedback to improve core products is the
goal
• Dog food context can grow into a product
33. ntcoding
DOG FOOD POLITICS
• Every team wants to build the star
product not a loss leader
(But it can evolve into a bona-fide product)
• Managers may use deceptive motivational
techniques
34. ntcoding
DOG FOOD TECHNOLOGY
• Freedom to use any technology
(to simulate the customer experience)
• Try out new tech in production
37. ntcoding
OCTOPUS ECONOMICS
• High levels of coordination can impact
flow in many teams
• For compliance scenarios, it is about
protecting rather than generating revenue
38. ntcoding
OCTOPUS POLITICS
• Nobody wants to slow down feature
delivery for somebody else’s roadmap
• High levels of synchronous alignment
39. ntcoding
OCTOPUS TECHNOLOGY
• Try to centralise complexity in the
Octopus
• Technology standardisation can help
• A bit of integration design up front can
save a lot of politics in the future
45. ntcoding
SLICE AND SCALE
• Adapt to changing consumer expectation
• Team may not want to lose responsibility
• A tight technical coupling may be hard to
break - analyse market and anticipate
evolution (see Wardley Maps)
49. ntcoding
SLICE AND SCATTER
• Expensive change - be sure it’s worth it
• Breaking up a team is not easy
• Software may be hard to decompose - a
rewrite may be necessary
51. ntcoding
SLICE AND MERGE
• Ensure rate of co-change justifies change
• Warning: Now there are 3 teams to
coordinate
• Technical separation may be painful
53. “
ntcoding
…multiple teams are unavoidable
and it reduces effectiveness. How can
we design teams so that the most
important outcomes are affected the
least?
— Sriram Narayan (@sriramnarayan)
54. ntcoding
Model the domain to reveal
inherent dependencies that
can turn into organisational
bottlenecks.