Achieve Software Delivery Independence with Value Stream Optimization

In Value Stream by Christine White

Since 1941, America has officially celebrated “the Fourth of July” – better known as Independence Day -with loud fireworks, jam-packed concerts, parades, family picnics, barbeques, and sparklers. Celebrating 4th of July is like apple pie in America. 

But did you know that long before 1941, Americans unofficially celebrated the 4th of July? More specifically, on July 2nd, 1776, the Continental Congress voted in favor of declaring independence from England. Only two days later, on July 4th, the delegates across each of the 13 colonies adopted the “Declaration of Independence” – famously drafted by Thomas Jefferson. Fast forward 244 years and we continue to mark this day as the American Day of Independence. 

Other than our mandatory American history course in high school, many of us have probably forgotten about the specifics that led to Thomas Jefferson’s Declaration of Independence. In April of 1775, the initial battles of America’s Revolutionary War erupted throughout New England, but very few colonists openly expressed their desire to completely break away from England. The few who expressed the desire for total independence were thought of as radicals. 

By the middle of 1776, most colonials believed that total independence from England was not only necessary, but achievable. Within one year, popular opinion shifted from “let’s not rock the boat” to “let’s burn the boats and declare our independence”. What a shift! Revolutionary sentiments spread like wildfire across America, fueled by a bestselling pamphlet entitled “Common Sense,” published by Thomas Paine. Colonists not only embraced the commonsense sentiments outlined in Thomas Paine’s bestselling pamphlet but organized the Continental Congress to near-unanimously vote in favor of independence. 

The reality of Independence Day 2020 is that it will not be celebrated the same as in previous years. Large gatherings, close talking, parades, and concerts have been cancelled. If backyard barbeques do happen, they will likely be overshadowed with 6-feet radius social distancing and protective masks. The rapid spread of COVID-19 (coronavirus) across the U.S. in 2020 has forced us to change everything: our way of life, how we work, how we socialize, and how we celebrate our freedom.

What has not changed is the absolute necessity of applying common sense to everyday problems, including software delivery optimization. Not to oversimplify, but most of the colonials in America were once afraid to rock the boat with England or consider the possibility of true freedom. They accepted the reality of their everyday lives without challenging the status quo. In fact, most people tend to ‘follow the crowd’ in various disciplines of life: from deciding whether to spark a revolutionary war, to changing the way teams are organized that build, test, and deliver software. All it takes are a few ‘radicals,’ a popular pamphlet (‘Common Sense’ by Thomas Paine), and a growing frustration with the current state to spark a revolution. America was born from those ingredients.

Although 2020 has been plagued with the spread of COVID, we continue to learn lifelong lessons from American history. Common sense is a critical ingredient to everything. One must practice good hygiene, one must avoid large crowds, and one must bolster their immunity with adequate sleep and good nutrition – all commonsense measures to mitigate your risk of contracting COVID. In software development, we have witnessed waterfall evolve into Agile, and Agile augmented with DevOps. Multitudes of ‘thought leaders’ have stepped into the limelight with their own philosophies, their own frameworks, and their own opinions on the best way to achieve what we all seek – freedom.

Freedom is not only necessary for the human spirit, but it’s what many software professionals have been chasing their entire career. Besides the paycheck, aren’t you chasing a sense of freedom in how you work? Why else would you dive headfirst into Agile? Why would you adopt CI/CD, DevOps Pipelines, Continuous Testing, and every other leading-edge tactic that has been introduced over the last few decades? Aren’t we ultimately after the same thing? 

That is: Freedom from the negative outcomes of bad software delivery practices.

Freedom from silos, freedom from over-testing, freedom from manual re-entry, freedom from critical defects, freedom from ambiguous requirements, freedom from long lead times, freedom from frustrated customers, freedom from system failures, freedom from bad code, freedom from ineffective test scripts, freedom from low morale, freedom from lack of visibility, freedom from lack of traceability, , freedom from slow processing, freedom from bad documentation, freedom from dipping revenues, freedom from idle (wait) time, freedom from e??

Instead of focusing on the negative outcomes of not having freedom, let’s explore a few commonsense tactics to achieving positive outcomes by optimizing your software delivery value stream. And let’s not oversimplify a ‘value stream’ by thinking of it as an assembly line on a factory floor. Yes, we do use terminology like ‘Lead Time,’ ‘Cycle Time,’ and ‘Wait Time’ – but it’s not a factory floor, it’s people spread across geographic regions, collaborating over Slack, writing code, correcting code, and receiving feedback from customers. It’s both art and science – a creative masterpiece. 

Although semblances of both systems thinking and lean principles are applied by software value stream professionals, make no mistake that software development is a creative non-linear process. Creative inputs come from multiple departments, from different people, and different tools. 

Here are 3 commonsense tactics for you to consider when seeking your freedom with value stream management: 

1.Always Know Your Current State 

Too many Product Owners, Project Managers, and IT Leaders voice their frustration with slow software delivery times, bad quality, and frustrated teams without truly understanding their team dynamics. They think they understand their team dynamics by hearing the opinion of “the few” without listening to everyone.

