Monday, December 27, 2010

Should a Business Analyst look in to the Code ?

This is a very debatable question whether a Business analyst should look in to the code or not.

I have seen both the sides of this role, being as a  pure functional BA role and the other side with Techno functional

Actually it all depends on your employer or to be specific the clients/ project demand.


Let me tell you what does a Functional BA would do.
  • 1.       Interact with client and other stake holders
  • 2.       Scoping and drafting the business requirements (including change requests)
  • 3.       Converting to high-level functional requirements
  • 4.       Use cases, Screen prototype design, etc etc ,
  • 5.       Test scenarios
  • 6.       Functional testing etc.
In this role there is a certain dependency on Techies. You would chase them to check if the feature exists (could be technical – something like batch jobs), understand certain feature behavior in the software. You would do these when there was a customization or when there was no documentation

Now see the tasks of a Techno Functional BA.
  • 1.       Interact with client and other stake holders
  • 2.       Scoping and drafting the business requirements (including change requests)
  • 3.       Converting to high-level functional requirements
  • 4.       Look if the feature is a new if not check what has to be enhanced for the new request
  • 5.       Debug and find out the behavior of a feature
  • 6.       Identify at higher level what needs to be done, what all code is getting affected and what needs to be created/enhanced (it could be a procedure, batch, triggers, database or a screen)
  • 7.       Techno functional BA would be able to write a Technical Spec giving insight to the Developers on what to be done.
  • 8.       Use cases, Screen prototype design, etc ,
  • 9.       Test scenarios
  • 10.   Functional testing etc.
Most of the times it is the Comments in the code which helps how a certain code file is behaving, where the data is flowing from and what all entities in the code / database is getting affected. When you don’t have comments you would debug and understand the feature and make a note of it.

Now you may ask which of these two roles is better or best.  I would say both are good. One should see both the sides and looking at the code is not going to hurt your career. 

If you look in our industry mostly it’s the Techies who have moved in to the BA role, and they have become Product Managers.  On Other side domain experts have seen the Technical side and that’s why they have become important asset to their employer and now they are not replaceable

So next time if you are asked to look in to the code you know what you are going to gain  :-)

5 comments:

  1. I like your concept of Techno BA vs. functional BA. I am leaning to the idea that BA should have some programming and DB experience. Coz BA is some who not just gathers reqts but also comes up with a solution that satisfies those reqts.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete