It’s NOT all about costs. It’s about all costs.

Good cost discipline is a core capability of any successful enterprise. Every manager knows the consequences of runaway costs. If not outright risking the viability of the business, broken careers, and loss of trust 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 – capital costs for many organizations. It is therefore not unreasonable for organizations to seek ways to reduce their software development expenses. 

Agile methodologies and practices are often offered as an approach for not only reigning in but also reducing development expenses. I have been at many clients where the primary motivation for adopting agile or going through a “digital transformation” was to reduce IT expenses 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 expense. A 30 to 40% cost reduction means reducing head count 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 expense reduction risks massively increasing costs in terms of delays, inventory, over-processing and movement – the wastes of lean. While development expense is accounted for and visible, these wastes of lean are invisible and unaccounted for. Yet their impact can be more devastating than the development expenses that appear as line items on the corporate ledger.

To illustrate this, let’s take a case study of a past client which demonstrates how a sharp focus on development expenses creates waste. At this client management was judged on their development expense 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 initiative. People were frequently allocated to multiple “teams” to make sure we made efficient utilization of skills. 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 have “efficient utilization of our “resources” we are effectively reducing their effective work week by at least one day, and perhaps 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 in our cost accounting?

This multi-tasking increased the organizations work-in-progress, another source of waste. Individuals were frequently shifting from work group to work group. Most developers were on at least 2 teams, plus often had other operational responsibilities. The result was at any one time there were a large number of incomplete initiatives 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.

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 was taking 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 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 them 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 approaches we can use. First the use of a Kanban board can make “inventory” or work in progress immediately visible. 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).

Second is to show the cost 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 expenses 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, 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 estimates and gave 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 was now looking at completely outsourcing coding and testing. That was the line item on his IT ledger, not the loss of value the wastes created. Their mandate was not maximizing throughput and delivered value.

Further, there were the political realities of the organization. Few initiative sponsors would accept their initiative being delayed so teams could focus exclusively on getting one initiative done before starting another. Despite the fact they would get their initiative 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 the waste, but there was no benefit to them for reducing that waste and in fact, the 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 one still has to call that a success even when you can see 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 just about costs, it is about all costs.

Is Face to Face Still Ideal? Thoughts on Agile 2019

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’s Legacy: A personal reflection 50 years after the first Lunar Landing

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.

Is “Business Agility” the Future of Agile? – Thoughts from XP2019

The Future of Agile Panel at XP2019

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.

Are You Really the Product Owner? No Really?

Are you really the product owner?

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.

Put the Backlog at the Center of the Team!

The Backlog at the Center of the Team

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.

End the User Story Tyranny!

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.

So Welcome Back

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”.

Welcome back.