Agile Forest

Find your path to agility with Renee Troughton

Agile contracts. Those two words together in the title seem incredibly incongruent with Agile, after all, the Agile Manifesto’s third value is:

Customer collaboration over contract negotiation

But this doesn’t mean that you shouldn’t have a contract with a partner or vendor; it just means that the interactions, collaboration and outcomes that you make together should be your primary focus. 

So what does an Agile contracts really look like? What considerations should you bring into your Agile contract? Whether it be an outcome based contract or time and materials, the following are additions you should consider when working with a deliver partner to produce not just software, but real outcomes for customers.

Team Setup

  • Be clear on how far through a technical stack a team should be setup to include – eg Partner teams must be setup to deliver customer value work through the full technical stack. In complex, scaled environments Partner teams tend to not be optimised for reduced dependencies. 
  • Be clear on which roles you will provide into the team such as Product Owners, Experience Designers, and Service Designers
  • How big should be team be? Good team size is 7 +/- 2, but many Agilists think even this is too big.
  • Do you need to be explicit around what roles you don’t want a Partner to add? For example, you may not want Test Managers or other leadership roles beyond Scrum Masters.
  • How much should a Partner be allowed to move people between teams or taken off the account? Agile teams work because teams are persistent and learn over time how to effectively work together. Naturally there will be exceptions such as where there are personality clashes or capability issues but try to have stable teams.

Skills and capabilities

  • What is the approach to dealing with gaps in hard to find specialist capabilities – is it the responsibility of the Partner to address this or will your organisation provide a solution?
  • What skills and capabilities (soft or in programming languages) are you expecting of your Partner. Consider where Agile capabilities such as TDD, pair programming, continuous integration and deployment etc. fit in to these expectations.
  • What skills and capabilities are you guaranteeing to the Partner – for example, will you ensure that Product Owners are capable in defining Acceptance Criteria in order to support BDD?

Coaching

  • Who will be performing coaching – the Partner or your organisation? What is the ratio of coach to the number of teams that you are expecting a coach to support?
  • If the Partner is providing coaches how do you ensure quality – do you reserve the right to interview them? Do you have rights to approve or reject them?
  • When a coach starts, how to they get up to speed with your preferred way of working? Do they come onshore for a period of time?
  • How much flexibility do they have to blend the Partner’s way of working with your own? Do they have to fully comply against an expectation by a certain date (for example, an expected level of Agile maturity)
  • How much flexibility do they have in their personal coaching style -is it opportunistic, pathway driven or a combination?

Training

  • What Agile training will be provided or required by the Partner for its people? Is there a specific certifying body, level of proficiency or time period that training should be completed by?
  • Do you partake in the training to recommend improvements?
  • Are you responsible for providing all the content for the trainer or for onboarding the trainer in the delivery approach?

Technology

  • What is the minimum upload and download speed that Partner laptops have to meet? Throttling of connections can severely slow down continuous integration in teams and result in teams that avoid checking code in frequently.
  • Should each team have a permanent open channel (eg Skype or other) between the Partner and your organisation (to enable real time communication) 
  • What other key communication tools should each person have access to? Who provides the licencing for these?

Environment

  • Are there minimum expectations of cross over hours for communication? Often teams and Product Owners have only a two hour window (especially between Australia and India) to communicate – this includes all Agile ceremonies and any other discussions about work. This batching of communication causes significant delays in delivery.
  • What size of meeting room and video conferencing facilities should be available to Partner teams? Often teams have a room, but it is only big enough to squeeze three or four people into it comfortably. 
  • Should all Partner team members (or even tribe) be located in one city and in the same building (or even floor)? Co-location of tribes so that they are seated next to each other is critical to reducing rework and improving speed of delivery.

Tools

  • Should Partner team members be  able to access all tools and information from a single device? Single device support enables reduced downtime in switching devices but also importantly reduces the chance of communication batching.
  • What Story Management tool should the Partner be using? Who will pay the licence cost and how are they expected to use it? Be careful here, setting expectations that all Stories must be closed by the end of the Sprint will only drive inaccurate reporting. Another example is setting an expectation of no outstanding defects by end of Sprint – it may drive behaviour of teams commenting out test cases or code.
  • What expectations/restrictions are there for the Partner to access core tools for coding and source repository?
  • What mechanisms exist for Partners to escalate issues with tools, environments and access to data?

Process

  • What Agile ceremonies are Partner team members expected to attend?
  • What happens if there is a conflict between Partner ways of working and your organisations preferred ways of working?
  • Should the Partner be expected to establish team norms (Social Contract) in collaboration with your organisation?
  • What metrics is the Partner expected to report on? Don’t make this Velocity, it is the wrong thing despite it being  core Agile metric, look towards speed of features into production with high automated testing coverage.
  • What Retrospectives are run at the Partner contractual/relationship management level to continuously improve it?
  • How are new Partner teams onboarded with the way of working? Is there an initial incubation period where they are brought onshore to understand your organisation’s culture?
  • How fast should delivery impediments be resolved?
  • How should a Partner be involved with customer’s and customer testing so that they are aligned with the needs of your customers? 

Culture

  • What behaviours are encouraged? For example, raising objections when a problem or solution is perceived to be poorly conceived regardless of hierarchical position
  • How can you encourage full transparency of status so that if there is bad news this should be as soon as it is detected?
  • What assumptions should the Partner validate with your organisation?
  • How empowered is the Partner to solve problems themselves as they arise?
  • When visiting the Partner, should you be treated as a customer or a team member? Do you treat them as a Partner or a Vendor?
  • How are Partner leaders encouraged to behave with their team members? To what extent to you uphold these values yourself?

Technical Delivery

  • What expectations are there for automated tests and the extent of code coverage?
  • How often should the Partner be checking in their code?
  • On check in, is there an expectation that is is automatically built, re-validated by automated tests and deployed into a test environment?
  • Is bespoke code written for the organisation owned by the Partner or yourself?
  • To what extent do you expect the Partner to use techniques like Feature Toggling?
  • How will the Partner be expected to balance both development and operational support?
  • What SLAs exist for production defects?

Testing

  • Who is responsible for provision of environments for development and testing?
  • How are defects detected within the Sprint expected to be resolved?
  •  
  • What are the Partner expectations for who does testing and in what environments? Where do stubs get used?

Conclusion

Looking at all of these considerations you can be forgiven to think that this doesn’t seem very Agile at all. Where is the collaborative and trusting mindset? Where is continuous improvement? Yes, ideally these sorts of considerations wouldn’t be needed in an Agile partnership, but on a journey to Agility, some clarity of expectations can be better than standard Waterfall contract agreements.

Advertisements

 

SAFe-ty firstThere are now over half a dozen scaled Agile approaches on the market. From Large Scale Scrum (LeSS), to Nexus (Scrum.org’s scaled agile), Scrum at Scale (Jeff Sutherland’s version), Disciplined Agile Delivery (IBM’s version) and the Scaled Agile Framework (SAFe).

Whilst a few of these approaches have only been released in the last few years, many have been in use for a while with SAFe in use the longest from 2011.

They are generally additive frameworks – they utilise Scrum at their core, often utilising the concept of a Meta Scrum, a bigger Sprint across multiple teams that utilise smaller Sprints, first used back in 2006. Often they combine concepts – Meta Scrum, Scrum of Scrums, Scrum, Kanban and principles from Lean. It was because of this that many Agile practitioners like myself were willing to give scaled approaches time. Time to see who implemented them, time to see what worked, time to see how far it worked, time to see whether it resulted in long term change of real value.