For example, let’s say your Scrum team’s morale is low. Your Scrum Master seems to be a good servant leader – the exact type of person you want leading a Scrum Team. They are consistently available for their team, lead the standups, update all the user stories, and communicate well with your Product Owner. But for some reason, the 4 developers and 2 quality assurance engineers on that Scrum Team don’t seem happy. In fact, their NPS scores from the last company survey are the lowest across the organization. What the hell is going on? 

Naturally, you start to probe a little further. Maybe you place a few extra phone calls into that Scrum Master to pick his or her brain on how things are going. Perhaps you don’t explicitly confront him or her, but you talk about their day-to-day to see if you pick up on patterns in their feedback. One thing that continues to come up in conversation is how design efforts for the portfolio of new mobile applications is the long pole in the tent. 

After the call, you collect your thoughts before pinging the Product Owner of Mobile Applications over Slack to dive deeper. You recall a conversation you had with Susan (the Product Owner) a few months back about how they were adopting a new SaaS-based platform for technical designs. Ah, that’s right! They adopted that fancy new collaboration tool, but it was never bridged with Azure DevOps. The Scrum Team is using Azure DevOps for Plan, Build, Test, and Deploy – but maybe they aren’t receiving the ‘full gamut’ of design documents created for each feature set. 

Instead of Slacking Susan, you decide to call her directly. “Hey Susan, it’s Lance. How are things coming along with those enhancements from last week?” “Great, actually. The business has provided their high-level requirements and I’m documenting everything in Miro,” says Susan.

“Out of curiosity, do the design teams have access to Miro to review these solution scoping documents?” I say. Susan replies with, “Well, I thought they had access – but I’m also creating an Epic and Features in Azure DevOps with the Scrum Masters, but assumed they were downloading the diagrams from Miro.”

Yikes. A huge chasm just appeared between Product Ownership and Development. Although the Epics and Features in Azure DevOps contained text-based descriptions of what needed to be built, a large portion of the design documentation was not readily available. The development team’s cycle times for breaking down features to user stories was painfully slow since this new process mapping solution was adopted – and for good reason! They had no idea what the business really wanted. The inputs they received were ambiguous.

Enter value stream mapping. Take a step back to analyze the hand-offs between teams at the highest level to start. Call your team into a collaborative Zoom session if everyone is offsite. Talk to everyone, ask the questions, and peel back the onion. Continue to ask questions until clarity is created. Take notes and visually depict what you just discussed. This isn’t rocket science, its common sense. Understand every aspect of how your business delivers software today: the good, the bad, and the ugly. Without judgement, document everything that the teams are doing today and explain to them that this is the first step is a long journey to improvement their value streams. 

2. Never Forget Your Desired Future State

We are all trying to get somewhere. Some organizations are sprinting towards an imminent sale, while another company is holding on for dear life. Similar to the importance of understanding how your people, processes, and technology work today – it’s equally important to identify and socialize where you are leading your team into the future.

This could range from new tools coming onto the horizon such as SonarQube for vulnerability scanning, or a better way to handle customer support tickets and live engagement over your website with ZenDesk. It could also include a strategy for transitioning your teams from a waterfall-centric mindset of software delivery to an Agile/DevOps product-oriented mindset of software delivery. Even better, it should include a future-state value stream diagram that overlays your existing value streams. Doing this will help illuminate gaps in your existing value stream, identify inefficiencies, and implement optimizations to improve speed and quality. 

3. And Finally…. Discipline Equals Freedom 

We are all humans. As much as we want to think that Artificial Intelligence (AI) is the answer to everything, the fact of the matter is that human beings are only as effective as their daily habits. Daily habits, whether good or bad, are driven by your level of discipline. 

High functioning teams that deliver outstanding results are disciplined. Without discipline, it doesn’t matter if your team has the best tools, the most funding, or the best marketing. Your entire team must be disciplined to follow process and “show up” every single day of the week. By doing the small things consistently day in and day out, individuals and organizations alike propel themselves faster and further than the competition. 

As it relates to Value Stream Optimization, we must be disciplined to follow through on our existing (‘As-Is’) value stream maps across the organization and mindfully design our future state (‘To-Be’) maps. Facilitating meetings, cutting through office politics, and dealing with difficult personalities is not easy. It’s no secret that change is difficult and often resisted. To effect long-term change, you must be disciplined and consistent in your resolve to see the forest through the trees. And that doesn’t mean jumping at the suggestion of something authored in a trendy new book. Use your discretion, use your common sense like our forefathers, and fight for your own freedom!

At ConnectALL, we understand that value stream management is not easy, and we advocate the necessity of  a value stream leader. Lance Knight, COO, has been quoted with saying: “All the workflows and value streams need to be tracked and mapped. Businesses have tried to throw tools at the problem, but it’s really a human effort. While it is not as easy as it seems, value stream management is not impossible. It just requires a human to go in, look at how work flows, bring it all together, and remove waste.” What that, we encourage you to be that Value Stream Leader who helps your organization achieve freedom. Don’t throw tools at it without fully embracing the necessity of human-led workshops, close collaboration, whiteboarding, and intense discussion. You got this!