I have a client who is a systems integrator, that is, most of the work the client does is for other clients. We are working on a business analysis process for the company. My point of contact asked me if there is a difference in the activities or approach of business analysts based on whether the business analyst is doing work for a client or for an internal project.
Clearly the job of business analysis is basically the same regardless of whom you are doing it for. The business analyst still has to determine the real problem, analyze the environment and problem domain, and come up with solutions. Then the business analyst has to define the solution in such a way that the solution team can implement the solution. And this is done whether the problem is the organization’s problem or a client’s problem.
But there are some differences. The obvious one is in documentation. Different companies and organizations have different standards for documentation. So a consulting business analyst will have to be fully cognizant of the client’s standards before starting the project. As much as we hate to admit it, as human beings the output format has a direct effect on how we do the job. We will actually focus on different aspects of the problem or problem domain depending on how we have to document the result. For clients this is not a bad thing. If they want UML diagrams of the solution or fully dressed workflow diagrams of the problem domain, they are, after all, paying for it.
Keep in mind that the client has another agenda. In house we may not be as concerned about the documentation because we can always have a quick meeting and discuss the issues and make changes as necessary. The client cannot be sure that your company will be around for the length of the contact to fully implement the solution, and most likely will not be around after the job is done. So the client has to protect itself and make sure that everything you do is fully documented to a state that the client can pick it up without loss of momentum or progress, or hand it off to another contractor to finish.
It is easy to complain about having to be a documenter especially if your solution team is doing an Agile development process. But remember your point of contact is only concerned about getting the problem solved. The client organization is concerned about getting what they paid for. The client organization wants to limit dependency on you as a contractor and be able to continue to use the solution you install long after you have gotten your last check in payment for a job well done.
There are more differences that are important to know if you are considering changing jobs from an in house business analyst to a consulting company or, indeed, if you are thinking about going out on your own to be a consulting business analyst.