One of the most common reasons we reject people interviewing for coaching or product ownership related roles is an inability to grasp the purpose and value in splitting stories effectively, especially lacking an understanding of vertical slicing.
This is also a commonly requested topic for me at the meetup or speaking engagements. Yet it is a topic I have struggled to effectively explain. The conversation often ends up as a narrow technical example on certain techniques, or difficult stories or becomes too abstract for people to apply. In short it is a large and complex topic.
But this video sums up the notion of story splitting and in particular vertical slicing and the ‘why’ behind the method so perfectly that I felt I had to share it.
“Successful problem solving requires finding the right solution to the right problem. We fail more often because we solve the wrong problem than because we get the wrong solution to the right problem.”
Dr Ackoff sums up the issue with the analogy of the parts of a car, if you assess the purpose of a car to get you to a destination then an engine alone is worthless, even the best designed and most efficient engine cannot get you to your destination. Until it is connected to the minimal set of features to achieve the user’s purpose it is useless and remains useless.
Building any feature that does not work end to end adds no value, and building any feature that does not support the purpose of the user also adds no value. But more crucially it is often the interaction between layers or between components that is the most complex aspect of any development, be it a car or software. and the notion that we can build an engine, and a gearbox and fit them together later and expect them to work seamlessly is laughable. But I hear it all the time in software design.
A system must have an aim. Without an aim, there is no system.
W. Edwards Deming
We’ll build the database first then add the other layers, or we’ll work on an API layer 3-6 months in advance of the front end. It is as if we assume that the integration is the easy bit and worse is the assumption that we have anticipated every need of the user (and omitted everything they don’t need) before we design and build the interface, and before we ask for any feedback. And yet as software designers; planners; and project managers we repeat this error over and over, never learning from the pain of not using vertical slicing for splitting stories.
I believe our fundamental attribution error is the focus on the blocks of functionality (the components of the car) rather than the interactions, and rather than focusing on the purpose of the tool and user feedback we plan for efficiency of the workforce. The result is an optimized workforce and an inefficient workflow. We create a sub-par product that has efficient working components but do not effectively work together, and generally this results turf wars over interfaces that do not match the use cases and last ditch efforts to fit square pegs in round holes.
We can learn so much from Dr Ackoff, software alone is not the system, software is a tool, it becomes a system only when it is in use. The only way we can know if the software is efficient is by putting working software in front of a user and for them to use it and give feedback. So the only good way to split a story is in such a way that you are able to get feedback from the user that helps shape the design or to assist in making decisions.
If a story cannot lead to feedback or use, then it has no value, it becomes inventory or work in progress, it is a liability rather than an asset. That Database or API layer that is built with nothing utilizing it is not benefiting you, it is waste, it is an over engineered liability and the pain comes when you integrate it with other components. This extends to unused data fields or unused end points, “we know we will need them later” is a poor excuse for creating additional WiP (work in progress).
Learning is not compulsory… neither is survival
W. Edwards Deming
We as Agile practitioners can learn so much from Dr Deming and Dr Ackoff we are building systems, and the development process itself is a system, if we applied a little more systems thinking I believe we could be far more effective.
But as Deming said “Learning is not compulsory… neither is survival ”
I recently saw an article where someone said that all leadership, sales and politics can be simplified to just two types of influencing motivations. Inspiration or Manipulation. Essentially you can be stimulated to act or you can be persuaded to act. (Push or Pull)
The manipulation aspect is fairly easy to understand. In leadership this can be reward or compensation, authority or threats. In sales this can be price incentives, offers, fear of missing out or fear of consequences of not having it. Politics is often the same, you will get ‘x’ reward – direct or indirect, or the other guy is worse he will take away ‘y’. We see it all the time it is part of our culture: reward; fear; peer pressure; even bullying; it is rational although not always obvious.
Inspiration is far harder. One person says I believe in ‘x’ and if you do too then you may be inspired to follow them, vote for them or buy from them. A great example would be green companies, we are willing to pay more for environmentally friendly products or animal humane products because we are inspired by their values. The problem with inspiration is that you limit your supporters to those that believe in the same things as you. For sales and politics this is not a great policy as it cuts down your target audience considerably. The benefit is that if someone shares your beliefs they are a powerful voice they are harder to manipulate and more resilient and enthusiastic about your cause.
By all accounts Steve Jobs was not likable but he was inspiring to his employees and his customers. The same is true for many inspiring leaders even the unpleasant ones. You don’t have to be a nice guy to inspire people you just need to be open about what you believe, to be clear why, and to stay true to your beliefs. Those that share your thinking will support you.
To give you an example of this in action let me talk about Brexit for a little while. Brexit is a difficult and complex topic, I am not an expert and am likely to oversimplify the situation so please don’t be offended. Although I am British I live in the USA and lived here during the referendum so did not get to vote. But I have family that lives in France and everybody British regardless of where they live feels the impact of this decision directly or indirectly. It has been an anxious time for all of us, and it is not over yet!
The UK joined the EEC in 1973, it was presented to the people as a trading union, over the next 45 years it turned into a confederation and now has an open desire to become a federation. I think it is fair to say that most people in the UK did not know they had signed up for this, and felt that it has evolved without our consent. There is also a sense that we (the UK) have very little influence in the EU. The decisions by the EU were often in alignment with our thinking and beneficial to us, or did not impact sufficiently to trigger an extreme reaction. There were a few notable exceptions like the Euro and fishing rights, but mostly the EU could be ignored, that is until it became apparent to the masses just how much power had been ceded to the EU.
The referendum was simply a choice: do you want the UK to remain a member of the EU or to leave the EU?
The EU has a mandate for an “Ever closer union” it is currently essentially a confederation of states, with a long term goal to become a federation of states. Ultimately a United States of Europe. Currently the member states have ceded power for currency and monetary policy, trade agreements, fishing, agriculture, borders, migration and law in too many areas to list here. The longer term the expectation is a European army (including nuclear deterrent), central taxation, and further power. shifted away from individual states to the EU. To Remain is to support the move to becoming a United States of Europe.
To Leave would mean returning the ceded power to the UK and losing the benefits of membership, and likely exclusion from the EU in the future.
Those voting Remain claim that we have benefited from membership and will continue to benefit from trade and free movement, and that EU policy is broadly in alignment with our views so ceding the power to the EU is not an issue as we broadly agree with the decisions and laws created so far.
Those opposed (voting Leave) have quite a large and diverse number of objections to the EU but the majority seem to focus on the issue that the European Commission – the body that creates and proposes laws and legislation – is appointed and not elected, and that they are not transparent. We ‘the people’ have no influence in the laws proposed or in the appointment of the law makers. For a country with a strong democratic history this is a big issue for many. The UK has almost no influence direct or indirect on the EU, we are passengers along for the ride. And to really set people off, the leader of this group Jean-Claude Juncker is on record for saying : “When it becomes serious, lie to them” and that in relation to a French referendum: if they vote Yes he will act and if they vote No, he will ignore them and continue anyway.
“When it becomes serious, lie to them”
Interestingly looking at the two arguments it appears that the Remain have the Inspirational goal and the Leave are based on manipulation and fear.
But the campaign changed that drastically. The Prime Minister David Cameron had the support of his cabinet, the support of the leaders from all the major parties, support of the mainstream media (apart from a few loonie papers), it had uncharacteristically overt bias from the BBC in support of the EU, not to mention celebrity endorsements all over the place. All the PM had to worry about were a few dissenting voices in his own party and UKIP – a fringe party that struggled to get a seat in parliament. He felt the referendum would be a slam dunk. In any other situation he could quite reasonably expect a huge landslide with the way the deck was stacked in his favour.
The Leave campaign was led by a less then credible man that had the aura of a very dubious used-car salesman. I think at the start of the campaign most people felt that the outcome was a foregone conclusion and the vote was simply an opportunity to warn the EU that we are not to be taken for granted and we would like our voices heard in the future.
The primary Remain campaign strategy was “Name calling”
Watching the campaign unfold was shocking to me. The Remain campaign rather than talking up the benefits of the EU or the inspirational goal of the EU, they decided to make their primary campaign strategy to call Leavers names. Almost the entire Remain campaign seemed to be centered around the claim that if you vote Leave you must be a racist bigot. Rather than choosing to inspire or even discuss reasonably, Remainwere so confident of victory theychose to belittle those that didn’t agree with them. Unsurprisingly those voters with reasonable concerns felt ignored and insulted. They felt manipulated and pressured and that their only voice left was a vote in a secret ballot box.
Leave perhaps in response to the arrogance of the Remain strategy took on a much more inspirational campaign, they talked about “taking control of our destiny”, “taking back our borders”, “making our own trading agreements”, “making our own laws” All this was about independence and autonomy, an inspirational call to arms. It played on out dated notions of empire and sovereignty and in many cases was meaningless rhetoric but it nevertheless inspired the voters.
The Leave campaign certainly had a fair share of manipulation with claims (many questionable) about money not going to the NHS and the waste of funds in the EU, crazy expenses of EU politicians, and there was certainly a vocal minority that wanted to block immigration. But this was all secondary to the notion of independence and autonomy.
In contrast the Remain had similar wild and questionable claims, but I hardly ever heard anyone in the Remain campaign say anything positive about the EU for the UK. It was all just negativity about those voting Leave. Or edge-case examples of how very small groups of people would be worse off. There was nothing inspiring in the campaign nothing to feel good about.
There is an old adage that when you insult the person rather than the policy you have lost the argument, and I think that is what has happened.
When you insult the person rather than the policy you have lost the argument.
Even in the aftermath of the vote, the Remain voters talk about how Brexit will hurt them personally or someone they know, or the near-term disruption to the markets and trade, or the retaliation we should expect from the EU. For people inspired to independence and autonomy, the obstacles, disruption and short-term issues will not change their mind, they have an inspirational long-term vision (that may very well be flawed) but it can’t be countered by complaining about the impact to individuals. They believe in a better future or at least one in which they have some control. Threats of retaliation by the EU just further reinforce the view that they were right to vote leave. I hear a lot of people that were on the fence during the vote but seeing the EU’s attitude since the vote they are now far more against the EU than before.
In my opinion, If you want to counter the Leave vote you need to inspire people to stay, and from what I can see no one has tried. You need to shout from the roof tops why the EU is good for the future and how you and the EU will listen and address their concerns.
The result was a clear and surprising victory for the Leave campaign, the leaders were surprised and confused they had no expectation of winning. and Remain had no plan for what to do if they lost. The country is now confused and lacking direction, the losers are in power trying to achieve something they opposed. People we know and care about are in a situation of confusion and uncertainty. Who knows whether things will be better in the long-run we will have to wait and see.
I think it is a rather extreme example of the power of inspiration and the inherent weakness of manipulation. Threats and promises don’t work if a person can be inspired.
In my opinion the Leave campaign did not win, the Remain campaign went all out to lose. When you openly insult your electorate it is hardly surprising that they rebel against you.
For those in a position of leadership it should be an eye-opener to the power of inspiration. State your intent, your vision and those that share it will be fierce supporters. But if you choose to lead through manipulation, your hold on your followers only lasts until someone makes them a better offer.
We all want to be inspired, we all want to share a vision and work towards it but all too often our leaders don’t share their thinking or in some cases believe we can be manipulated, or worse need to be manipulated, the result is that we become what they believe, we react to how they treat us.
We want leaders that inspire us (and I don’t mean political opportunism) but genuinely tell us what they believe and the “Why” behind their actions and decisions. We want to support these leaders because we believe in the same thing.
Unfortunately inspiration alone is insufficient, you also need a plan. Brexit is now a mess, there was inspiration for the vote but no plan for what to do when they won.
The absence of a plan is disastrous:
Vision without action is a daydream, Action without vision is a nightmare.
Right now Brexit looks like a daydream and for many Remain looks like a non-democratic nightmare. Whatever the outcome we are losers.
It is always tricky using politics as an example but I have tried to be impartial. This is not meant to be a debate on the politics. I just want to highlight the contrast in impact when you inspire rather than manipulate. If you would like to comment could you comment on the this rather than Brexit, there are plenty of forums for that.
A question I have been hearing a lot lately is how do you know whether an employee is putting in their hours, or not slacking off. This question seems to be particularly concerning for people in the context of working from home where the perception is that it is more prevalent.
The irony here of course is that being in the office is no measure of not slacking off, there have been many books written about different ways you can slack off whilst appearing to be busy.
I have heard tales of the productive worker that works hard all day long only later to discover they were working on a side project or even for a second employer. Long lunches, toilet breaks, extended coffee breaks, fake meetings, or just browsing the internet or discretely playing games on your mobile phone. Physical presence in an office is not an effective measure of whether you are slacking off.
The average American worker admits to wasting 2.09 hours a day, excluding lunch, according to 10,044 self-selected respondents in a survey released by America Online and Salary.com.
What does it mean to Pull your own weight?
Let’s take a little aside and explore the phrase “pulling your own weight” there are a few suggested origins of the phrase but the one I like best relates to the English Long-bowman, to be considered an ‘archer’ you had to be able to “pull your own weight” Longbows had a draw of up to 180 Lbs. You really did have to pull your own body weight. An experienced archer could fire 12 aimed shots in a minute at ranges of 200-300 yards, although in battle they were expected to fire at a slower ‘sustainable pace’ of 6 aimed shots per minute. For context a modern bow draws at around 40 Lbs for women and 60 Lb for men.
In a modern terms we usually mean contributing proportionate to your role. We tend to think in terms of productivity and output. Despite this we often tend to focus on hours spent – hence the rise of slacking off at work, even though we can easily slack off time without being noticed, but it is far harder to slack off output or deny outcomes.
So how do you know whether your employees are working?
Personally I think that is the wrong question. When you explore deeper you discover that the employee surveys on why people slack off are far more interesting than the ways which they slack off. Many described being bored as the primary reason, others felt that their job was easy. So it seems to be a question of engagement.
I suspect in other cases it is that you have hired the wrong people and better filtering at hiring would result in a more motivated workforce. Ironically when you have a motivated workforce getting them to take a break becomes more of a challenge.
So I guess what I am saying is that if you are a leader that is worried about whether your staff are working, then the issue is far more likely to be with you than it is with them.
Hire the right people. (Hungry Humble, Smart)*
Be clear what is expected of them.
Help them understand why it is important – and who benefits from their work.
Be interested in them as individuals.
Interestingly all of those actions fall to the leader rather than the employee.
If you follow these steps then I suspect that you won’t need to worry whether they are pulling their weight, you will be too busy trying to keep up with what they can achieve.
Where does the responsibility lay
If your employees are slacking off then it is a failure on the part of the leader not the employee. So when you hear someone ask how they can tell if an employee is doing their hours and not slacking off. Ask them if they have hired motivated people they can trust? Have they given clear objectives and set expectations? Do their employees understand the context and purpose of their role? Do you value them and do they know it?
If and when you do see someone slacking in a damaging way, take a look and see if the route cause is one of these 4 issues, you’d be surprised how often it is one of them.
What I am confident of though is that any efforts to monitor time in the office (or home) – such as time clocks, pressure sensors on seats, keystroke monitors, swipe cards on toilets, or a foreman to watch people – and of course a foreman for the foreman – obviously you need someone to watch the watchers. All will have minimal impact on people slacking but will have deeply damaging impact to productivity.
*Taken from The Ideal Team Player, by Patrick Lencioni
Sherlock Holmes was a master of deductive reasoning and problem solving, rarely was a problem beyond his capability. However, every once in a while he encountered problems that required a greater level of consideration, it would stretch his mind to it’s limits and required him not to be disturbed for an extended period, he described these as 3-pipe problems, he would need the time it took for him to smoke three pipes.
I am no Holmes but I have the joy of a 3-pipe problem to immerse myself in. I have been asked to lead an endeavour to create, build and run a virtual office comprising of cross-functional teams that create software. The challenge is to grow an office but maintain agility, retain our company culture, and have the teams happy and engaged. Oh and be profitable too.
Where I have seen remote work successful in the past has been where there were clear tasks assigned and collaboration was a minor element of the work. My observations of many remote workplaces is that they focus on individual contributions, collaboration is asynchronous and there is a heavy overhead of management assigning tasks.
What I am envisioning is a workplace where the team is self organised, and whilst there is likely an increased element of asynchronous working it will be alongside effective collaboration. I see my role as identifying healthy boundaries that enable collaboration and creativity.
Naturally communication is key, just as it is in brick and mortar offices, but when we are face to face we have a lifetime of skills to rely on. Instinctive awareness of body language, sensing mood and tone, not to mention touch – hand shakes and physical contact create bonds we don’t fully understand.
Remote teams communicating effectively is far more complex than simply joining a webex. I see the ability to communicate and collaborate as the number 1 challenge of this role.
As an agile coach I strongly support the Agile manifesto (alongside Lean, ToC, and Lean Startup) and the manifesto favours individuals and interactions over processes and tools. It also advocates face to face communication. And yet I am taking on a role that is putting barriers between people and pretty soon I’ll be talking about how processes tools are vital for enhancing individuals in their interactions.
So why take on a job that seemingly flies in the face of this? The answer is twofold, First I believe the manifesto is a mindset for guiding teams in improving their way of working to get better at delivering software. I believe we can adhere to that mindset in this environment, I don’t see a conflict. Secondly I think that the focus and scope of the manifesto didn’t consider the larger picture and the changing state of the workers needs. Face to face is better – no argument from me, but it comes at a cost. We need to weigh up what is lost and what is gained from remote working and decide if what we gain is worth the sacrifice and I think with the right attitude, training and tools the desired outcome of effective collaboration can still be achieved and achieved in a way that is better for many team members.
What is more, I think this will be one of the most challenging coaching roles I have faced. Just like teams, coaching is far more effective face to face. The coaching may take on a different dynamic but I still very much see this as a coaching role.
Processes and Tools.
I warned you! To have effective communication and collaboration in a virtual workplace processes and tools are vital ,and are a prerequisite to the individuals and their interactions. But I don’t see a conflict here, in face to face communication there are processes and tools, we just don’t feel the need to mention them as they are natural to us.
Don’t shout, don’t mumble, don’t interrupt, pay attention, look at the speaker, be respectful. Lots of processes and a lot of non-verbal communication. And just watch for hand gestures or pens on post-it’s or whiteboards these are all tools, we hardly consider them that way and we certainly wouldn’t object to any of those processes or tools, they are necessary for our interactions.
In a virtual world the need is the same but the tools are different, tone of voice and body language are harder to decipher, so we need to be more attentive and more explicit. pen and paper are replaced with online collaboration tools, shared screens, electronic gestures and Slack messages to clarify misunderstandings.
The scope of the task is daunting but I so excited about this. My employer is already a leader in Agile software delivery, this is the chance to demonstrate that we can be agile about flexible work environments without sacrificing what has made us successful: collaboration and self-organization.
This blog will continue to be Agile focused but I’ll also share some of the experiments as we discover what works for us.
I was chatting to a friend recently, he is a manager of an IT department and I used to manage a software department before I became a Agile Coach so we tend to talk a lot about management techniques and especially how a lot of the successful traditional techniques map to an agile work environment.
It was performance review time and the topic of conversation got around to a frustrating belief by some staff that working long hours without being asked is something that should have an implied reward. That working long hours is in itself a reason to be praised.
I can’t speak for all managers, but for the two of us I can say that we consider it to be the opposite, when someone works late on a regular basis without being asked, we see that as a bad thing, it is a red-flag. Certainly not to be commended and very likely a sign of deeper problems.
I used to pride myself on being a good manager, I felt I was fair and sought to do what was best for my employees and the business, sometimes it was a fine line and often not easy. But one of my strongest principles was to be fair. I would never assign someone more work than I felt they could handle (that is not to say I didn’t seek to challenge them), I would generally discuss in advance what they felt was fair and I would always say very clearly that they should come back to me if they had problems, and I would review on a regular basis – usually at least weekly.
As an Agile Coach I have obviously changed my behaviour a lot and learned so much along the way but generally speaking it could be said that the roles are reversed, the team decide what they feel they can commit to and they review with each other on a regular basis (at the daily stand-up) and can ask if they need help, they should assign themselves small chunks of work and no more than can be reasonably achieved.
Have I assigned too much?
In either of these scenarios there should be no scope for voluntary, unpaid, overtime. In the case of assigned work: if you cannot get it done in the allotted time then it is a failure of my management – either I have incorrectly assessed the amount of work or I have misjudged the individuals capability to do it, and unless I have opportunity to be aware of that I cannot correct my behaviour and the cycle will repeat.
The same is true in Agile, whichever chosen framework you use the model is built on empirical evidence, if your forecasts are off you learn and adjust next time. Working overtime hides problems and perpetuates failing cycles, it also causes an imbalance in the team, it makes pair programming difficult and sends mixed messages to others. Very simply as a team manager or a self-organizing Team you cannot fix a problem you don’t know about. Overtime is analogous to cards not on the board, it is hiding work, this is very damaging to a self-organising team.
Rewarding bad behaviour
So should you reward someone for working late, for their dedication and loyalty? or should they be reprimanded for their lack of transparency, or their inefficiency of working? Are they displaying a lack of courage in not challenging an unrealistic expectation? Are they stretching work to appear more busy? Should we reward their failure to communicate an excessive workload, or for failing to ask for help with their lack of knowledge/training/understanding to achieve the objective at hand?
As a manager if I ask you to work overtime I would do so with a very heavy heart, I know that it is not good for you, I know it is not good for the business and any gain is short-term and short-lived. It will only be in exceptional circumstances, where there is justification or benefit in working overtime.
As a member of a self-organizing team you should set those same standards for yourself: You should know that it is not good for you or the team, You should know it is not good for the business and any gain is short-lived.
So if you do voluntary overtime which conflicts with our team plans or expectations please don’t expect to be rewarded for it. That may sound harsh but I value communication far more than I value you giving extra time, especially if by doing so it is hiding problems elsewhere that we could and should be addressing.
This is not a call to work to rule, this is a request to understand the difference between being a team player and expecting recognition and reward for setting yourself up as a martyr. By doing so, try to understand that you are working against the interests of the team, this is not behaviour we should be rewarding.
Sometimes it is necessary to work overtime but this should be a deliberate team decision with a clear objective. It should be open and transparent and should not be one person acting alone.
*Note when I saw reward, this is everything from a positive comment from leadership to financial reward. Sometimes leadership even acknowledging this behaviour is seen as a reward, the belief that your actions were noticed is quite an incentive for some.
I have been asked by a friend to write an article explaining the concepts of Herbie from the book “The Goal” in a more accessible way. The book itself is amazing but in my opinion the language used in the 5-focusing steps has tried too hard to be scientific and precise that it makes it harder to understand. My annotations simplify the terms but likely lose some of the precision of the wording, I offer this as an introduction to the topic but encourage reading the book to get the full impact, I cannot do it justice here.
Herbie is a character from the book “The Goal” he was used in the story as a metaphor for a system constraint and the impact it has on your delivery. I’d highly encourage you to read the book but hopefully it is not essential to be able to follow the explanation, the purpose of the metaphor was to make the thought processes relate-able, hopefully this helps.
The 5 focusing steps
Identify the system constraint
Exploit the constraint
(Make the best use of what you currently have)
Subordinate everything to the constraint
(Make decisions based on the constraint, the system should run at the pace of the constraint)
Elevate the constraint
(Make improvements to the constraint)
Repeat the steps
Step 1: Identify the constraint
We need to figure out which part of the system is holding us back the most – limiting our ability. We should know that only an improvement at the constraint makes a difference.
Herbie: In the example of Herbie, he was observed as holding everyone back he was slow and the rest of the group had to regularly stop to wait for him to catch up or were racing ahead. In the case of Herbie the constraint was evident through observation.
Reality: There are different ways to identify a system constraint sometimes observation and experience is sufficient, or metrics can help. The simplest way is to look at your work is it piling up somewhere? Do you have a lot of stories in Dev Done, or waiting on PO approval or needing wire-frames? Piles of work are a sign of a constraint.
Another common constraint are blockers, if you are consistently waiting on another team, another person or another resource this is a sign of a constraint, we may use blocker clustering or other root-cause technique to see if there is a common theme to delays.
The third most common technique is to review cycle-time for stories, look for stories that are taking longer than others see if there is a pattern, common aspects, this could be a constraint that may be improved.
Step 2: Exploit the constraint (Optimize)
Before we consider adding capacity, we should make the best use of the capacity we already have. We ‘Exploit’ in this sense means doing everything possible to use the constraint to its fullest capacity. This is also the easiest and generally cheapest improvement you can make to your system.
Herbie: In order to maximise the performance of Herbie, the contents of his backpack were shared out so he could concentrate on the most important task of walking. Making the others slower (less efficient) by carrying his stuff was unimportant as Herbie sets the pace for the entire group.
We could also have ensured that he got his lunch first so could start sooner, and others could have covered his chores so he was more rested – our goal is to get the best out of Herbie on his most important task – walking.
Reality: In our systems we need to identify what the most important task is, typically this is getting a story to done and the software in the hands of the user. So when you identify your constraint look for anything they are doing that is not helping to move stories or for anything they are doing that someone else could do. Are they filling in paperwork that someone else could do? does this task really require their expertise? Could you make them a coffee so they could focus. (This is not encouragement to over-work, breaks socialising and generally a healthy working environment always takes priority).
Step 3: Subordinate the non-constraints
The job of all non-constraints is to subordinate their decisions to the constraint’s needs.
That sounds extreme wording but essentially it means that no mater how fast you go, if you are dependent on someone slower you are wasting your efforts, so work at the pace of the constraint, you have reserves so you can catch-up if necessary. Use the time saved to help optimize the rest of the system.
We do this as step 3 because it is more disruptive and more costly than step 2.
Herbie: In the story Herbie was put at the front and the rest of the group were told not to overtake him. When Herbie was able to go faster there was no one in front to delay him so we got the best from him and as the others were able to go faster overall they were able to make up any delays. The goal was only achieved when everyone was done so there is no benefit in getting ahead.
Reality: Don’t let work pile up, if we limit Work in progress we focus on flow rather than utilization, put effort where it has most impact on the whole system. In the case of dependencies on 3rd parties, could you give them advance notice so they are better prepared and can respond sooner. If you are dependent on a 3rd party could you see if there is a time/day they can respond more quickly, could you tailor your process to be more convenient for them? Tailor your process to maximise the effectiveness of the constraint, and this is the tough bit – even if that means making the process worse for others.
Tailor your process to maximise the effectiveness of the constraint, even if that means making the process worse for others.
Step 4: Elevate the constraint
Only once we’ve completed the previous steps does it make sense to add more constraint capacity, and thereby increase system performance. Because adding capacity is tremendously expensive in terms of time and money, we do it as a last resort, not a first step.
Herbie: In the case of Herbie, we could get him doing fitness training so he is quicker, or buy him a bicycle.
Reality: This is typically where you spend money, hire more people, get better/more equipment. Invest in training or education. Remember improvements here improve your entire system so the investment must be calculated based on system income not local costs. Maybe you ship parts by air, maybe you fly in an expensive expert, maybe you lose money on this aspect of a project so that the project as a whole makes more money. Keep the focus on the gain to the entire system and not get distracted by the cost at one stage.
Step 5: Return to step 1
The inevitable result of the first four steps, and the reason this is a “continuous” improvement method, is that the constraint will inevitably move somewhere else.
This step insists that you start back at the beginning, and don’t let inertia become the constraint.
A second example of the steps being applied…
Access to overworked Doctors in an emergency – constraint is a shortage of Doctors:
Exploit: Make the best use of what you currently have
Ensure Doctor is not doing any activity that someone else could do. All admin work is removed, prep work done by nurses or other staff.
Vacations/time off is deferred,
Doctors may work overtime so long as it doesn’t risk the patient or cause the Doctor to quit
Subordinate: Make decisions based on the constraint, the system should run at the pace of the constraint
Any non-urgent treatment is stopped until emergency is over.
Cases are prioritized so Doctors are only working on the most urgent cases.
Patients are only ‘prepped’ according to the capacity of the Doctors.
Patients are prepped in advance so that the Doctor is never waiting.
It may be quicker for a Doctor to move between patients rather than them coming to the Doctor.
Elevate: Make improvements to the constraint
Now we look to increase the number of Doctors or their effectiveness
transferring Doctors from other areas withing the organisation
recruiting more Doctors even at inflated rates or short term contracts,
any increase is an increase so we can hire someone that is semi-retired or part-time.
We may automate activities or buy tools to improve the efficiency and effectiveness of the doctor.
We could train Nurse to perform some of the Doctor’s activities
We look and see whether the Doctors are still the constraint or whether there is a new constraint.
There may be a little ambiguity with some of these improvements, e.g. A Doctor moving between patients may be considered elevating or subordinating, but it doesn’t matter it is an improvement, it is a thinking process and some changes don’t neatly fit into one category, don’t let that distract you from the thinking process itself.
This book uses a production plant as a metaphor for delivering value to your customers. The emphasis is on the manufacturing equivalent of delivering working software, doing it regularly, and that delivery is not about development, OR production OR deployment it is about everything – essentially encouraging Dev Ops. It also has a lot to say about how the only Done that matters is to have it in your customers’ hands.
Read it! This is hands down the best book on Agility I have ever read. There are many others by this author all of which are great but this is my favourite.
I occasionally get asked why and how I became an Agile Coach and whether it is a fulfilling role. When I began my career I certainly had no intention or expectation to be here, I was a software developer, I loved writing code and like most developers I wanted to create something that made a difference.
What followed was 15 years of… I want to say frustration but that is unfair because I generally loved my work and got to create some great software, but I always had this belief that there was a better way, a more effective way to get the job done, I dabbled in project management and team management believing I could do better than those I had worked for in the past. My problem and I suspect it is a very common problem is that I spent a lot of effort trying to do my job better, to be more efficient, more effective, to deliver more etc. etc. It turns out that was wrong and I was wasting a lot of effort and not getting the results I expected.
And then quite by accident (and for all the wrong reasons) I stumbled on to Scrum. I was running a software department and we were forever fire-fighting and I saw Scrum as a tool I could use to control the workflow and manage the demands on the team. It worked, and in the breathing room it created I was inspired to look deeper, beyond Scrum to Agile, and then Lean and Systems thinking and the Theory of Constraints and then I saw it. I felt like I had discovered the meaning of the universe, and once you see it you can’t un-see it, you see it everywhere, it feels like it is staring you in the face.
There is nothing more deceptive than an obvious fact. ― Arthur Conan Doyle
Of course I hadn’t discovered anything, I had just opened my eyes and it was right there in front of me and it was so unbelievably obvious that it almost feels stupid writing this.
And it is this simple:
All we have to do is work on the thing that adds the most value and stop working on things that don’t add value.
Work on the thing that adds the most value and stop working on things that don’t add value.
So I said it was simple but it took me 15 years to start to understand it and nearly 10 years later I am still figuring it out, because whilst it is so simple that it should have been obvious all along, it is also remarkably difficult to do.
What is Value?
The primary problem is to understand what value is. figuring out your value stream in a system is key, and to be fair most businesses do this to some extent, but most individuals do not understand how they fit into the system they are in, nor do they understand how their local system fits into the big picture.
We cannot see the value we contribute to the system and when we don’t see what is most valuable, we do what we see as most valuable in our line of sight. Crazy as that sounds it is nearly always the wrong thing, optimizing for us nearly always optimizes against the larger system. The bigger the organisation the more this happens and the more inefficient it gets.
the loss of potential gain from other alternatives when one alternative is chosen.
Another aspect is that so much value is obfuscated, it gets lost in opportunity cost which is invisible on balance sheets and yet is likely the biggest cost you pay when developing software. Or cash flow, leverage and return on investment, these are fundamental aspects of successful business but they are generally encapsulated and decoupled from the parts of the business that can impact them most – especially IT and software product development. Many projects get given budgets and time lines, which is a horrible way to run a business and it cripples cash flow, it also significantly limits investment opportunities and increases risk significantly. But worst of all it delays delivering value.
So that is actually two problems, first is that we need to figure out what is valuable and then we have to communicate that to those doing the work.
In that sentence is the heart of being an Agile Coach, my role has become one of helping organisations understand their value stream, especially how software impacts and interacts with it, helping visualise that value and prioritise it and then to help communicate that to those that will create the software and deliver that value as quickly as possible.
Discover what our goal is – how do we deliver value? What outcome are we trying to achieve?
Communicate that to everyone so we each know how we help to get towards the goal and how we avoid getting in the way.
Unfortunately the majority of the time is spent dealing with people that are just like I was, they are doing their very best to be as efficient and possible in their domain, simply because they cannot trace what they are doing to the value delivered. So I spend much of my time doing my best to help them see that often what they are doing is at best not achieving anything useful and more often is actually damaging to the bigger picture.
Let me give an example that a friend of mine shared recently: My friend was baking some cakes for an event and needed to bake 10 cakes, but only had one oven. Her husband offered to help out and so she asked him to measure out the ingredients for the cakes in advance so that it would be quicker to get the next cake in the oven.
When she came to get the ingredients for the cake, they were not ready, her husband had optimised for himself and not for the goal. He concluded it would be much more efficient for him to measure out 10 batches of flour then 10 of… etc. after all he knew they would be needed later and it was quicker and far more efficient for him to do that than to do small batches and keep switching.
The result was that whilst he was being efficient for himself, the system grinds to a halt and must wait, his efficiency came at the cost of massive losses to value delivery (cakes baked).
Perhaps if he had understood the full picture, and how his contribution impacted the value stream he would have planned his work differently? He would have prepared one cake at a time even though it was less efficient for him. Together they would have reached the true goal more quickly.
But the funniest part of this story for me was that she was so frustrated, she thought it was obvious, and he thought he was being efficient. Those opposing view points are so common in this line of work.
When you see it, it is obvious but until you do it remains an enigma.
Why be a coach?
Now imagine that confusion on an industrial scale, a whole organisation of people conscientiously working hard in the belief they are being efficient but still struggling to deliver software, delivering software that is not what is wanted, features that are not needed, struggling with integration and so on. Then this loony guy comes in and says that you might actually contribute more by being less efficient. – I’m the loony guy and I love it.
Agile is a mindset for getting better at delivering software and coaching is about helping you. But my goal is not to help you improve just a part of the system, the goal is to help you improve the system, and that starts by helping you and the whole organisation see the system. and learn how to communicate where we can add value.
Obviously there is a lot more to Agile than communication and value, but in my experience if you figure those out the rest falls in to place.
There are a handful of books that I repeatedly recommend, all of which display true Agility and yet to be contrary not one is about ‘Agile’
This talks about being clear in your goal and how to communicate it to your organisation, it is not quite as specific as I am hinting at in the article as we must delve deeper but it is an amazing book and the emphasis is on over-communication.
This book uses a production plant as a metaphor for delivering value to your customers. The emphasis is on the manufacturing equivalent of delivering working software, doing it regularly, and that delivery is not about development, OR production OR deployment it is about everything – essentially encouraging Dev Ops. It also has a lot to say about the non-sense of Dev-Done and how the only Done that matters is to have it in your customers’ hands.
Read it! This is hands down the best book on Agility I have ever read. There are many others by this author all of which are great but this is my favourite.
I wholeheartedly subscribe to the Lencioni school of thought on many things (hence two books by him in this short list). On team building this is one of the best books out there, it describes the stages of team development, and you see this time and time again. Team dynamics are such a crucial part of agility and fundamental to success, this helps teams see those stages and is a great tool for helping teams bond.