Upload
neil-killick
View
591
Download
0
Embed Size (px)
Citation preview
Principle-drivenscalingHow to grow value without growing overhead
Neil Killick, Head of Engineering
@neil_killick @LocomoteGroup
We have global ambition.❏ We want to build the best corporate travel experiences in the world
❏ We want to grow from a startup into a global player in international markets
❏ Leaders of the company understand importance of being agile❏ Quickly seize opportunities❏ Don’t over-invest❏ Test ideas/assumptions❏ Generate value early
We must have a vision and strategy for how we grow.
❏ Don’t be random! What do we care about - Startup culture? Great workplace? Agility?
❏ What does awesome look like?
❏ How will we get there?
❏ Keep momentum - small changes and experiments
This strategy must bebased on principles.
❏ Spotify model is not a “scaled agile framework” - it’s an evolving outcome of principle-driven scaling - they thought “how do we grow but stay ourselves?”
❏ Most companies adopting agile are big and complicated - it’s too hard
❏ Need principles when growing to make good decisions
Avoid scaling overhead.❏ Do we want a hierarchical “chain of command”?
❏ Perpetuates command-and-control, theory X mindset❏ Puts teams further away from decisions and empowerment❏ Creates a management cost (i.e. to grow, we need more managers)
❏ “Project” and “program” overhead❏ Project and program management needs Managers❏ Pulling down and re-forming teams❏ Meetings, reporting, heavy governance, etc.
❏ Concrete processes are too hard to change if not working
Understand our capacity...❏ Capacity != Number of people
❏ Capacity = Team or org’s ability to sustainably deliver value in a period of time
❏ Limit demand to capacity❏ Other businesses get this, software companies often don’t❏ Provide excellent products and services to existing customers❏ Minimise overhead of adding customers (e.g. custom solutions,
deployments, meetings, etc.)
Then increase it.❏ Growing capacity through improvement in culture and process is a prerequisite
for effective hiring, and is more effective in itself
❏ Technical debt, firefighting, bugs and support calls (aka failure demand) squeeze capacity to do value-adding work
❏ Focus on root causes for fast increase in capacity
❏ Encourage understanding and improvement of capacity at team and system level
We must “grow”our teams...❏ Create a learning environment where teams can do their
best
❏ Connect teams to the goals of the company and the customer
❏ Increase probability of new hires resulting inadded capacity
But stay small.
We must get right balance forCo-lo v Remote v Distributed.
❏ Distributed opens up worldwide talent pool and round-the-clock productivity
❏ 100% co-located and 100% distributed teams optimise comms, workshops etc. for all team members
❏ Remote teams where 1 or 2 folks are remote have suboptimal comms
❏ Consider time zones
We want teams thatare stable...
❏ Adding/removing folks from teams is risky and often costly
❏ Pulling high performing teams apart is plain crazy
❏ Sub-optimise only one team when hiring to minimise impact
❏ Work flows through teams, not teams around work
Autonomous...❏ Can deliver fully tested, working customer features (i.e. value) on their own
❏ Must be cross-functional to do this
❏ No asynchronous dependencies on teams or tools
❏ New team (or team with new focus) can start adding value right away
❏ Highly scalable, particularly with distributed teams
Aligned.❏ 2 or 3 themes represent current company-wide high level priorities,
deliverables and milestones
❏ Themes have backlogs of tradable options
❏ Teams align to themes until there is more value in other themes (new or existing)
❏ A team focuses on just ONE theme at any given time (to allow empirical progress tracking and to respect the priorities)
We use our own portfolio kanban to help us do this.
❏ Make all work visible❏ Prioritise and order all work❏ Match demand with capacity❏ Communicate❏ Collaborate
Big Visible Board
❏ Single source of truth
❏ Forces prioritisation discussions
❏ No hidden work
Why a physical board in adistributed company?
❏ Limited in size which makes it perfect to create focus
❏ Requires people to meet around it to talk about the work
❏ If a sticky note representing the work doesn’t fit on the board, stuff currently on the board is more important - don’t waste energy on it right now
❏ Too easy to create new (invisible) work in Jira - every item of work added is potentially delaying existing work in flight, causing compromises in quality to be made
We need to be very good at prioritising!
Create goals and a continuous improvement imperative.
❏ Emphasise product and operational metrics we care about
❏ Place expectation on all employees to continuously improve these metrics rather than just “deliver features”
❏ High quality vs Deadlines - consistent message
❏ Early and often earned value vs Big risky projects
In summary...❏ Define vision and strategy for how to keep what you care about as you grow
❏ Understand your capacity so you can balance demand, keep nimble and seize opportunities
❏ “Grow” stable teams, and stay small
❏ Consider impacts of co-located v remote v distributed teams
❏ Create aligned autonomy using goals, continuous improvement and portfolio kanban
❏ Get good at prioritising by comparing value, not opinion, and making trade-offs
Thank you!Questions / Discussion
Neil Killick, Head of Engineering
@neil_killick @LocomoteGroup