Not the most efficient communication technique

IT projects have been around in one form or another since the 1940’s. Looking back in the literature describing the history of IT, the topic of requirements in general and identification of requirements specifically have been top of mind since day one.  There are numerous definitions of ‘requirements,’ however at a high level requirements can be thought of as what the functionality developed by the project should ‘do’. Identifying requirements is difficult because it requires nearly a perfect storm of the correct process, involvement of the correct people for the business problem to be solved (before it is even defined) and an environment that is conducive to making all of the parts work together.  This confluence forms a set of three constraints that are overlaid on flowing time which ensures subtle changes are continually being introduced to all of the variables.  A breakdown of process, people or environment will reduce the effectiveness of the result or render it unusable.  The factors driving the people category are typically the most volatile and a seemingly least controllable of all of the variables within the requirements process.  This essay will focus on the ‘people’ category with subsequent essays focusing on process, environment and suggestions for solutions.

People have a major impact on the vagaries of requirements.  All of the strengths and weaknesses that individuals and groups bring to the table will influence the final requirements product. A few of the more intractable contributors to requirements variance are:

  1. Lack of experience
  2. Human nature
  3. Communication
  4. Organizational politics

This is the continuation of our discussion in which we address communication and organizational politics.

Communications problems can be secondary effects of other initiating events such as a software defect, a missed date or a dropped requirement.  The problem is compounded by the fact that many people just don’t communicate well because:

  • They don’t listen when they think they already to know the answer,
  • There are those that do not know enough about the business therefore can not interpret what they hear,
  • There are interviewees that don’t choose to answer the question asked,
  • Or interviewers that don’t ask the right question, and
  • Or interviewees that are the wrong person to interview.

The list could go on further; there are just lots of things that can go wrong.  Communication is a combination of getting the right people with the right knowledge facilitated correctly all in the right place at the right time.

Organization politics can cause communication problems by creating filters between the speaker and listener.  One example of a problematic type of organization politics is a topic called solution-driven requirements (also called a solution searching for a reason or an answer searching for a question). In teams or groups that organize around specific technical solutions (vendor packages), they tend to look for ways to apply their solution to increase or maintain their organizational base. Unfortunately humans are great at recognizing patterns, and a solution is a pattern.  Pattern recognition is a survival technique however it has drawbacks for gathering requirements.  Gathering requirements with the solution already in mind is like a solution hunting for a problem. Anything that potentially blocks the ability for interviewees to express themselves freely or for interviewers to hear business needs can potentially create a scenario where errors or omissions occur. Remember when all you have is a hammer you’re apt to see everything as a nail rather than to consider that you might need some other tool.

There are a number of tactical solutions for all of these issues, however the first step to solving requirements issues that are people-centric begins with recognizing that a problem exists.  One best practice that I would recommend, taking a page out of the Agile handbook, is to use coaches to support the people working on gathering and managing requirements.  The role of coaches is to be the voice of the people focused inward on the team and the work.  A coach observes how work is done, provides support and instruction in a consistent and focused manner when and where it is needed.  This role is different from that of project manager which is externally focused, interacting with outside parties and clearing external roadblocks.  While people are not the only factor driving the quality of requirements, they are a critical factor.  Pay attention to how people are being deployed, provide support and instruction and make darn sure the right people are in the right place at the right time.