In 2001 Larry Smith brought in the term Shift Left. The premise is to have a Test team come in early in the Software Delivery Life Cycle so that potential errors can be found sooner which would then be a cheaper fix and create a smoother release.
There are plenty of articles and books out there that state how expensive it is to find a an issue in software development as it is closer to production. Once in production it is even more expensive. Which makes sense as the further down the line of development there are more people involved. Then you bring in senior management if it is a serious production issue impacting clients.
So it makes sense that the earlier you find a problem the cheaper it is, right?
Here is the thing though the company is paying for those individuals to begin with, especially if they are salaried (which most of them will be). Yes it is a distraction, will cause strife and will cause some delays (which the time is more than likely made up in short order), yet there are no extra bodies brought in to resolve the issue. Meetings can be rescheduled, update emails can be sent and allowing the right people to dig into the event without distraction is the best thing that can happen. So the increased costs, especially the large increments towards the end are gong to be spent anyways. Capers Jones has documented this, so something else needs to be looked at and used.
There is another thing and this is very important: This is not a “Test team” issue. Why is it a “Test team” issue? Because it is an error and they should have caught it earlier? Why is quality the sole responsibility of the “Test team”? Quality is up to the entire team not just one subset. Imagine a NHL hockey team winning the Stanley Cup with just the goalie on the ice. As silly as that sounds, putting the full responsibility of quality on one team is just as ridiculous.
The concept of Shift left was derived well before 2001. the term though did call out the need to get that early involvement of a Test team. The problem is why should only the Test team be involved earlier in the process? This is the problem with this term, it is still putting a lot of weight on the shoulders of the Test team to find issues. There a lot more people involved in software development that would benefit from getting involved early. At the same time the a Agile Manifesto was published which focused a lot on communication and teamwork. The more an organization acts as a full fledged team and effectively communicates, the more they can effectively and efficiently work together.
The are other processes that can add value to an organization: Knowledge Sharing and Root Cause Analysis (RCA).
Knowledge sharing is something that can provide a dramatic shift in how organizations can be productive, effective, efficient and create an innovative environment. The best part is the side effect of this and it is improved employee satisfaction.
A good RCA process will help identify where in the process there was a failure and determine if it should be fixed or not. Now earlier I did mention that the costs of an error doesn’t matter. That is still true, in that, on it’s own the cost of an issue alone does not tell the story to make the right decision to avoid for the future. In a good RCA process an organization can take the costs metrics with other metrics to tell the right story. With that information an organization will be going down a continuous improvement path that will provide value.
So let’s ease up on the use of Shift Left and focus on creating a great team environment where everyone is involved early. Quality is owned by everyone.