Skip to main content

Author: Anne Sams

Building 747s: A study of Traceability

Early in my career I was part of a project team that handled a variety of one-off projects.

The nature of the work meant that we were usually engaged mid-project and were expected to handle the Business Analysis and Project Management roles until project close.  We engaged in weekly team calls to discuss organizational goals and upcoming projects. 

“We’re building 747s in flight,” my manager would say proudly each time a concern was raised about how a project was to be handled.  

These conversations happened at a time before I identified as a Business Analyst and long before I had ever read the BABOK.  Even so, I distinctly remember wondering why these projects had to be done in flight.  Didn’t it make more sense to land the plane, figure out what we needed, start building, and then take off?

How did we get here? 

How did we get 30,000 feet in the air and not know where we were going?

I wish I could say those were the only times in my career where I was dropped into a project mid-flight with no parachute and the expectation that I could help build the plane before it landed or crashed, but that’s not true.  Whether it was through a new job, being brought in as an opportunity to organize what already exists, or simply realizing that the project in flight needs a BA, I have finished significantly more projects than I have started. 

When I am brought in mid-flight to a project I want to know “How did we get here?” When asked that way, I usually end up with blank stares or finger pointing as answers.  Instead, I’ve started asking “Do we have traceability for these requirements?”  This still gets me blank stares, but at least the finger pointing decreases. 

Traceability is the first task of Requirements Lifecycle Management, according to the BABOK.  The implication here is that not only is Traceability important, but it is the base on which all other tasks of the Requirements Life Cycle are managed.  So why does no one ever know if we have any?

Perhaps it comes from becoming a BA by circumstance instead of design.  Perhaps it’s because it has never been done that way before.  Perhaps it’s because the project team was so close that everyone was aware of all the requirements throughout the entirety of the project. 


Advertisement

Most likely it’s because people don’t know what traceability is and even if they do, it seems daunting.

Most things written about traceability are scholarly and technical.  They explain about numbering requirements and creating a matrix and documentation…It doesn’t need to be that complicated.

Instead, think of traceability as a list that needs to be checked at every step of the project, just like pilots have a checklist that they perform before getting in the plane each and every time.  They examine the plane from all angles, make sure all the equipment is working, and familiarize themselves with the plane before they ever leave the ground.  Even while in the air, the pilot is still performing checks.

Because most project I do are mid-air, I trace all the requirements backwards in order to understand where we are.  Sometimes the requirements may be as simple as “we need two wings”; or they may be significantly more complicated as we discuss thrust, lift, air speed, air pressure, and molecular structure of the metal.  Any project should have enough information that a BA thrown into it can use the checklist to review requirements during prototyping, solution design, User Acceptance Testing, and every other step of the project. 

Why is this important?

Imagine being brought into a project in flight, perhaps during UAT, and being presented with the fuselage of an airplane. The project was to build a 747.  Common sense says that airplanes have wings.  Looking through the artifacts, the original requirements say that the airplane should have wings.  The users were expecting wings. So why did the airplane get built without wings? How did we get here?  This is where the blank looks and finger pointing start.

But the truth is it doesn’t matter how we got here.  To move forward, the project needs to take some steps backward or the user is going to be presented with a half solution that requires workaround processes.  Either way, the end user isn’t happy and project deadlines are stretched because, along the way, someone forgot the wings and no one checked. 

In one instance, I was brought on to a project for which I was not the original BA, and was asked to sign off on test cases.  After evaluation, I determined there wasn’t enough information for me to sign off, despite growing pressure to complete this stage of the project.  The vendor with whom I was working could not trace the test cases to any of the requirements. Not only did I not write the original requirements, I couldn’t even find the original requirements.  Yet I was being asked if it was ok to move on to the next phase.  To have confidence in the next stage, I had to reinterview stakeholders, complete and organize information to provide a full picture, and review the test cases. The turbulence was manageable, but could’ve led to a crash landing. 

I did fly an actual plane once.  My instructor walked me through each step as I did it.  He told me how I was supposed to hold my hands, which gauges I needed to look at, and how to tilt the nose of the plane.  When he felt confident that I understood everything I was supposed to do, he let me fly on my own for a while before he instructed me in the last step of the process, landing.  Only when we were on the ground did he tell me that landing is the most dangerous part of flying.

With proper traceability, business analysis can be as easy as flying a plane. 

