Over the years, I have witnessed the same debate pop up repeatedly among developer groups: Should a Business Analyst be a specialist or a generalist?

Let me define that more clearly. There are two ways to view the role of the Business Analyst (BA):

  • The BA should focus solely on identifying business needs, eliciting requirements, and being a good facilitator for transferring knowledge.
  • The BA is more effective as an expert in a certain technology or business field.

What’s the Answer?

Personally, I do not think there is a single, easy answer. What I hope to achieve here is to contrast the two versions of what a good BA does. I’ll cover the pros and cons of having technical knowledge for the BA position and I’ll even evaluate whether know-how in a business field can help someone’s career as a BA.

First, My Background

To begin, I will tell you a little about my career profile. I started out as a software developer, so my roots as a BA have more to do with technical issues than with business. Eventually, I worked my way up and became a Programmer Analyst, merging business functions into the role of developer. I then decided to devote myself fully to the role of Business Analyst.

Looking back on my career as two distinct pathways—one of software developer and the other as business person—I can say that as I first embarked upon the BA role, I really wasn’t sure whether this type of background would help or harm my performance. I guess you could say I was worried that I had a distorted view of the BA role.

How a Background in Tech Helped Me as a BA

Now, in hindsight, I can say that my doubts were unfounded! I was able to acquire business knowledge and project management skills to supplement my technical background during the transition period to Business Analyst.

Far from being a stumbling block, my background as a developer gave me the technical experience that facilitates all my current tasks. These tasks include understanding the client’s needs, which is crucial since that allows the team to generate deliverables which fulfill those needs as closely as possible, especially in terms of scope.

Advantages of a Technical Background for a Business Analyst:

  • A technical background can be useful on small teams, where the BA needs to wear more than one hat.
  • It boosts confidence in transmitting the requirements, especially to the technical guys.
  • It allows the BA to diversify his or her role, adding value in different ways.
  • Deep knowledge in a certain field can help a BA discard impractical solutions in the early stages of the life cycle of a project.

The Flip Side

On the surface, it seems obvious that a “hybrid” Business Analyst with a technical background adds more value than a generalist. However, that’s not always necessarily the case, and here’s why:

Deep technical knowledge can become a double-edged sword. It can lead the Analyst into taking on an inappropriate role on the team. Instead of fulfilling his role of describing “what” the application should do, he’s taking over the developer role and describing “how” the application has to behave.

This is no small matter since it can discourage other team members from stepping up and making design or architectural decisions themselves.
In other words, having skills in a specific field can cause an Analyst to impose his or her own development directives, sending the project off on the wrong course.

“The Business Analyst must always do his best job and let the designers and architects define the “how”.”.

Jose Vazquez, Sr Functional Analyst

This does not imply that the Analyst should stay away from the technology aspect of projects. On the contrary, it is always good to have knowledge about what’s going to be applied in order to develop a certain application. But he should participate without conditioning or influencing the technical decisions made by the team.

To conclude, I believe that these points are important in the search for a healthy balance:

In-depth Knowledge of the Business: this is more important for the BA than for the developers. Applications usually have few technical requirements.
Incorporation of New Knowledge: the Business Analyst should concentrate on his tasks and abilities, but he must also be aware of developments that occur in terms of new technologies.
Great Ability to Facilitate/Transfer Knowledge: these are the attributes that truly distinguish a Business Analyst.
A Healthy Respect for the Boundaries of the Role: as one acquires knowledge, one tends to interfere in more areas. Ideally, do not try to be a designer, a software architect, and a Business Analyst. It’s just about being good at the last.

The BA role must be flexible to suit the needs of each project. Finding the balance between both profiles and being able to contribute from the experience and the background of each BA, will make the final result much more positive and fruitful.