Back in June 2016 I received my first long term information on how non customised, scaled transformations were going. I was speaking to a number of people who had spent the last year trying to implement SAFe within a government department. As I described my view on the limitations of scaling approaches, a number of them lamented that SAFe had not yet realised the lofty goals that management had expected of it. After my walk through, they said that they finally understood why it had fallen short.

Transformations do tend to take time and many of us had hoped that scaled approaches would be a gateway to a more comprehensive Agile implementation. I held out in hope that more time would move organisations onward to better agility.

Over the last few years I have seen a number of SAFe implementations, but I have yet to find one where senior leaders after a few years have said “This works amazing for us!”. What I hear instead is, “We thought we would go faster”, or “Getting work ready for the next Program Increment is impossible”.

Enough time has gone by now that I have now lost complete hope that SAFe will realise agility in organisations. Over a dozen senior leaders in organisations that have implemented SAFe have declared that it is not working for them. So where did it all go wrong?

The easy answer would be that it was being poorly implemented, but in almost every instance these organisations had brought in top tier experts in SAFe. So let’s look less on who is doing the implementation, and more to the implementations themselves and see the biggest callouts on why SAFe (or any other out-of-the-box scaled agile implementation) may not be the answer.

People treat it as a silver bullet

In fairness this is not a SAFe callout, or even a scaled agile issue. This is tremendously prevalent in the whole Agile community.

It comes into play when organisations hear the hype curve and think that if everyone else is doing Agile then they should too. They jump into Agile because the marketing tells them that they will deliver 200% more in half the time. They think if everyone has two days training then the results will come.

Today, I am shattering that illusion. If you are a senior leader and you think all you have to do is send people on training and then all your problems are solved, it just won’t happen.

Your people, your leaders, and especially yourself have to make serious change to get the intended results of Agile. And I am not just talking about doing a few ceremonies. I am talking about serious change – both in practices, policies, processes (all processes, not just software delivery), and especially behaviour.

Because Agile needs behavioural change to realise its benefits this is never going to be a journey taken overnight. Human behavioural change takes time, a lot of it. It takes anywhere from five to nine months of continually performing a new behaviour for it to become unconsciously triggered under stress. And leaders are often stressed. In this time, people will make mistakes, and they need to have a safe environment to learn.

If someone told you that the Agile Silver Bullet for a single person took six months and was fraught with failure would you think it was a Silver Bullet? No way! Stop thinking it is. Most organisations take five to ten years to complete a transformation across all its people. Agile really isn’t a sprint, it is a marathon, a 3100 mile Self-transcendence marathon.

It encourages massive batching

In the early days of Scrum it was mandated that Sprints were four weeks. I remember looking at this and after a few months of trying it wondering “Why a month?”. Not long after that, I started experimenting with three week, two week, one week and even one day sprints. Apparently I wasn’t the only one that felt it was odd, with many others experimenting and finding that two weeks almost always worked better than one month. Nowadays, if you tried to use a four week sprint, Agile folk would look at you as if you were crazy. They would lament that the feedback loops weren’t fast enough and that you should try to release something of value sooner.

My most significant issue with SAFe is that it is stuck in a similar vein of early days Scrum thinking – that larger is better. Program Increments (PIs) can be smaller, but everyone tends to implement them as a quarterly activity, this is because it isn’t a huge jump for organisations that already release quarterly, it can just fit in along with the existing organisational enterprise release cycles. Another reason that groups tend to have large Program Increments is because the effort to get a whole release train into a room for two days is phenomenally expensive, including the preparation time.

People implementing SAFe aren’t thinking really questions like, “How can I have smaller Program Increments?”, “If I had smaller PIs, would I need less time with everyone together?”, but critically, it doesn’t ask the biggest question of all, “How can I de-couple dependencies and better define the work so that it doesn’t have dependencies between teams?”. After all, if you can remove dependencies between teams than you don’t need a Program Increment at all. Teams could then just simply discover/incept the work once they have finished delivering a capability.