Taking on Current State Analysis

Business Analysts may feel pressured by the organizations in which they work to deliver requirements quicker.

It may be tempting to skip steps in order to deliver a product quicker, however Current State Analysis should never be skipped.

 Current State Analysis is an integral process with which Business Analysts should become intimately familiar.  The following cases illustrate the importance of a shared understanding of current state among all stakeholders in a project. 

Case #1

Not too long ago, I was pulled into a discussion about a Continuous Improvement item that had been in “In Requirements” status for 3 years without being closed.  “I need someone who can do use cases for this,” the Business Systems Analyst told me. 

She went on to explain that the Business was having difficulty explaining their requirements to the Developers and the Developers were upset that the business kept changing their requirements.  The developers outlined solutions based on the requirements given but the Business never felt satisfied with the solutions.  Needless to say the Steering Committee was unhappy with the entire situation and was pushing to get answers about whether or not this was even a viable ticket.  I brought out a use case template that I had used in the past and quickly discovered that there was not enough information to allow me to understand why the solutions kept failing to meet the user needs. 

I started doing interviews so that I could understand the current workflow that was causing distress to the end user. 

Case #2

Another time, a Continuous Improvement Item was handed off to me.  The structure of the company was arranged in such a way that the development team was aware of continuous improvement items before a BA was involved.  Often the developers had a solution in mind prior to requirements being written, this time included.  Because of unfamiliarity with the exact process that was being modified, I indicated that I needed to understand current state prior to writing requirements.

“Everyone knows current state,” he replied.  “The system isn’t working for this process.  It’s right there.”

I stuck my ground.  “Give me until tomorrow to get current state outlined” I pleaded.  He reluctantly agreed and left me in a room with a whiteboard and a junior developer. 


Advertisement

Case #3

There was an instance where I had spent hours interviewing stakeholders about how the integration was supposed to work.  I understood the business need clearly.  The information is needed to be fed into one system so that it could narrow down choices based on criteria set up on the back end of another system.  I diligently documented the process in each system and discovered that changing one piece of information would cause the whole structure to collapse.  I raised the risk.  The team responsible for the transition told me that these weren’t risks.  What had I missed?

In a world where systems evolve quickly and companies transition from Waterfall to Agile methods of project management, one thing that doesn’t change is the need for a shared understanding of the Business Problem., In the cases I illustrated, it was through Current State Analysis that the true requirements were discovered

In the first case, I created a non-traditional system diagram to show how the user input triggers combined with system functionality led to undesirable results because the developers and the end user had a different understanding of a single word.  The developer used the word to define a Process (verb) while the end user saw it as an Object (noun).

The original requirements documents did not point out this difference or the relationship between them. 

Outlining the current state allowed us the opportunity to redefine the ask and stop playing the blame game.  The development team finally understood why they felt like the user kept changing requirements and the user finally understood why the development team couldn’t give them a solution. 

Oftentimes in Business Analysis the old adage holds true that“ A picture is worth a thousand words.”  A current state diagram does not have to be fancy.  My simple method is to keep a notebook next to my desk where I draw sloppy pictures that help me articulate what I am seeing.  When a Waterfall Project requires it, I translate my scribbles into a Visio diagram that can be added to the ticket or the Requirements Package.  In a more Agile approach, my simple sketch may be enough to move us from point A to point B.

In the second case, the junior developer and I walked through the system and the code together to understand where the change needed to be made and why.  We called a meeting to walk through the current state with all stakeholders in the room. 

As we walked through the system and explained what the system was doing at each step, it turned out that not everyone did understand current state.

Because the developer and I had worked through what the system was doing and why together, we were able to move to a mutually acceptable solution more quickly.

In the third case, I had not walked through current state of the full process.  My logic kept failing because of one missed piece in a system that I did not have access to, instead of relying on other people to tell me what the system did.  After weeks of frustration, I finally had the end user walk me through the entire process from end to end.  My mistake was glaring at me.  By not having a complete understanding of current state, I could not make any solution work without asking for an unnecessary platform change.

Although often dismissed as “time-consuming” or “obvious”, Current State Analysis creates a shared understanding of the process that is essential to the success of Business Analysis work. Whether it’s formalized in a presentation, written on a cocktail napkin, or communicated in Morse Code Current State Analysis is invaluable to the BA process.