Our May 8th 2023 BBC Workshop : The Backlog is Broken – Here is How We Can Fix It
During our Rock Crusher workshop at Building Business Capability (BBC) we asked 50 Business Analysts to call out the challenges they were experiencing managing their backlogs. This is the raw data, and it is revealing:
Hard to prioritize among 3 different departments
Not enough developers or QAs
Hard to prioritize among 3 different departments
Backlog more about the process than business value
No clear goals
No fully transformed projects coming in with long end dates [that are] years out
No understanding or definition of ready
Too much work coming in
Doing work the old way
Fractured resources
No clear leadership for backlog
Siloed Dev/QAs
Never know what is enough or too much detail
Things change, and updates to are had to do in most places
Organizing takes thought
Scope changes and additions
Establishing priorities.
Large teams, greater than 20 “resources.”
Hybrid approach and not doing either well
Developers dictating code writing
Our products are small, and we don’t have a deep backlog. We work on multiple products at a time
Unnecessary user stories
Obsolete stories
Using Kanban instead of sprints
Loose prioritization
No discipline to follow the backlog and limit WIP
Not enough leadership support
User stories with end dates estimated poorly / unrealistically.
Making sure acceptance criteria is on user story
Changing priorities and assigning priorities
The external to do list that does not get proper prioritization or discovery work
Fluff in the backlog to justify needing more resources
Cross team planning and prioritization creates conflicting priorities
Lack of backlog grooming and clean up
So many parties involved with pulling from the backlog with lack of collaboration or prioritization.
Fear of forgetting a great idea
Many “shell” cards
Help find the “walking skeleton” and be confident it’s a good start
Too old not accepted as a reason to delete
Who owns the backlog? Makes the decisions? Too many cooks in the kitchen
Nice to have versus must have, MVP mis-understanding
Backlog not cohesive
Switching resources in the middle of projects
Prioritization! How?
Team maturity, some do not know where to start. Some don’t want to be told what to do
Tech debt sticks around
Prioritize once and don’t revisit
Backlog tool, new and different tools across company. Different ways to use it
Maturity
We say “later” and not “no”
Priority by line of business but value lost at solution level
Dependency management
Articulating the business value…who? Why?
Lack of discipline in ceremonies
How to stack up the non value add stories against the value add
Story writing
Prioritizing key items
Size of stories , right sizing for consumption
The requirements are not correct
I want to thank all our workshop participants for sharing with us. My first sad reaction to this data is there is nothing new here. I have seen this data before. I suppose there is some comfort in knowing colleagues from across the industries are experiencing similar challenges, and we are not some outlier.
There are numerous themes in this data, from too much WIP, lack of discipline, to no clear priority. It’s the “no clear priority” theme that really concerns me because this is pretty much why the backlog exists. The backlog is the single source of prioritized work the team pulls from. Prioritizing work means the team is working on the most valuable backlog items. Pulling work balances the limited capacity of the team with the demand for work by the enterprise. Pull systems avoid the coordination delays associated with high levels of work in progress and congestive collapse. For organizations that know their priorities, it is a system that predictably delivers superior economic value.
Unfortunately, this data suggests that for most of these enterprises, they do not know their priorities and the backlog is just a reservoir of un-prioritized pre-committed work for the team. What is worse is the data reveals numerous examples of where backlog items are pushed into the team rather than the team pulling the work (e.g. too much WIP, not enough team members, unrealistic due dates). The backlog is just a Gantt chart in disguise. As one participant called out “…hybrid approach [waterfall and agile] and not doing either well”.
Here is the bottom line, if our enterprise is not capable of saying “this before that” and is not capable of saying “no”, and if our enterprise cannot work as a pull-based system, then you will not gain any economic advantage from agile practices. Our workshop offered the Rock Crusher as a modern model for better backlog management. However, if an enterprise is incapable of deciding its priorities, then there is no agile framework or methodology that will do that for them, (outside of a random number generator). After all, the Rock Crusher and agile practices in general provide the fast learning cycles that can help you make better decisions. But they cannot make the decisions for you.
We in the SAFe community love to tell the story of Toyota and how its development and implementation of Lean concepts manifested by the Toyota Production System gave Toyota a massive manufacturing advantage. We love presenting the House of Lean and wowing our clients with words like Kanban, Kaizen, Muda, and Gemba. We love coaching organizing around the value stream and delivering a flow of value. We love this because we see the real benefit Lean and Agile thinking brings to an enterprise. However, there is another valuable but lesser known Toyota story we should tell and and that is the harsh economic consequences of a “broken” value stream
A value stream represents the series of steps for how we go from some trigger event to the delivery of value, or as we often like to say, “concept to cash”. Value stream thinking encourages us to take a systems view and optimize for delivery of outcomes rather than taking a more siloed view and optimizing for perceived local “efficiency”.
A simplified example of a value stream
Mapping the value stream helped Toyota engineers learn where there were wasteful delays resulting and remove them. Taiichi Ohno’s dream was to minimize the time from when a customer ordered a car until when it was delivered.
A broken value stream is when the flow of value is interrupted and delayed because organizational silos or practices artificially segment the value stream. Up until the mid 1980s Toyota was hampered by a broken value stream. In a situation we often find ourselves in, the cause of their value stream breakage was their artificial distinction between “business” and “technology”.
In their book “Competing Against Time” and also in an HBR article [Time- The Next Source of Competitive Advantage, HBR July 1988], George Stalk and Thomas Hout tell the story of Toyota’s “broken value stream” and how it effectively squandered their manufacturing gains. Until the 1980s Toyota was organized as the Toyota Motor Manufacturing Company which built cars and the Toyota Motor Sales Company which sold and distributed cars – technology and business. In the late 1970s the Toyota Motor Manufacturing company could manufacture a car is less than two days. However, the Toyota Motor Sales company’s entrenched bureaucratic organization squandered this gain taking nearly a month to process a sales order and deliver a vehicle. According to Stalk and Hout:
“Twenty to thirty percent of the cost of the car – more than it cost to actually manufacture the car – and more than 90% of the time the customer had to wait was consumed by the sales and distribution function” [Stalk and Hout, Competing against Time, pg. 68].
We can imagine the frustration this created for Taiichi Ohno where the whole point of the Toyota Product Systems was to “…reduce the time line from when the customer gives us an order to the point we can collect the cash”.
In 1982 the frustration boiled over and two companies were merged. The executives and directors of Toyota Motor Sales were replaced by executives and directors who trained in Lean thinking. New processes and management information systems supporting those processes were developed. By 1987 the sales cycle was reduced from a month to 6 days from order to delivery of the vehicle. The benefit of this time compression was far more than just a cost saving exercise. The ability to compress time in this manner gave Toyota a massive competitive advantage because they were able to go from “selling whatever was on the lot”, to “selling what the customer wanted”. The benefit of this is huge because the short cycle times meant Toyota was able to exploit fast learning cycles and discover what cars customers wanted. By reducing their timelines and embracing change they not only were able to turn over units more quickly, they could also command higher margins on their sales.
What is the lesson we should take from this lesser known Toyota story? Far too many digital transformations follow the pattern of Toyota’s broken value stream with the same results. While our clients obtain some economic gain from the ability of their technology teams to predictably create economic value we may not have really made a significant difference in our client’s ability to deliver value to their customer. Technology is only one part of the value stream just like Toyota Motor Manufacturing was only one part of Toyota’s vehicle delivery value stream. To deliver customer value Toyota had to receive an order for a car, manufacturing the car, and then deliver the car. Just manufacturing a car creates little value.
A common example of a “broken value stream” in software development is the hybrid agile implementation , often referred to as “agi-fall”, or waterscrumming used by many organizations. Even in organizations adopting SAFe to inform their way of working we see this pattern. The technology teams eagerly organize around the flow of value, but only within their silo.
Broken Value Stream resulting from a hybrid agile implementation
While in this model we may be able to predictably create software in a very short period of time what have we gained if it takes a year or more to ideate, review, analyse, and fund a project before it is even seen by the technology organization? What have we gained if it takes several months to release software after its done?
In the Age of Software and Digital, just like Toyota, we risk squandering the gains of Lean-Agile adoption when our focus is only the technology side of the value stream or just a short segment of our value stream. To compete in the Agile of Software and Digital we need to learn Toyota’s lesson and not squander our technology gains. We need to remember Lean and Agile are not just IT or engineering science experiments. Rather as Toyota learned they are strategies for successfully competing in the time compressed era of the digital business.
Good cost discipline is a core capability of any successful enterprise and every manager knows the consequences of runaway costs. If not outright risking the viability of the business, broken careers, and loss of trust are often result of blown budgets. Software development gets a lot of attention because it is frequently one of the biggest – if the not the biggest – costs for many organizations. It is therefore not unreasonable for organizations to seek ways to reduce their software development costs.
Agile methodologies and practices are often offered as an approach for not only reigning in but also reducing development costs. I have been at many clients where the primary motivation for adopting agile or going through a “digital transformation” was to reduce IT costs by some significant percentage, often 30 to 40% within two years. This is mis-guided. First, this turns the agile coaches into the hatchet people because everyone knows staff are the biggest component of software development costs. A 30 to 40% cost reduction means reducing head count by 30 to 40%. This is not going to inspire a lot of trust, cooperation and enthusiasm for adopting agile practices.
Second, focusing almost exclusively on development costs reduction risks increasing costs in terms of delays, inventory, over-processing and movement – the wastes of lean. While development costs is accounted for and visible, these wastes of lean are invisible and unaccounted for. Yet their impact can be more devastating than the development costs that appear as line items on the corporate ledger.
To illustrate this, let’s examine a past client to demonstrate how a sharp focus on development costs creates waste. At this client management was judged on their development cost performance and there were six teams working on a variety of different projects. Well the term team may be a bit of an aggrandization, because these were not dedicated agile teams. Rather these were project specific work groups with a Scrum Master and Product Owner. Each “team” had responsibility for one project. People were frequently allocated to multiple “teams” to ensure their skills were efficiently utilized.
This multi-tasking across multiple projects increased the organizations work-in-progress, a source of waste. Most developers were on at least 2 teams and often had other operational responsibilities. The result was at any one time there were a large number of incomplete projects with incomplete features in progress. There was a lot of activity taking place but very little value delivered. This is a classic example of the lean waste of inventory. Where is the line item for inventory? At least in manufacturing they do account for work in progress and manage their inventory levels. Why don’t we do this in software? The cost this inflicts is very real, yet we ignore it.
Worse, it is well known that such multi-tasking introduces a context swap tax – the time it takes an individual to switch from one task and get into the flow on another. Some studies place this tax at approximately 20%, while others suggest this may even be higher – up to 40% (Psychological Review, 104, 749-791, Multi-tasking: Switching Costs. Retrieved July 17, 2012, from http://www.apa.org/research/action/multitask.aspx]). The implication of this is that to “efficiently utilize our staff” by keeping them close to 100% busy, we are effectively reducing their effective work week by at least one day, and perhaps even 2. In lean terms this is the waste of unnecessary motion, moving the machine or staff more than necessary. Where is the line item for this in our cost accounting?
Another cost saving was supposedly achieved by outsourcing testing to an overseas company some 12 time zones way. I’m assuming part of the pitch for outsourcing testing was not only were the overseas testers a quarter the cost of the domestic staff, but development work could take place around the clock. While it may be enticing to believe in a 24 hour development cycle story, it is certainly hard to achieve. Outsourcing of testing introduced the classic lean waste of transport where work is regularly shipped from one organizational silo to another. This created significant coordination delays between developers and testers. Clarifications, explanations, and rework cycles were significantly slowed by the time zone delay and this was exacerbated by the lack of a shared clear understanding of the system between development and test. These coordination delays along with other bottlenecks in the testing pipeline meant that test often ran two, and even sometimes three sprints behind the development teams, further increasing the work in progress. Of course there was no line item for capturing cost incurred for “transportation”
In an attempt to reduce these coordination delays, the organization unbeknownst to themselves, added in the waste of over-processing – doing more work than necessary to create value – to their invisible waste ledger. The business analyst wrote highly precise specifications that approached pseudo-code in their formality and it was not unusual to see 6 page user stories. The assumption was of course writing precise user stories would compensate for the lack of a shared clear understanding between development and test and therefore reduce coordination delays. This approach completely defeats the intention of a user story. User stories are not requirements that are thrown over the fence to an unsuspecting team. Rather, user stories facilitate development speed because they encourage a conversation between the team and the stake holders. These conversations quickly align the team and stake holders and reduce the coordination delays. Ironically writing detailed user stories didn’t have the intended effect because they just tended to confuse the test team even more. Where is the line item for the cost of over-processing?
So how could we start making these costs – the wastes of lean – visible? There are several tools we can use. First the use of a Kanban board can make “inventory” or work in progress immediately visible. Second, a cumulative flow diagram can show the relationship between work-in-progress and cycle time and help us answer questions like, how long does it take for us to get something done and what this the relationship between WIP and cycle time (getting something done).
Finally, show the true cost in dollar terms of all that “unfinished product” – that is value we cannot realize because the work is not done. Al Shalloway suggests “any waste in the system will show up as a delay” and this gives us a powerful tool to put a dollar figure to cost of this waste. All the wastes I described above, motion, inventory, transportation and over-processing will manifest themselves as delays in delivering value. Let’s see if we can express in dollar terms the cost of these wastes by calculating the delay these wastes imposed on the initiative.
The goal of the initiative was to reduce call center costs and increase customer satisfaction by creating a self service portal for customers. We had a team of 11 people, and our “aggressive” plan forecast it would take at least 12 months to deliver the system. From my point of view, this just did not seem like a 132 staff month effort. It was mostly get some data from the data base, update it, put it back – bread and butter IT work. I asked the team, what would happen if we appropriated the conference room we were in, set up our workstations around the table and focused exclusively on this one system? The consensus was about 2 months, 3 months at the outside. So, call it 33 staff months.
It was estimated the self service portal would save about $45,000 per month for the organization. That means every month the self service portal was not in service, the organization gave up $45,000 of benefit. The invisible waste resulting from the near exclusive focus on development costs meant the company was delaying the release of the portal by 9 months and giving up $405,000 of benefit. Where is the line item for that? Of course the problem is this line item does not show up on the IT ledger, it is not IT giving up $405,000. Rather, it is some other siloed department in the organization. It’s not IT’s problem.
Not only were these costs another department’s problem, these delays were silently built into the project plan. Developers are asked for timeline estimates and gave those estimates based on their existing development practices, and then project management developed schedules, resource plans and business cases for these initiatives based on those estimates and resource allocations. Now multiply that waste across multiple initiatives and you have a loss of value situation that should have impolite words coming out of the c-suite.
As a solution we proposed a simple backlog of initiatives, with true teams – not work groups with an Scrum Master and Product Owner – “pulling initiatives” when they were ready to swarm on it. In essence we proposed a simple form of lean portfolio management. When we proposed this alternative to our patron it was declined because it would mean risking the mandate to reduce per team cost. Our patron’s mandate was to get the cost of a “scrum team” down to 50K per month and he was now looking at completely outsourcing coding and testing. That was the line item on his IT ledger and not the loss of value the wastes created. His mandate was not maximizing throughput and delivered value.
Further, there were the political realities of the organization. Few project sponsors would accept their project being delayed so development teams could focus exclusively on getting another sponsor’s project done before starting theirs. Despite the fact they would get their project sooner, the thought of a “rival” manager getting their system earlier was so distasteful that they preferred to incur massive waste for the organization as a whole. Everyone acknowledged the cost of this waste, but there was no benefit to them for reducing that waste and in fact, there was a greater likelihood they would be sanctioned for not meeting their cost reduction targets if they tried.
While in my opinion this was not a successful agile organization, they were of the opinion their new operating approach was better than their previous classical waterfall approach. Their delivery was more predictable than what they had experienced in past. I suppose we can call that a success despite knowing how amazingly better the organization could be. The dark horse on the horizon is of course a competitor who does see how amazingly better they could be. A competitor who realizes it not all about costs, it is about all costs.
Note: I wrote this blog last year just after the Agile 2019 conference in August 2019. While interest in virtual consulting and training was finally moving from the fringes and into the mainstream, I thought it would be still at least 3 to 5 years before widespread adoption of virtual training and consulting. What a difference 9 months make. Now virtual could be the main service delivery mechanism as virtual work becomes the new normal. Tobias Lutke, CEO of the Canadian tech superstar Shopify said it simply, “…this is the end of office centricity”
The Agile Alliance “Agile” conference is arguably the premier agile conference. Each year some 2500 people gather together to learn, to see and be seen, to share ideas, and even share a few ideas over a few drinks. The “Agile” conferences are great places to catch the pulse of the industry. Of course, business agility is the hot topic these days, but one undercurrent that really caught my attention this year at Agile 2019 in Washington DC, was the rising interest in online or virtual consulting and training. For the first time that I was aware of, there was a real buzz about delivering agile training and consulting services online. Not as a cheap substitute for development teams in far off lands, or those who do not apparently warrant “the luxury of in-person delivery” but rather as a legitimate and perhaps superior way of delivering services.
I was at agile to deliver an experience report which told the story of how we leveraged online assets to give everyone on a large globally distributed SAFe solution train an equal voice in the SAFe problem solving workshop. If you are interested in our experience report, you can find it at the agile alliance website “The Sun Never Sets on the Problem Solving Workshop”. https://www.agilealliance.org/resources/experience-reports/. Our experience report was followed immediately by Joe Fecarotta of Accenture/SolutionsIQ who explained how he is successfully training and coaching Accenture staff online. Later Shane Hastie of IC-Agile (icagile.com) lead a session on Training from the Back of the Room (TFTBR) online. For those not familiar with TFTBR, these are practices which move the instructor away from the classic “talking head, death by power point” model of course delivery to a more participative learning model. Take a look at Sharon Bowman’s website https://bowperson.com/training-from-the-back-of-the-room/; if this interests you, and it should if you are doing any kind of training. Shane’s session was about developing practices for developing online participative models that are consistent with the TFTBR principles. Looking around the well-attended session I noticed many agile coaches whom I consider thought leaders in our industry. Simply, virtual training is moving from the fringes to the mainstream.
I am convinced the time for virtual training and consulting has come for many reasons. First simply the collaboration technology has gotten way better. We have always believed that face to face is conversations are best, and in absolute terms this is true. However, online is beginning to offer a fair approximation of a face to face conversation. When the manifesto was written in 2001, the Internet and online collaboration technology were in their infancy. In 2001 I had dial up for access. Now I have 300Mbits/sec coming into my house. It’s not just speed, it’s also the resolution of the HTML5 standards wars which means there are now amazing online collaborative tools. Second product development and especially software development is a global industry, and regular in person face to face meetings are often impractical. Third the millennials – sorry guys, I know you hate us old boomers referring to you this way – are moving into leadership roles and with them there is a major organizational change in attitude towards online collaboration. These are people who grew up in an online environment and are totally comfortable working there. I often like to joke if educated and experienced engineers could do what my daughter does in Minecraft I would be out of a job – seriously, if you have kids watch them playing Minecraft. Fourth is cost, easily 20 to 25% of the cost of a consulting engagement is expenses. Either my customer would like to save that 20-25% or I would like to have that 20 to 25% go into my pocket rather than Air Canada’s and Marriott’s. But it’s not just monetary cost. It is also the physical and social costs on the people who have to regularly travel to deliver those services. There are fewer and fewer people who are willing to travel.
Given all this we have to ask, is it really necessary to have a coach or trainer onsite day after day, week after week? Recently a family issue prevented me from traveling to a coaching engagement, so I executed the engagement for the week using a variety of collaboration tools like Slack. In our opinions, I was just as effective working from home as if I had been onsite. Of course, I had already established a strong personal relationship with my client because I had previously been onsite. However, this was a clear indicator that I did not need to be physically onsite every week. Furthermore, I am currently working a completely online engagement with a client where we are successfully launching a number of Scrum teams. We have delivered the all the training and coaching online. Of course, as per Shane Hastie’s Agile 2019 session, we had to re-design our course delivery style to leverage the online capabilities, but we were still able to deliver an interactive and engaging experience. Trainers and coaches do not need to be onsite week after week after week to successfully deliver services.
Finally, and most importantly there is an environmental reason for moving more of our work online and that is the carbon footprint for air travel. While air travel only contributes between 2 to 3 % of green house gasses, it is the small cadre of frequent flyers like myself who make up the bulk of airline passenger. For me it’s a bit of a personal paradox because I try to live a low carbon lifestyle. I don’t own a car, I mostly use transit or ride a bicycle. Then every week I fly across the North American continent expelling the equivalent of a year’s worth of driving in green house gasses. It is not hard to notice there is already a backlash starting against excessive air travel. Some academics in Scandinavian countries now have to justify their carbon budget if they choose to travel to a conference. It would not surprise me that if in 5 years frequent flyers like myself will be frowned upon much in the same way as smokers were.
I want to leave something behind for my children, and if I can reduce my carbon footprint, reduce costs to my client, be in my own bed at night, and deliver as good or better experience then I am all for it. It’s time to follow our children’s leadership and join them online.
Apollo 11 astronaut Buzz Aldrin stepping off the LEM onto the lunar surface
July 21st marked the fiftieth anniversary of Neil Armstrong setting foot on the moon culminating one of the greatest human engineering achievements in history. I remember watching that first step on a friend’s black and white 25 inch console television set. My first thought after recalling that moment at the 50th anniversary was “am I really that old?” But after that shock wore off my thoughts turned to value of the Apollo program. Was it worth it? After all the cost of that first step was the equivalent of hundreds of billions of dollars in today’s money.
Most people argue the benefits of the Apollo program in terms of the technological spin-offs. It is often suggested the modern semi-conductor industry would not exist today at least in its present form if not for the Apollo program. That may be, but I think the greatest legacy of the Apollo program was how it inspired whole generations to become excited about engineering as a career. How millions of young men and women were inspired, became engineers and worked to make people’s lives better.
Many people remember the late 60s as a time of social upheaval but many of today’s engineers remember it as the time that inspired them to become engineers. Not only the moon landing, but also TV programs and movies like Star Trek and of course Stanley Kubrick’s classic space ballet – 2001. Both painted a picture of a future we not only wanted to live in, but to also create. I wanted to design and fly amazing space craft. I wanted to be one of the pilots of the Orion space shuttle or one of the engineers who designed and built the Clavius lunar base. Or the creator of HAL – the amazing and psychotic Artificial Intelligence controlling the Discovery. I was going to create and live in the world of 2001.
The world I thought I would help engineer
Of course it was not to be. The reality was that in 2001 I wasn’t designing cool space craft or lunar bases. Rather I was sitting in a rather ordinary conference room on Earth in yet another project status meeting during the development of a new cellular telephone system. Somehow my career placed me in a cube farm designing telephone switches, and railway signalling systems. I can’t recall a cube farm in Star Trek, or 2001. Nor do I recall project status meetings. Worse, later in my career I became a candidate passenger for the Golgafrincham “B” ark, and became a management consultant. It’s really, really hard to be stuck on Earth when your imagination is in the stars. Or is it?
For those not familiar with Douglas Adam’s “Hitchhiker’s Guide to the Galaxy, the “B” Ark was an attempt by the Golgafrinchams to remove all the “useless” people from their society such as account executives, public relations experts, and of course management consultants by telling them the planet was doomed. The Golgafrinchams gave them the “privilege” of being the first to leave Golgafrincham aboard a giant space ship called “B” Ark.
Where Project Managers and Management Consultants may end up
Even though I didn’t get to design moon bases and space craft, much of the work I did created value for a lot of people. The work I did with thousands of others designing digital exchanges and cellular telephone systems dramatically improved the communications services available to millions of people around the world. Railway signalling enabled cities to increase the capacity of their transit systems. Maybe not as cool as a lunar base, but we made a difference in peoples’ lives. More than that I got to work with many amazing people and I even had fun doing it – maybe with the exception of the project status meetings.
While the technological spin-offs of the Apollo program are always cited as its lasting economic legacy, I think it was how the program inspired so many of us to become engineers. We didn’t get to build space stations or lunar based or psychotic AIs, but we created wealth and comfort for many. Every day people make phone calls, take a train to work, watch television, drive their car, turn on an electric light and get a drink of water without any thought does of the extraordinary efforts made to create this world. For me this is what it means to be an engineer, we make people’s lives better, and no one has to give a second thought about it.
So, what will be the next great engineering achievement that will inspire the upcoming generations of younger engineers. While I would like to think of an Apollo repeat, that is a Mars landing, I don’t see that has having the same impact as the original moon landing. We have done our job well and space exploration is just yet another interesting domain, one among many. What, I see in the so called “millennials” and generation “z” is an overpowering desire to make the world a better place. David Pink argues that people are purpose driven and the current generations of children and young engineers are inspired by making the world a better place more than ever. Coping with climate change, developing new energy sources and distribution systems, ensuring there is enough food, clean water, and proper shelter for a future with 8 billion people. Building the systems and creating the wealth that allow all those 8 billion people to live in comfort and dignity while realizing their aspirations will be our greatest engineering achievement.
I just got back from a week inMontreal where I had the opportunity to actively participate in XP2019, the Agile Alliance’s 20th International Conference on Agile Software Development (http://www.xp2019.org), co-chairing the experience report track with Rebecca Wirfs-Brock and filling in as the Leadership symposium chair. XP2019 describes itself as a forum where Agile researchers, practitioners, thought leaders, coaches, and trainers get together to present and discuss their most recent innovations, research results, experiences, concerns, and challenges, and debate the latest trends. It’s a small and intimate conference where both practitioners and researchers are able to look beyond “the edge”. In keeping with this billing, and with it being nearly 20 years since the fabled Snowbird meeting, the theme for this conference was “Agile – The Next 20 years”.
With the growing awareness of “business agility”, one question raised was “is business agility the future of the agile movement?” There is no shortage of pundits now pitching “business agility” and, in this age of disruption, only the agile will survive – so clearly it’s time for agility to move beyond the data center to across the enterprise. I was able to “officially” contribute my point of view as a panelist on the Business Agility panel. From my perspective, the thought that somehow the agile software community is leading business to a bright “business agility” future is somewhat strange because, in my humble opinion, agility was a well known business competition strategy long before the famed skiing vacation at Snowbird.
We in the agile software development community can be a little myopic, only seeing the world through the lens of the Agile Manifesto. Agility as a business strategy is an old concept – perhaps a century old, perhaps even older. One only has to do a little research to find many writers and business thought leaders, such as Stalk and Thomas – Competing Against Time , Verne Harnish’s Rockefeller Habits, Chet Richard’s Certain to Win, and of course Jim Collin’s Good to Great all describing agility as a business success strategy in the mid 80s and even earlier. My favourite definition of agility comes from Colonel John Boyd who, in the 1950s, developed the so called Observe-Orient-Decide-Act (OODA) model [https://en.wikipedia.org/wiki/OODA_loop]. To paraphrase Colonel Boyd, agility is “learning faster than your competitors and/or the rate of change”. Lovely, simple, succinct. It does not take a manifesto of software development, or much imagination, to know what happens if you are learning slower than your competitors or slower than the rate of change. This definition moves agility from an inward software-centric focus of “…better ways of developing software…” to a focus on business outcomes – business success. The corporate landscape is littered with marquee companies who learned more slowly than the rate of change or their competitors. I am willing to wager some of those failed companies even had agile software teams – anyone remember Nokia? In the age of digital disruption it would seem that business agility is certainly a concept whose time has come.
However, I am ambivalent about the term “business agility”. For better or worse, we in the software community appropriated the term “agile” without fully acknowledging agile history. There is much we can learn from others and from history. Optimistically, I hope the term “business agility” will be the solvent that finally dissolves the artificial barrier between “the business” and “IT” because, the last time I looked, IT is part of the business and not some bag on the side. This artificial barrier not only delays the ability for the business to bring new products and services to market – think a bank wanting to offer a new kind of bank account or loan service – but also delays validating the business hypothesis of that product or service. We only learn if the product or service is valuable when it finally goes into service. This artificial barrier slows the build-measure-learn cycle. I am excited by the possibility of large enterprises becoming more nimble and able to respond faster to their customers needs and changing market dynamics. Business agility could create powerful teams that can exploit all of an organisation’s capabilities to quickly learn and validate a new business hypothesis. IT is no longer a cost center, but rather a strategic part of the business.
My greatest concern is that “business agility” will become a sales mantra to bring a myopic manifesto to the business. “Business agility” will be used to sell certification courses beyond the software teams, such as Scrum for HR, Product Owner training for marketing, “agile” accounting for CAs and CPAs. People will be able to add additional two and three letter designations to their e-mail signatures. Retiring project managers will have a second career as certified agile business coaches. Organizations will prefix their operations with “agile” and someone will claim to have a magic recipe that turns a company into a fast moving agile business. We’ve seen this movie before and it does not end well.
Two underlying themes emerged at XP2019… Has agile been commodified and gone off the rails? Is there a future for agile as we currently know it? These are juicy topics for future posts. For now, we need to focus on taking a pragmatic approach and recognizing that “agile” has a rich history and encompasses a wide range of ideas, and is continuing to evolve. There is no “one size fits all” solution. We need to help companies identify what they need to learn and understand in order to grow into more profitable and sustainable enterprises. Our pursuit of “business agility” is just beginning and there is a lot for us learn.
The product owner role is a manifestation of the agile manifesto’s values, particularly – “Customer interaction over contract negotiations” and “Individuals and Interactions over processes and tools”. The product owner provides delay busting leadership and clarity for the team. The conversations with the product owner facilitated by user stories align the product owner and the team on a shared vision. Rather than slow the development cycle and suppress learning through comprehensive documentation and change control boards, the product owner directly interacts with the team to learn what is really needed. From that learning the team and product owner refine, and reprioritize the backlog to maximize value. The product owner is a value manager, exploiting fast learning cycles to re-prioritize the and revamp the backlog. Without an engaged product owner there is only at best incremental development. There is no agility.
One of the most common bad smells in many agile environments is the disengaged or unavailable product owner. However, there is a more insidious variant of this problem, one that can creates the appearance of an engaged product owner but in reality the product owner is dis-interested in and disengaged from the majority of the work team is responsible for.
In this variant of the dis-engaged product owner, the supposed PO is responsible for a specific project – or even a set of projects – that the team is works on. The problem is the team has other work in their backlog besides the PO’s pet projects. This may be more than the usual on-going maintenance, support, defect fixes, and the inevitable shoulder taps a development team must cope with, but also possibly work on other projects that are not in their PO’s portfolio. The team is effectively left to fend for themselves on prioritizing and managing this “dark” or “off balance sheet” work.
i uses the term dark work as a metaphor for matter that is invisible but has significant affect. The problem with this dark work is that it is invisible, and therefore not managed. But like dark matter its effect on the team is significant, even destructive. Or as my other metaphor “off balance sheet” work implies, dangerous liabilities that is not being accounted for. It is critical that all team work is visible because if it is not visible then value cannot be managed. Very simple, if you are the product owner, then you are responsible for all work in the team’s backlog.
Bad smells that are symptoms of this problem include team members talking about their “day jobs” or a team with multiple backlogs. One backlog that is well managed by the PO and the other that is managed ad hoc by individuals of the team. This blindness lets us live for a while in fool’s paradise. For the product owner they are not forced to make hard choices between their pet project and all the other work the team needs to do to keep the lights on. And then we wonder why so many agile teams have lousy SAY/DO metrics.
Personally I think the term “product owner” is misleading because it implies responsibility for a specific product. In the modern agile context, a product may only be a subset of the teams overall work. The term product owner is a carryover from the early days of agile methodologies when the exemplar teams in the early textbooks were focused building a single product and the product owner represented the beginning and end of the value stream. Today most agile teams work in complex multi-system environments, and all of that work from multiple sources comes to the team and all of that work should be in one team backlog. The agile development team is one step in the value stream. So our model of the agile development team also needs to be updated.
I think we need to start thinking of the product owner as a “backlog owner” who is responsible for everything the team works on. Those who own a specific initiative or product are not “product” owners unless they can also take on the backlog owner role. The Scaled Agile Framework actually explicitly calls this out these different roles distinguishing between an “epic owner” role and a product owner role. While the same person may fulfill both roles, it is clearly states the interests of the EO may diverge from the PO role.
So be honest with yourself, are you really the product owner? Are you really interested and capable of working with the team to prioritize all the work in the backlog. You don’t have deep technical knowledge of everything in the backlog. The team can advise you and make recommendations. While the buck does stop with you, product ownership is still a negotiation, but it’s a negotiation about all the work, not just the bit you are interested in.
Most models of agile software development portray the product backlog outside of the team. This is because, with the original small team focus of agile methodologies, the world began and ended with some kind of customer representative. For example, in Scrum, there is a Product Owner who is responsible for ensuring the team has a “ready” supply of backlog items and accepts the increment of working software delivered. What happens beyond the Product Owner is apparently not the team’s concern, and the team does not care how the Product Owner got the concept, how the analysis was performed, or how the design was created, just as long as they are not starved for stories.
“Coding centric” view of the backlog
From my point of view, this traditional view encourages a coding-centric view of agility and is misleading because it implies the purpose of the entire organizational ecosystem is to supply a software team with near “ready” backlog items which the team codes and tests into “working software”.
Coding is but one step in the creation of a valuable product, and to view agile teams strictly as just “design-build-test” teams is to completely devalue the work done by everyone else in the value stream. Nearly 40 years ago, in an article entitled “No Silver Bullet: Essence and Accidents of Software Engineering” (IEEE Computer, Vol. 20, No. 4. April 1987. pp. 10-19. Accessed 7 July 2019. https://www.researchgate.net/publication/220477127_No_Silver_Bullet_Essence_and_Accidents_of_Software_Engineering), Frederick Brooks wrote:
“The hardest single part of building a software system is deciding precisely what to build.”
While there is clearly no valuable software product without “working software”, there is certainly no valuable product without the analysis and design to determine precisely what to build. It’s not enough to build the thing right, to create value we also have to build the right thing. It is wrong to offload and sweep under the carpet the hardest part of systems development to some undefined upstream process just to create the illusion of coding agility. Analysis and design still matter.
What if, rather than representing the backlog as a means for just “feeding” a development team, we call out ALL the work required to create a product or service and show EVERYTHING the team is fully responsible for. They are responsible for all the work which must be done to deliver each increment of working software – not just coding and testing, but also analysis, design, and whatever other upstream and downstream activities are necessary to go from concept to cash. We have seen far too many organizations where analysis and design work is “invisible” or managed using a traditional stage gate model.
A More Comprehensive View of the Backlog
Placing the backlog at the center of the team is an attempt to create a new visual where the whole team is responsible for all the steps required to create product, from ideation to delivery. The whole team not only builds the system, but is also involved in “…deciding precisely what to build”. The whole team performs the analysis, design, implementation, and deployment steps.
This means that everything we pull into planning will not necessarily be written as a traditional user story that yields some idealized slice of feature functionality. There are going to be backlog items representing analysis, design, packaging, and other work. For example, during a Scrum-style sprint planning meeting, a Business Analyst may take on the work to model some of the backlog items, perhaps to create a use case brief for a feature.
Don’t get me wrong, I am not advocating for traditional long drawn out analysis. Agility is about fast learning cycles, and our analysis and design needs to be part of the fast learning cycle. While the output may not be production ready “working software” – the output still needs to add verifiable knowledge that creates valuable learning. Pulling a line from the Scrum guide, any work we pull into a sprint from the backlog should still “… include test descriptions that will prove its completeness when done”. Just showing a “textbook-perfect” use case diagram at a sprint review is not useful. Rather, if we pull a backlog item to “analyze and design,” there still has to be value generated in the form of validated learning. There has to be some demonstration, some proof that the model works – perhaps a code fragment implementing a slice of the model, an executable simulation, or even just a walk through. While we are arguing against a coding-centric view of agile teams, the intent behind the Agile Manifesto value statement “working software over comprehensive documentation”, that is getting something valuable done still applies.
Some may legitimately raise a red flag here suggesting that I am encouraging the waterfalling of sprints – a sprint to analyze, a sprint to code, a sprint to test. This can indeed happen, but I would prefer this problem be explicit and an issue the team can work to resolve in a retrospective, rather than sweeping it under the carpet and having the team believe they are truly agile and righteous. My argument is for making ALL the work visible. Placing the backlog at the center brings all those other people, who are traditionally thought of as being on the outside, and makes them visible and part of the team. It encourages us to apply agile thinking to analysis and design and whatever other processes are required to transform an idea into a valuable product or service.
Yet Another Pedantic Agilists calling out the Agile Heretics
Somehow an agile myth has arisen that user stories are the one true way for an agile team to capture needs. I have the seen crazy inappropriate application of user stories create resentment in agile teams. For example:
“As a transmission control module, I need to raise the keep-alive signal to the engine control module so that the engine control module knows that I am still here”. Really?
I am tired of pedantic team members and agile coaches conflating an idealized user story format with a “good” backlog item. What, I am calling the tyranny of the User Story is how many choose to ignore context and mindlessly strive to create some idealized user story as a “good” backlog item, regardless of how inappropriate this may be.
Part of why Agile works is its focus on getting something done. This is clearly expressed in the agile manifesto declaration “working software over comprehensive documentation”. User stories are certainly one way to quickly create valuable working software. User stories capture a small slice of something that is valuable to a user of the system which can be quickly delivered by an agile team. So, what’s not to like about user stories? How can these beautifully intentioned and simple artifacts have evolved to impose a tyrannical rule on a team or even an entire program?
First a little background: User stories we originally an XP artifact, and were popularized with the publication of Mike Cohn’s “User Stories Applied” in 2004. Back in 2004, the scope of agile methodologies – at least for text book writers – was a team of 7 plus or minus two, who worked directly with a stake holder (e.g. the customer representative, or product owner). The systems they tended to build were customer facing and had direct users. The world began and ended with that stake holder who collaborated with the team to create the user stories.
Over the last fifteen years we have stretched agile thinking from those small text book customer facing teams to large programs with hundreds (even thousands) across a multitude of challenging domains (embedded systems, big data, etc). Our direct stake holder (e.g. product owner) is but one step in a long chain of activities that creates value for the organization. Do we really still believe the “As a <persona> I want <something> so that <why>” should be the preferred approach for expressing a valuable need?
As with much in agile, the problems are not with the use of specific artifacts or practices, rather it is with their mis-use. Mis-use arises when we ignore context and assume that if we have a hammer, then everything is a nail. A major user story misuse is the assumption that user stories are the one true agile way to capture needs. Let’s be clear, while user stories are a great way to capture user needs, they are only one type of backlog item. However, many of us intimately link user story and agile because when we were learning Scrum we remember how our instructor dutifully took us through user story writing. So, of course we automatically associated “user stories” with “agile requirements”. This belief is dutifully re-enforced by pedantic coaches and team members who derisively call out team members who do not follow the one true form declaring them as “not agile” heretics.
However, search the Scrum Guide and you not find a single reference to user stories because user stories are not a Scrum artifact. All Scrum declares is:
“The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases. Product Backlog items have the attributes of a description, order, estimate, and value. Product Backlog items often include test descriptions that will prove its completeness when Done” – Scrum Guide
User stories certainly satisfy this definition, and while they are a good way to satisfy this definition, they are not the only way. Unfortunately, some agile methodologies have bolstered the user story tyranny by defining their backlog items as “stories”. This unfortunate naming choice serves to reinforce the belief that only user stories can be used to capture needs. While user stories are certainly good backlog items, good backlog items are not necessarily user stories.
Another mis-use of user stories is conflating the idealized user story format with the purpose of a user story. A root cause of many agile team issues is poorly understood requirements and a typical Pavlovian response to this issue is declaring the team must write better user stories. The thinking is if we focus on the user story format then we will have a better understanding of the requirements. So, begins the intensive user story coaching for the team. Coaches and trainers love this because it creates the illusion of making a useful intervention. The team can now write text book perfect user stories. But the original problems have not disappeared because form is not a proxy for function.
The function of the user story is to create alignment and understanding between those who want something and those who will deliver it. I do not care how well written a user story is, if there is no story in the user story, that is no conversation between the product owner and the team, then the story is no better than the traditional prescriptive requirements simply thrown over the fence to the team. The user story is a wonderful tool for creating alignment and understanding on what needs to get done between a team and the product owner. Pretty forms do not replace the function of creating understanding.
A final mis-use of user stories is how user stories can de-legitimize any work other than coding that directly creates “working software” by the team. For any sophisticated system, the activities associated with ideation and developing user stories are outsourced to some “magical” process beyond the product owner so the team can have the luxury of pretending they are truly agile, hopefully delivering working software every sprint. It is completely dis-empowering to turn a development team into a mere group of agile coders.
This blog is no an indictment of user stories, and if that is the message you are taking away from this, then I apologize for not properly expressing my message. This blog post is about how applying user stories out of context, that is the mis-use of user stories creates the illusion of agility while the team can fail to deliver. Agile teams work because they focus on getting something done, and the function of a user story is to captures some small sliver of value the team can get done within a short timebox. If a user story can do that for you, then a user story is the right tool for the job. But User stories are just one “form” for performing this function – a good one, but just one form to achieve our desired function. Do not let the user story tyranny stop you from doing what makes sense in your context.
View from the Balcony of the San Francisco War Memorial Opera House
Mea Culpa…..I guess I deserved it. I ignored my website for a year and it “disappeared”. One of the advantages of being in “lockdown” is I have a lot of time to start working on side projects again. This website is my vehicle for sharing ideas and resources.
My first order of business is to quickly repost earlier blogs and start blogging on something that approximates a regular basis. My last blog post was from Agile 2019 where I observed a strong interest in remote training and consulting developing. Seems almost prescient with the pandemic. After I repost my earlier blogs I will start with a blog for what I think training and consulting may be like in this brave new world, or what Shopify CEO Tobias Lutke called ” the end of office centricity”.