Which brings us to another point about SAFe’s batching – when teams are delivering in a Program Increment they are also busy discovering/incepting the work for the next Program Increment. Let me step through what happens:

  1. New to SAFe team runs a Program Increment and makes a commitment for the next quarter.
  2. Because of the two day PI timebox and no pre-work, they have a lot of outstanding questions for the work
  3. They spend a week or two trying to get all the questions answers whilst trying to deliver on their commitment
  4. Because they have spent unplanned time getting these answers and because a commitment was made based on poor information they get crushed at the end of the PI
  5. At the end of the PI retrospective they vow to never get into this situation again and their solution is to plan a little better leading into the PI
  6. But because they have only just discovered this insight, and they are about to start another PI, they accept their fate that the same problem will happen again. If they are smart they don’t load up the full PI to handle the unknowns
  7. If they are really smart they also set aside capacity for planning for the next PI (but they usually don’t do this until PI attempt #3)
  8. Eventually they get into a position of 65/25/10 – 65% of effort focused on current PI delivery, 25% focused on next PI planning, 10% in support of previous PIs

Great Agilists know that there is a price to context switching – it impacts productivity quite significantly.

Working in Program Increments not only delays release of value, reduces the speed of learning better ways, but also encourages greater context switching.

It encourages old world thinking on estimation

It is probably a minor point, but SAFe encourages teams new to story point based estimation to use the concept of “Ideal Dev Days”. Putting aside the fact that for a while now Agilists haven’t recommended using Ideal Dev Days to estimate, or that the definition of what an Ideal Dev Day is is still widely open to interpretation (is a tester a Dev, are all Devs of equal competence?), the very fact that SAFe encourages starting estimating by relating it back to time is missing the point.

Yes the website does say to do this only once, but most teams don’t read past the “start by doing this” remark to see that the next time that they estimate they should be using a different mechanism.

It doesn’t change leadership behaviours

On the positive side, SAFe is one of the earliest certification bodies to focus on leadership training explicitly. The content is also quite good. If you are lucky, 5% of your leaders will really listen and get it, but most won’t invest time to be trained.

If you want to quickly and easily find which leaders will make the change, provide the training as an opt-in activity. Go see who attends and important who doesn’t. Those who want to attend are more likely to have a growth mindset that is well aligned with Agile values.

Regardless of what scaled Agile framework you choose to take, leadership coaching is a must. Leaders will need to make space in their calendar, not just for the new ceremonies but to have dedicated time for coaching. More importantly, they will need to be open to new approaches to their own behaviours. Coaching will likely attempt to alter not just the impact a leader is trying to make, but their words and body language as they undertake their day to day activities. The easiest way to get started is for the most senior person in the organisation to open themselves up and be vulnerable to coaching and then advertise this to all of their leaders – this creates the much needed demand for coaching support.

It doesn’t force a change in organisational structure

SAFe describes all teams as “Feature teams” but does optionally describe the difference between Feature and Component teams. It’s definition is somewhat lacking in the difference between architectural and component teams and tends to combine both under the “Component” umbrella. It also fails to suggest other alternatives like Journey or Episode teams.

In every SAFe implementation I have seen in Australia, teams have started their SAFe journey as Architecture teams. Why? Because that is how they were already structured prior to starting their release train. In some respects this is understandable, after all, change is easiest when you start with what you are doing now. The biggest issue I have is that this creates an anti-pattern of SAFe co-dependency. Let’s walk through the steps again:

  1. New SAFe Release Train kicked off
  2. Teams are setup the way they are today (architecture/system oriented)
  3. First Program Increment planning session – massive dependencies between teams, but thankfully teams can now see the dependencies and co-ordinate to mitigate risk against them.
  4. Teams deliver despite the dependencies
  5. Because SAFe enabled a reduced risk approach to deliver with dependencies the team setup is not questioned further.

SAFe recognises this anti-pattern. Inside of its teams page it highlights that teams should be setup to minimise dependencies and handoffs, but it is written as a statement at the end of the page and most implementers ignore it.

I have seen one instance where a team recognised (with the support of their coach) that the dependencies were challenging due to team setup – primarily in a scenario where there were split teams for iOS and Android development. It took eighteen months for that release train to re-configure themselves into joint iOS and Android development teams.

I understand why SAFe implementers don’t push for this change day 1 – it requires potential HR changes, but at the very least consider if you can virtually get people together to reduce dependencies from day 1. Test and learn what works through virtual teams and then push for a formal HR change.

It doesn’t change the system around delivery

In the original days of Agile and Scrum, there was a criticism that teams were often in their own bubble doing delivery. Efficiency and effectiveness was limited to the delivery only portion, and whilst this bubble continued to expand over time, there were areas that were rarely touched – funding, governance, and HR processes and practices.

SAFe, continues to suffer from the bubble issue – it is just a bigger bubble, one that goes to a program or even portfolio level.

What it doesn’t fix includes:

  • PMOs still exist
  • Gating processes remain unchanged
  • Funding processes remain unchanged
  • Capex/Opex models remain unchanged
  • Release management processes still exist
  • Training and go to market processes remain unchanged
  • Reporting expectations to senior leaders remains unchanged
  • People hiring and onboarding processes remain unchanged
  • Performance management, rewards and renumeration remain unchanged

Yes there is nothing stopping you as part of your SAFe implementation in tackling the above issues, and you should, but it isn’t clear that all of these problems will remain unless you additionally tackle them. As highlighted in the expectation that frameworks are a silver bullet, changing the above elements of the organisation is not a simple feat and certainly not something that will happen with an out-of-the-box implementation of a “Quick Start” release train.

So is there a better way?

For education and training, SAFe does a good combination of Scrum, Scrum at Scale, and some Lean and Leadership thinking in a combined session. The alternative option is a simple Certified Scrum Master course with a whole pile of other information tacked on, or some more generic scaling information in ICAgile’s offering.

As for transformation, there are other alternatives to using SAFe that you should consider if you are serious about Agile in your organisation:

  1. Find your own way. Scaled frameworks are there to get you to think of another way, it doesn’t mean that you can’t define your own approach. There will be pro’s and cons’s to some of your choices so it is a good idea to get help from an enterprise agile coach on how best to do this.
  2. Tackle the big problems. Fix what is the causing the most pain in delivery. Funding models is a common complaint amongst teams and yet it tends not to be the first thing that transformations try to tackle.
  3. Get the right people on your leadership team. There are three types of leaders – those who have done Agile before and live and breathe the values, those who say they have done Agile before but their actions indicate otherwise, and those who haven’t had the opportunity to give it a go. You want the former group to outnumber the latter group (and don’t keep those who say they’ve done it but their actions show otherwise). Over time, those who haven’t had an opportunity will end up being either true Agile champions or command and control managers in hiding or denial.
  4. Re-enforce the right behaviours and don’t reward the wrong behaviours. It sounds simple enough but this is hard to do well. Ocado is an online shopping website in the UK that invested heavily in this by having a program where once a week employees could nominate anyone in the organisation that was living their behaviours (or not). These behaviours were heavily influenced by the Agile values. If you were nominated you received an email with the comment that was made about you. If you had poor commentary, you didn’t get promoted. If you had consistently good commentary, you were eligible for promotion. Did this work for them? You bet.
  5. Focus on technical excellence and automation. Highly capable developers who know how to build software that can be automatically built, tested and deployed should really be the norm and not the exception to any business.

Good luck, and remember, no transformation is ever easy or safe.

The outward delusion.

A shaman, a seer,

a parent and teacher,

without fear.

 

If you do’t know

you cannot see.

If I tell you

I cannot be.

 

Only in the silence

does truth lie.

Only in the journey

do you try.

 

Don’t fight for time,

nor status or power,

but for the moment,

the second, not hour.

 

All other realities

are just an illusion.

Only the choice matters.

The inward delusion.

One of the biggest mistakes that I see new Agile teams (or teams at scale) do is moving too quickly into a different format to do a retrospective.

It isn’t too surprising when you see that there are so many different ways to do a retrospective, after all, if there are that many options then surely you are meant to switch it up at the end of every Sprint?

So when should you move onto a new retrospective format? Well naturally if the format you are using isn’t working then consider using a format (more on this moment), but to help here is my decision tree on the matter:

Okay, so maybe there was a simpler way to say this…

If you haven’t used the original technique for more than six times in a row then don’t try something new.

Why six times? It is enough to get a pattern, to feel comfortable with the process so that you can maximise the focus on the intent behind the practice.

If your team has been doing it the same way for longer than that and don’t want to change it, then as a Scrum Master DON’T CHANGE IT. It is their decision not yours to switch it up in this instance.

I’m not going to go into the menagerie of options that you can use for a retrospective, but I would recommend that when you start keep it really simple. Ask two to four questions, no more than that. I still use the original ones:

  • What worked well
  • What to do differently next time
  • What puzzles us
  • Lessons learnt.

What I find is a lot of retrospectives fail, not because of the process per se, but because of the little additional “gotchas” that seem to be hard to find as guidelines/rules on the topic. Here are my top tips:

  1. Start you retrospective by reviewing your previous retrospective actions. If they aren’t done then focus the retrospective on why the actions themselves aren’t getting done.
  2. Don’t commit to more than five actions. You just won’t do more than five.
  3. Fix the root cause not the surface issue. To do this, you need to make sure that you actually discover the root cause within your retrospective.
  4. Treat the retrospective as a law of thirds – one third define (brainstorm), one third discovery (share) and one third determine (next actions). Teams often make the mistake of not managing time effectively that result in not enough time for actions.

 

What if the characters from Game of Thrones happened to be Product Owners? How would their personas come to live in Agile teams? Let’s see how some of our favourite characters as Agile Product Owners.

What would Game of Thrones Characters say if they were a Product Owner?

Arya Stark – Stick bad ideas with the pointy end

This is a PO take on Arya’s statement “Stick em’ with the pointy end” referring to her high prowess and knowledge on how to wield her sword ‘needle’.

The Product Owner rule here is to stop starting work if it doesn’t hit the mark from a analytics and validated learnings perspective. We’ve all seen the HIPPO (HIghest Paid Person’s Opinion) effect in action – work that we know shouldn’t go ahead that seems to be fast-tracked. The best Product Owners are ones that are unafraid to terminate work when it is a bad idea, knowing the risks that it may have to their job but holding steadfast regardless.

Ygritte – You  know nothing without validating your hypotheses

Whilst Jon Snow arguably knew nothing according to Ygritte, so too do teams and Product Owners if they blindly go building capabilities without validating problem-market and problem-solution fit assumptions.

Lean Startup gave us a huge shift in the mindset of software development when it began to re-wire our thinking to stop considering everything a requirement and to start to test and learn on our riskiest assumptions.

Great Product Owners not only test and learn on their riskiest assumptions around problem-market and problem-solution fit, but they are critically aware of the different types of cognitive bias and actively struggle against their better-self in order to ensure that the best possible solution goes to market.

Jon Snow – Benefits are coming

It might as well be winter with how much money is spent building work that doesn’t result in the expected benefits. Although most people have heard the of the 2002 Standish Chaos report that cites 64% of features are rarely or never used, this has yet to be considered statistically valid. Again the biggest challenge to how products deliver benefits has come from the Lean Startup community by focusing on a lifecycle that deeply embeds into its core a process of Build-Measure-Learn with critical decision points at the “Learn” stage to pivot (changing problem goals), persevere (continuing on same path, changing solution options) or perish (stop the work altogether).

There is still too much “throw it over the wall and it’s done” mentality in the industry. Leading organisations are deeply embedding this learning cycle into their development approaches and moving away from heavy batch to more flow based lifecycles. Whilst the Scaled Agile Framework (SAFe) is continuing to grow momentum, it is lost on many that implement it, that applied poorly, it creates massive three month batching.

Think about what this means from a test and learn perspective – you release something to market and begin to gather analytics and data. At the same time you start your next Program Increment meeting and create a firm commitment for the next three months of work. Let’s say that after three weeks you get enough data to validate what you just released and with great concern it just isn’t resulting in the outcome expected. You have an assumption about what you need to pivot, but it will require two weeks of work. What do you do?

You can wait to the next Program Increment, which is another two and a half months away, and then deliver a change in another three months (just over a five month pivot – yikes!). You could pull something out of the Program Increment, thus breaking the expectation that was set, further delaying the scoped benefits. If you were smart you would have built in some slack into the Program Increment to allow for pivots on released work.

In the field, I have rarely seen either of these decisions occur. Leaders don’t generally allow any slack in a Program Increment and instead tend to drive for the whole increment to be filled up, and then sadly what happens next is they push to have the teams deliver both, breaking their sustainability with a promise of “we won’t let this happen again”, which it inevitably always does.

Whilst you could argue that these leaders haven’t been coached effectively and are misunderstanding the core Agile manifesto value around adaptation for Agile (responding to change over following a plan), it doesn’t deminish the fact that SAFe as it tends to be implemented results in massive batching which in turn reduces the time to benefits and pivoting for benefits optimisation.

Great Product Owners know this and will be empowered to push back against the organisation’s leaders to ensure benefits optimisation. To do this, again the Product Owner will likely need great courage to fend their decision against leaders within the organisation.

Littlefinger – Backlogs aren’t a pit, backlogs are a ladder

For a while I considered using the Petyr Baelish quote “Fight every battle everywhere, always, in your mind. Everyone is your enemy, everyone is your friend. Every possible series of events is happening all at once” twisting it into a quote about stakeholders, customers and predictability of needs, but in the end I used the more known quote, “Chaos isn’t a pit. Chaos is a ladder. Many who try to climb it fail and never get to try again. The fall breaks them. And some, are given a chance to climb. They refuse, they cling to the realm, or the gods, or love. Illusions. Only the ladder is real. The climb is all there is.”

Backlogs are real. The climbing through them to deliver is (almost) all there is. Importantly a backlog shouldn’t be a pit. Product Owners tend to acknowledge all requests from stakeholders and politely put them into the backlog. These get prioritised down at the bottom of the backlog and languish for all of eternity. Great Product Owners will look at not just the important and prioritised work in the backlog as part of backlog refinement, but will also actively remove aged items within it, work that will never get done because it is deemed as too low in priority or value.

Product Owners will also appreciate where they are in the Explore-Expand-Extract stage of their product development and their backlog’s content will be reflective of the stage.

Tyrion – A Lannister always prioritises by value

Need I say more? The answer should be yes. A good Product Owner will prioritise by value, a great product owner will prioritise by value with an understanding of cost, alignment to strategy, market and competitive trends. Value can take many forms – customer value, business value, risk reduction or meeting industry obligations. Balancing value with cost of delay and job size will mean Product Owners can realise benefits sooner. A weighted shortest job first algorithm with relative estimation can be utilised to compare work in the backlog in order to ensure that the highest valuable work is prioritised higher.

Daenerys – I’m not just going to tell the story, I’m going to live the story

Daenerys Targaryen may be the breaker of chains with a goal to break the wheel, but as a Product Owner she epitomises the role of a story teller. Product Owners are passionate about the problem they are trying to solve. They want to get to the heart of it and do this best by engaging directly with customers and deeply knowing the data, insights and pain points about both customers and the business. Ideally the team would be attending the customer testing, but if they don’t then the Product Owner really has to be the voice for the customer, to put help the team to put themselves into the customer’s shoes and deeply understand their needs.

This is where Lean UX and Design Thinking intersect with Agile in order to build the right thing.

More Product Owners in Game of Thrones?

Do you have a good quote conversion from a Game of Thrones character to a Product Owner? If so post in the comments below.

Effective Executive Sponsors for Agile are a rare breed.

In the VersionOne 11th Annual State of Agile Report 2017 the importance of Executive Sponsors is highlighted both to the success of scaling Agile and to mitigate challenges.

 

 

 

 

 

 

This importance has grown dramatically over the last five years as Agile transformations have moved past the realms of just changing teams, projects and even programs and have expanded into the whole organisation stratosphere of transformation – trying to address the problems of governance, finance, HR and leadership within the enterprise.

I’ve seen a vast number of Executive Sponsors over the years, some amazing and inspiring, others competent, and sadly a few who were dropped into the role (or used it for a launchpad to boost their career) who didn’t believe in Agile.

But what does a good Agile Executive Sponsor do?

They are a role model, with a vision, a growth mindset and willing to invest their time and reputation against making the tough calls and re-wiring the culture of the organisation. How does that translate to activities and behaviours on a day to day basis? Highly effective Agile Executive Sponsors will:

  1. Live and breath agile
  2. Set a vision and not stop talking about it
  3. Make the hard calls
  4. Give space for reflection, learning and improvement
  5. Stop starting and start finishing
  6. Go to the place of work, and
  7. Invest a considerable amount of their time to removing impediments.

Let’s look in more depth at these seven key activities and behaviours:

Practice what you preach

As an Agile Executive Sponsor, if you are asking teams and people to change their behaviours and activities, the first person that has to change is likely to be yourself. How much are you living the values of both the organisation and Agile? How often do you check yourself to ensure that you are living by those values? Ask yourself these questions:

Behaviours

  • Do you collaborate to get insight when making decisions or make decisions by yourself?
  • Do you delegate decision authority down or make it centrally come to you?
  • Is strategy defined collaboratively or defined by yourself?
  • Are you seeking input on the strategy from a diverse set of people, regardless of hierarchy, or is it done by yourself and your immediate reporting line?
  • Are you making yourself available to anyone in the organisation for feedback and insight or do you get insight only from your reporting line?
  • Are you giving yourself time to reflect and improve or are you too busy to stop and think?
  • Are you coaching and mentoring rather than advising and telling?
  • Is your work, decisions and assumptions transparent to everyone or just limited to the people you have conversations with?
  • Do you share information and encourage others to do so as well or you ask for reports to be made for you?
  • Do you proactively seek the root cause of issues and look for patterns or you react and try to fix things as they arise?
  • Do you see failure as a learning opportunity or do you remove trust on failure?
  • Do you encourage simple, lightweight approaches to solve customer and business problems or do you ask for a plan before committing to trying anything?
  • Do you treat all assumptions as hypotheses to be validated or encourage solutions to be built because you already know the problems?
  • Do you ask for help or is everything on your shoulders?

If you answered “yes” to the left hand side of the questions then you are fast on your way to becoming an Agile Executive Sponsor who practices what they preach.

Activities (aligned to strategy of transformation)

  • Are you having stand-ups?
  • Are you attending showcases?
  • Are you removing roadblocks raised to you?
  • Are you participating in ceremonies that encourage continuous improvement and innovation?
  • Is your plan flexible and adaptive as your discover new insights?
  • Are you attending customer tests?

If you said ”yes” to these activities then you are setting up the environment around you to work in a more Agile manner.

Set and grow a clear vision

Agile Executive Sponsors don’t set a vision by themselves. They aggregate many people and many narratives to be able to understand the current state, the constraints in the system, the appetite for change and build a vision for the next state with these in mind. They set a very simple high level vision and focus on only the next or or two steps that need to be made immediately.

The vision isn’t just talked about once, it is re-iterated many times opportunistically through conversations and clarified when needed.

The vision isn’t set in stone but can adapt and change as both new information comes to hand and as experiments are run.

On a day to day basis the Agile Executive Sponsor seeks out narratives and stories by people which indicate that there is a misalignment on the vision and seeks to bring people together to re-establish connectivity to the vision.

Make the hard calls

This seems to be the most challenging of Agile Executive Sponsor capabilities. There is a paradox of behaviours and activities in conflict – on one hand as an Agile Leader you are encouraged to care deeply about people because you know that it is through highly engaged people that magic happens, and yet enterprise transformations call for a significant shift in capabilities and roles in the organisation. Some roles will remain unchanged, some roles will cease to exist, some roles will be consolidated and simplified and new roles may be created.

Making the hard calls may mean changing who remains in the organisation. It may mean having crucial conversations with senior leaders in very traditional parts of the organisation to shift their focus, to challenge their thinking and their behaviours. Your influencing skills have to be strong.

There will be winners and losers in an enterprise Agile transformation. This sounds rough, but it is a harsh reality. Not everyone is going to like what you are attempting to do, but whilst it will be hard there will be many people around you to support you, if you ask for help.

Create slack for reflection, learning and improvement

Changing an organisation from a fixed mindset to a growth mindset (also known as a learning organisation) doesn’t happen overnight. There is often an overwhelming pressure for delivery above all else. It is relentless, and in its wake learning and slack are the losers.

After making the hard calls, one of the biggest challenges for Agile Executive Sponsors and leaders is how to give space for reflection, learning and improvement. Here are the top tips for Agile Executive Sponsors to create slack:

  • Don’t load up teams and people beyond 80% allocation. In Agile teams this is done through a technique that may not be immediately obvious – yesterday’s weather – where teams load up their planned velocity for an Iteration based on their previously achieved velocity. The hidden assumption in this is that the previous velocity takes into account unknowns and re-using that velocity will automatically build in slack for the Iteration. The reality is this tends to be true 50% of the time. Why 80%? Studies have shown that 80% gives enough space to handle unforeseen urgent items.
  • Encourage goals that weight learning equal to delivery. KPIs are often unilaterally or predominantly focused on delivery – is it any wonder that learning tends to take a back seat to delivery when this occurs?
  • Understand that working smarter rather than working harder will have an incremental payoff that will take time. As learning and improvement grows, capability will grow and teams will find better ways, quicker over time.
  • Slack and introspection are as equally important to yourself as they are to Agile teams. With slack, people tend to think more creatively about problems which results in better solutions.
  • Understand that personal change takes considerable time and re-enforcing of behaviours.

Stop starting (or restarting) and start finishing

One of the most frustrating experiences I have ever had with enterprise Agile transformations is the one where the vision, goals and activities of the transformation were continuously changing. Just as change was starting to happen the goal post moved again (and again).

It’s okay as an Agile Executive Sponsor to not get your vision right from day one, it’s okay to change and adapt the plan, but if all it turns into is talk with no change after a few months then there is a big issue with your transformation.

Agile Executive Sponsors get fearful that they have to do a change perfectly for everyone at once. Instead, focus on a small change through multiple experiments across multiple teams. Use this information to work out what changes work better and then amplify the patterns that are successful.

Agile Executive Sponsors also think they need to have lots of different work on the go – just like delivery teams, it is better to focus on getting the few changes done well than trying to do everything at once.

Go to the place of value (gemba)

In today’s age of distributed teams it seems to be a common excuse that leaders can’t go to their teams as they aren’t sitting together. If their teams reside in the same city it really is an excuse and one of the highest priorities of an Agile Executive Sponsor should be to move people and teams together.

Lean uses the term ‘Gemba’ to refer to the act of going to the place of work where value is created. Agile Executive Sponsors should make a constant effort to sit and move around the teams who are delivering work in order to gather insights on the challenges that teams and individuals face through overhearing conversations and being available for direct conversations.

But it isn’t enough to gather insights, highly effective Agile Executive Sponsors will follow through and solve these problems.

Remove impediments

Removing issues that are either blocking teams or slowing teams down from delivering should be the primary day to day activity that Agile Executive Sponsors focus on. They will need to integrate all of the above six practices together in order to successfully achieve this. Start small and simply, getting some early runs on the board of solving issues. An Agile Executive Sponsor must be fully empowered by the CEO in order to achieve this, otherwise they are highly likely to fail in a system that is still heavily dependent on positional power to enact change.

This doesn’t mean that the Agile Executive Sponsor personally has to solve all the issues, rather they have the connections, pathways, influencing power and tenacity to follow through on delegated issues as they are raised across the organisation. The biggest challenge an Agile Executive Sponsor will face is that there will be so many issues how to best prioritise them – using both Agile techniques and insights gathered to prioritise.

Conclusion

Transformations take a long time, are fraught with many issues as adopting new changes is hard for everyone. Aside from performing these seven habits, Agile Executive Sponsors will need to have a tempered balance of both patience, resilience and tenacity. Too much patience and the transformation will stall, too much tenacity and the change will be fully rejected, too much resilience and people will be change fatigued.

In a few weeks we will take a look at Agile Leadership and see how the role of a Manager changes in an Agile organisation.

A note on enterprise transformations

I have seen some great Agile Executive Sponsors who started an transformation by not being very strategic or proactive and instead focusing the transformation in a one step at a time fashion. Primarily they did this for one of three reasons:

  1. They don’t have the authority to change elements outside of their boundary of influence
  2. There was limited organisational appetite at the C-Suite for an enterprise change
  3. There was limited understanding at the C-Suite about what an Agile Enterprise Transformation meant

These executives were highly successful in the areas that they championed the change in, but in all instances the change stalled and was limited in its effectiveness. As an approach, if one of the above three problems exists in the organisation it is highly likely that a such a champion does need to step up and perform a smaller scoped transformation so that insights can be gathered at the C-suite level before a wider scale change is endorsed.

Welcome to the fourth blog in the Scaling Agile Tricks Series.

So far we have covered The Leadership Cell, the Mitosis division of teams, and Pipeline management techniques.

In this blog I will cover how to setup teams so that they deliver more efficiently. I am not the first person to talk about different types of teams and would like to highlight that a lot of this content has already been previously covered by Kenny Rubin in both his presentations and his book.

What is economic efficient teaming? To me it is about:

  • reducing handoffs and dependencies
  • which in turn is about reducing risk and improving efficiency

There are a number of different options when structuring teams who work at Scale:

  1. Feature Teams
  2. Component Teams
  3. Architectural Layer Teams
  4. Customer Journey Teams

Let’s take a look at what each of these means and the pro’s and cons of each of them.

Feature Teams

What is it? 

Let’s take a look at the example feature below.

If we have a product that relies on multiple types of systems, lets say a mobile banking app, you would likely have to build both an android and an iOS front end. Additionally on the backend, to talk to the core banking system you would have a number of interface points – in this example a simple .net controller before a middleware tier. In this scenario most of the middleware services already exist due to an existing web front end system.

The design of this team is such that any business feature can be delivered wholly by the team without any other interactions to other systems or teams. The team has all the skills that it needs to build a feature across both of the front ends. They can even adjust the web banking solution if the feature needs it to.

A feature for this type of team would be “As a banking customer, I want to know if my recurring payment will overdraw my account, so that I can manage my accounts to not get an overdrawn fee”. The feature goes to only this one team to deliver.

Pros:

  • No dependencies or hand-offs with other teams
  • Encourages big picture thinking – the team can consider the need and fully implement an alternative solution if they believe it will better meet the need
  • Low inventory waste – assuming there is some investment in cross functional capabilities, the movement of work is limited to only the capacity of the team. The team can swarm to get work done and fully own the reduction of work in progress to deliver the feature.
  • Low integration – the feature can be integrated across the multiple systems by the team itself without having to co-ordinate across teams for integration
  • Very low end to end cycle time – all of the above factors compound to a really low cycle time.
  • High cross product knowledge
  • Low susceptibility to peaks and troughs of work

Cons:

  • High investment of cross functional capabilities with a moderate change concern of people having to learn systems and languages outside of their comfort zones
  • Unable to scale easily past a few systems – if the team also had to do the middleware changes and the core banking system changes this approach would fall down heavily due to either too much knowledge having to be retained in the the team or over bloat of the time size. Commonly this risk is mitigated by having one or two middleware developers shared across the set of teams that move in and out of the feature teams depending on the feature.
  • System instability due to lower ownership of architecture and technical debt – because multiple systems are being maintained there is less strength and care than what occurs when only a single code base is being changed. Feature teams do result in higher amounts of technical debt being created if the Technical Lead role in the Leadership Cell is not empowered.
  • Reduced likelihood of asset reuse – the feature team will tend to not think outside of the box of how the feature could be extended for the future. They will build for the knowns of today without knowledge of similar trends being delivered by other feature teams around them.
  • Higher chance of code merging – because other feature teams may hit similar screens or pages there is an increased risk of misaligned user interface design and increased code merge cost.
  • Higher costs to get consistency in practice – best practice will need to be shared with all the team across all of the feature teams for all of the systems in the scaled cluster.
  • Higher chance of defects due to dispersed knowledge of the product.

 Component Teams

What is it?

Using the same feature as before, it would be split and handed to two different teams to implement. One team will do the detection mechanism on knowing if the recurring payment will overdraw the account, the other team would process the notification to the customer.  The two teams would need to agree on the design, implement them separately and then integrate it when both have completed.

Component teams are especially useful when the code base is all one massive system and you want to break it down into logical groupings. Spotify is renowned as being a heavy user of the component team concept where portions of the screen that you see are owned by different teams. It isn’t mandatory that component teams are used where just one code base or system exists – in the above example you may still have an iOS, android and .net developer in each team. However it is likely that team composition will differ in the component team scenario.

Pros:

  • High technical ownership of debt and architecture – teams have a strong purpose and focus on cleaning up their area of the product, they are also likely to have peaks and troughs in work that gives them the time to focus on this as well
  • High asset reuse – if the work goes to the notifications team, they would likely focus on ways to make that component re-useable or available for other teams in different ways. Additionally they would likely have visibility of multiple similar requests.
  • Low chance of code merge – the team are the clear owners to the code and are highly unlikely to have code merge clashes
  • Lower defect likelihood due to depth of understanding in their part of the code base

Cons:

  • Highest number of dependencies for delivering a complex customer need (economically nonviable at scale)
  • Cross product knowledge very low
  • Susceptible to peaks and troughs of work
  • Small picture thinking (my job is this one tiny bit)
  • Requires integration

Architectural Layer Teams

What is it?

Using the same feature, teams are split by their specialties and consequently the feature has to go to three teams and then be integrated together.

In my experience architectural layer teams are often mistakenly called component teams, but the key difference is that work is split by capability and not by a portion of a product.

Most waterfall teams are setup as architectural layer teams.

Pros:

  • Minimal disruption to challenging people’s specialties, resulting in low change resistance
  • Supports massively complex organisations where a single change impacts dozens of systems
  • Favors contractual agreements
  • High technical ownership of debt and moderate ownership of architecture
  • Reduced costs to get consistency in practices
  • Low chance of same code being worked on by two different teams

Cons:

  • High dependencies, which leads to long cycle time (very high if each team is part of a separate agile release train)
  • High inventory waste (work sitting idle waiting for integration)
  • Discourages sharing of information through silos
  • Small picture thinking (my job is just this bit)
  • Moderate susceptibility to peaks and troughs of work
  • Requires integration
  • Cross product knowledge very low

Customer Journey Teams

What is it?

Using the same feature, multiple teams exist for the product, each one taking care of a logical portion of the customer’s journey through the product. Let’s say that this feature came about due to a number of complaints of people leaving the bank because they cited their hatred for overdrawn fees (especially as they believe the bank would have known it would have been overdrawn if the scheduled payment occurred).

Because customers were leaving, the feature went to the Retention team.

In this example the end to end product is supported through a number of different systems. What teams have what system capability is dependent on the system relevance at the journey step. The Retention team needs to have capabilities in both System 4 and System 2.

Customer Journey teams are the newest team structuring kid on the block, and whilst there is still not a lot of evidence of whether it works or not it has a lot of promise as it is more like a cut down version of feature teams.

Pros:

  • Very low chance of the same code being worked on by two different teams
  • Low dependencies or hand-offs with other teams (unless the feature crosses multiple customer journey steps)
  • Encourages big picture thinking – the team can consider the need and fully implement an alternative solution if they believe it will better meet the need
  • Low inventory waste – assuming there is some investment in cross functional capabilities, the movement of work is limited to only the capacity of the team.
  • Low integration – the feature can be integrated across the multiple systems by the team itself without having to co-ordinate across teams for integration
  • Low end to end cycle time – all of the above factors compound to a really low cycle time (unless the feature cross multiple journey stages).
  • Higher empowerment in reducing technical debt
  • High likelihood of asset reuse

Cons:

  • High susceptibility to peaks and troughs of work (certain customer journey points tend to be heavier in work than others, especially in a banking app solution)
  • Low cross product knowledge
  • High investment of cross functional capabilities with a moderate change concern of people having to learn systems and languages of their comfort zones
  • Unable to scale easily past a few systems
  • Low cross ownership on architecture
  • Higher costs to get consistency in practice – best practice will need to be shared with all the team across all of the journey teams for all of the systems in the scaled cluster. A good example is consistency of UX elements and design.

Summary

Who would have thought it wasn’t so clear cut how to split teams? The struggle often is that people don’t know of these options and the trade offs that they are choosing. The choice is not clear cut.

You also don’t have to have all of your teams in one pattern.  In one organisation I moved four architectural teams into two component teams and two feature teams. The number of feature teams eventually grew to over ten, but we still found it useful for quite a while to keep the two component teams in place because of the significant complexity in that part of the code. To grow capability of the architectural teams into feature teams wasn’t easy either, it took half a year of struggling and many frustrations, but I had multiple people tell me a year later that it was the best thing that happened to the area and worth it despite the pain (and this was from some of the most strongest opponents).

Feel free to post a reply if you disagree with the pros, cons and have any other team cutting options.

 

Welcome to the third blog in the Scaling Agile Tricks Series.

So far we have covered the Leadership Cell pattern and the Mitosis pattern.

In this blog I will cover my personal sentiments on managing, refining and decomposing pipelines when delivering using Agile across multiple teams.

Generally I use the word pipeline management instead of terms like Program or Portfolio Kanban, mostly because the term is simpler to understand and the usage of Kanban implies a solution that there may not be a problem for.

I have seen three patterns used for pipeline management at scale:

  1. Dual Track with separate ownership
  2. Dual Track with team ownership
  3. Just in time team flow pull

Let’s take a look at the pro’s and cons of these in some more detail.

To Dual Track or Not, that is the question

Dual Tracking is a concept that originated as part of Dual Track Scrum – where teams were often seen doing some backlog preparation or actual initial thinking of work one Sprint in advance:

Image result for dual track scrum

When doing this technique the reality is that it creates context switching for individuals across two sprints – the current and the next planned Sprint.

Image result for dual track scrum

My main issue with Dual Track Scrum has always been that it has been dressing Agile up in Waterfall clothing. It creates and encourages the idea that Discovery occurs in one Sprint, Delivery in the next Sprint and, dare I say it, scarily some people end up doing testing in the following Sprint.

Well, imagine that at an even bigger scale. This is what it tends to look like:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

From top to bottom this is the context switching breakdown (worst case scenario). Firstly, delivery teams may be supporting any production issues that arise from the previous increment that they have delivered (note I use the term increment to indicate a number of Sprints that has resulted in a release).

Secondly the team is working on the current increment, delivering user stories. If they are unlucky they are dual tracking here too – ie working across two Sprints (2nd and third rows).

Thirdly they may be involved in the shaping of the work coming up for the next Program Increment. In the three pipeline management options I gave at the start of this blog this equates to the second pattern “Dual Track with team ownership” as the initial discovery isn’t done by a different team or subset of non team individuals.

In the advent of a really massive piece of work then there may be even further upstream work, breaking massive boulders of work down to feature like rocks. Think of this as a rock crushing machine. In my experience, at scale teams rarely get involved in this activity.

And lastly we have all the other stuff that teams end up having to do – <insert bureaucracy activity here>. If they are super lucky they get to have time to think and reflect on themselves as individuals and seek opportunities to improve their own capabilities.

It shouldn’t be a surprise to anyone that teams barely deliver when put under these constraints and expectations, and yet I do find that often it is very unclear to leaders of such teams that such extensive context switching is occurring.

The first pipeline management option, “Dual Track with separate ownership” reduces the amount of context switching down by having either a different team or key individuals like a designer and an architect look at bigger work coming down the pipeline in order to assess its customer and business desirability and viability and whether it is feasible given constraints, value earned over cost, etc. More commonly than not, these people aren’t or haven’t for quite some time been involved in actual feature delivery. Whilst they can provide a buffer to the team having to do some of this activity, it is at a high risk that the solutions that they are coming up with are unimplementable, over designed, or are based on poor assumptions. Additionally they create a need for a handover, which is often poorly executed.

Whilst you could certainly put in process to reduce these risks, why over engineer the process?

As a core principle for Scaling Agile, my number one rule is “Remove handovers and dependencies”. Which brings us to…

Just in time team flow pull

Each option has it’s pros and cons. The Just in time pattern means that the backlog for the set of teams is very lightweight in fidelity and knowledge. Think of these backlog items as initiatives (I am trying deliberately to avoid words like Epic, Capability and Feature as the hierarchy varies based on which scaling model you use). In my mind, an initiative is the sort of thing you might put on the release notes to customers when you do a new app store release, or something big enough to do a sequence for customer onboarding. Initiatives can take as little as three weeks or be as big as six months of work for a single team.

Initiatives are de-coupled from the other teams delivering in the same product through good shaping of scope and good team design (which we will cover in a future blog post). As a team finishes delivering an initiative they will pick up (pull) a new one and begin the discovery process on it. It tends to look like this:

 

 

 

 

 

 

 

At the tail of this approach the team is likely to prioritise first and foremost the release and support activities. Their next priority is doing Discovery/Inception on the next initiative. In the learning period where they may be waiting for customer feedback they can fill the gaps with technical debt.

You can see visually the difference between the reduced context switching of this picture and the previous one is quite significant. It does come at a cost – the cost of ensuring that the team is as independent as it can possibly be from the other teams delivering on the same platform. It requires not only good work prioritisation from a backlog perspective to limit two teams working in the same area, but also great technical practices to limit integration risks and be able to release at any point in time.

I really love this approach because it empowers the team to release when they are ready and empowers them to know when they are ready to begin coding. One risk is that they may spend too much time in Discovery, but even Dual Track has this risk. Another risk is that they may begin Discovery and then determine that the initiative isn’t viable. This could also occur in the Dual Track scenario, but a new backlog item would then need to be picked up and potentially those stakeholders may not be prepared to spend time in Discovery. The core of the issue is that there is no buffer time if the stakeholder(s) are unavailable, whereas buffer time exists in the Dual Track approach.

The reality? Out of about forty-five initiatives I have seen an initiative be cancelled once, so why design a process solution for such a small occurrence rate? Where you work may be different and more work may be cancelled in Discovery, so choosing which approach to take may be dependent on the failure rate of Discovery.

As a coach I try to move organisations towards Just in Time team pull but it takes time to remove the dependencies and handoffs first.

 

 

 

 

Welcome to the second post in the Scaling Agile Tricks Series.

In the first blog I talked about my favorite scaling pattern – the Leadership Cell. In the second blog post I have a really simple pattern called Mitosis.

Image result for mitosis definition

Mitosis is a very easy solution to a common problem – how do you scale the number of teams? This is a common question for organisations undergoing a significant expansion and commonly occurs in the digital and lean start-up space.

The challenge is, there are very strong beliefs held by the agile community and coaches that teams should remain stable, that is, adding or removing team members is often frowned upon as each time it occurs the team has to begin again traversing through Tuckman’s stages of group development.

One recommendation I have is to grow and divide teams in a similar way that cells divide through Mitosis. Whilst great Agile teams are most effective when sized at seven plus or minus two, to use this pattern effectively you will unfortunately need to grow the team slightly above what is an acceptable norm. Ten to fourteen would be in the ballpark of the maximum size. Once the maximum size is reached you split the team into two. If you need more teams you rinse and repeat, incrementally adding great quality people as you find them until the threshold is reached.

The pro’s of such an approach:

  • Cultural norms are persisted. The alternative approach of just adding or building a whole new team means that they become culturally ignorant of ‘the way we do things around here’.
  • Standards and expectations are more effectively understood through team stories instead of reading documents and finding out the documentation is wrong.
  • People who get on well together can be kept together as the team splits. Conversely tense relationships can be split.

The con’s of such an approach:

  • Teams are constantly going through Tuckmans stages which is a huge dent on productivity. You will have a productivity issue even if you create a new team from scratch but this will significantly extend that affect.
  • Whilst teams are expanding beyond ten people the communication costs increase.

Is this a suitable approach for you? Well that depends on whether you are trying to optimise on productivity or optimise on culture and consistency.

With so many frameworks out there that tell you how to scale Agile (LeSS, DAD, Nexus, Enterprise Scrum, SAFe, etc) I have for a long time held off adding fuel to the fire by having a blog series dedicated to Scaling Agile. Why? Well because, just like in the early days of foundational Agile (Scrum, FDD, XP, DSDM), it took time for patterns to emerge of what works and what doesn’t.

In this series I plan to not re-iterate the scaling frameworks, but instead highlight the tips and tricks of patterns that aren’t in those frameworks that I have experienced actually works. These are tricks that have worked not once, but multiple times. These are also tricks that I have validated with other organisations, the sorts of things that people have struggled with when implementing agile at scale but amazingly have come up with similar ideas on how to tackle the problem. It is probably worthwhile to note that the sort of work I do is in really big corporations with heavily bureaucratic environments. These patterns have all been discovered and validated at this level for organisations a few years into their Agile journey.

So what is the first pattern? Well, I will start with my biggest one and probably conceptually a complicated one. It starts pretty simple – when you do Agile at scale, yes you have multiple teams, but what supporting mechanisms to you need around the teams? Whilst a few frameworks prescribe the roles needed to support teams I find that they are somewhat lacking. The term I use is a “Leadership Cell”, not because I see this group of people lording over the teams, but because they are likely to be each leading a backlog.

The Leadership Cell are backlog and decision authority functions of six key areas: Customer Experience, Product Ownership, Adoption, Technology, Delivery and Coach.

These areas each own their own backlog. The Customer Experience area, is focused on customer facing (internal or external) experience, needs, problems, consistency, journey and simplicity. The Product Ownership area is focused on the business needs, problems and worthiness of potential business solutions. The Adoption area is focused on ensuring benefits get realised, change is effectively managed and adoption (internal or external) is successful. In a number of organisations the Product Ownership and Adoption areas are owned by the same person. In smaller scaled environments all three roles may be owned by the one person.

The Technology area is focused on technical problems, needs, solutions. Concerns like increasing technical debt, keeping on top of patch upgrades, sustainability of long term operability of the codebase, etc are great examples of backlog categories of work they may have. Enablers could also be considered technology backlog items, but I prefer enablers to be driven from business need and should be part of Product Ownership.

The Delivery area is potentially more amorphous. In larger enterprises there is a considerable amount of work related to governance, policy and procedures. The Delivery area is focused on getting through these activities. In a great Agile enterprise these activities should be small in number and automated as much as possible, but as most organisations are on a journey this area needs to be the conduit between the old and new worlds, until at least, the enterprise has undergone governance simplification. In addition the Delivery area should be focused on sustainability of pace – are team empowered to pull, is the pipeline realistic given the number of teams, is quality being traded off, is flow consistent? Importantly, the Delivery area is the glue that helps to bind the other areas together if they are not – they are the champion of collaboration across all of the areas and are asking the important questions when a trade-off needs to occur between the areas. They will manage escalations up and shelter the teams, just like a Scrum of Scrums Master.

These areas do not have to be filled by six different people, individuals may fulfill one of more of the key areas – but be wary as it will be challenge to balance decision making.

Note that the Coach role is a little less formal, they may hold continuous improvement and capability (I’m talking about people capability and not product capability here) improvement backlog items, but it is better practice for capability and continuous improvement backlog items to be collectively owned long term by the Leadership Cell itself. In the early days of a transformation it may be useful for someone to be the voice of improvement and hence you could say that rather than “Coach” have the area as “Continuous improvement”, but I believe that continuous improvement should be embedded throughout the other areas, like Customer Experience and Technology and thus wouldn’t separate it out. The argument is then about continuous improvement that impacts across these functions, which might, over time, be enough of an excuse to change the name of the area but I would rather have clarity around the originating tension – ie where the pain is being felt that is driving the continuous improvement and use that area to drive the change. Additionally, the Coach role isn’t a role that I see existing longer term in the leadership cell, it is there to bootstrap the change, but shouldn’t be there indefinitely unlike the other areas.

The more complicated aspect of the Leadership Cell is how these areas interact. Certainly the Leadership Cell should be part of the Scrum of Scrums along with the Scrum Masters. One or more people in the Leadership Cell may also represent impediments as they get raised up above the Scrum of Scrums.

At a more strategic perspective the Leadership Cell starts to veer away from some of the scaling framework guidance. At a regular interval the Leadership Cell should have a prioritisation meeting to balance strategic direction and create a unified backlog for the teams. The frequency of this will depend on the frequency of pull from teams. I generally find that either every four or six weeks with a consolidated backlog of ten items is enough. This meeting is held like a multi Product Owner prioritisation meeting with each person bringing their top five items. As a collective they agree to which items should be pulled next. Like multi Product Owner prioritisation meetings, it does tend to take a few goes at this meeting before it becomes more fair and normalised.

The trade-off discussions can be quite heated, but it should be like a see-saw – sometimes it will be weighted to one perspective and then next time another area may be more heavily weighted. Normally, at scale the Product Owner tends to dominate the work. Using this approach more continuous improvement and operational stability tends to be added as a priority of focus. This is not to say that it will be realistic to have 50% Product Owner work and 50% other focus areas, but more like 80% Product Owner and 20% other focus areas (which would be an improvement from the 95% Product Owner weighting).

The Leadership Cell is also accountable for a lightweight process for agreeing to how to prioritise. I personally like the  DVF approach over WSJF, but each has its merits.

The DVF approach focuses on Desirability, Viability and Feasibility. It can be mathematically weighted and divided by time just like WSJF. The Leadership Cell balances the DVF where the Customer Experience area focuses on desirability, Product Ownership and Adoption focuses on Viability, and Delivery and Technology look at Feasibility. This is not to say that each Leadership Cell function cannot participate and consider all of the DVF elements as they assess and prioritise the work.

I like DVF because it isn’t just a prioritisation process but is importantly a set of considerations to test the work against. I’ll give a few examples of considerations for each.

Desirability consideration examples – Identify the alignment and contribution to the customer end to end journey; quantify the staff problem or opportunity.

Viability consideration examples – Business ability to absorb the change among other initiatives being rolled out and operating workload; identify and quantify the risk reduction and compliance obligations.

Feasibility consideration examples – Quantify business continuity and information risks; identify alignment and contribution to target architecture.

Along with attending the Scrum of Scrums and managing the pipeline for teams to pull from the Leadership Cell should also be part of a regular cross team retrospection. In essence, they act as if they are in a Sprint themselves but the likely timebox is going to be larger than that of the teams. To be clear, this timebox isn’t necessarily a Product or Program Increment, it should be decoupled from the release of a product (we will get into dependency management and PIs in a future blog).

So in summary, the sort of problems that having a Leadership Cell helps to solves includes:

  • Having a mechanism to give equal authority of needs so that the team of teams backlog isn’t driven just by business need.
  • No one person in the Leadership with higher power or authority over another, it is a peer structure where the coach is also considered a peer.
  • Ownership point for work coming into the team of teams
  • Considerations that should be applied to work as it comes into teams (DVF like elements).

Stay tuned for my next blog post on the Scaling Agile Tricks Series – Scaling number of teams.