This is a very common question that we come across from professionals who have completed 6 to 10 years in software development.
One has done a good bit of programming and one is looking for career advancement. One can also possibly look at technical architect role as well but somehow the need for tech architects is comparatively low compared to BA or PM roles.
From a pure number perspective, usually, we find 1 PM, 1 to 2 BAs and 0.5 Tech Architects per project.
Tech Architect is indeed a very satisfying and well-paid role but that’s primarily for folks who really love technology. Managerial growth is generally less for folks in tech architect role. (Do not beat me for telling an unpleasant truth.)
So which role should one go for? PM or BA?
In fact, there is a good amount of overlap of skills between the 2 roles. Here is what we see in IT industry:
Skills such as Stakeholder management, Scope management, Planning, Estimation, Conflict management and Communication are vital for both PM and BA role.
But from project execution perspective, things differ significantly.
For PM role, focus is the entire Project (Requirements + Design + Development + Test + Deployment). PMs must be able to do a good level of task break down for all tasks, estimate likely effort and schedule, organize those resources and monitor progress. PM is expected to coordinate with all stakeholders on whom the project success is dependent on.
For BA, the focus is on business needs/requirements, requirements elicitation, requirements analysis, requirements documentation, requirements re-use, identifying the right solution approach and solution to meet the business needs.
In general, PMs are expected to have a higher amount of professional experience compared to BA. We generally find clients to be open to talking to BA's who have 5 to 10 year’s work experience. For PM, it is usually 10+ years.
If you as a person like interacting with business stakeholders have a knack for solving business problems, then BA is an ideal profession for you. For professionals without IT project experience but having domain experience, BA is a better option than PM. Alternatively, if you as a person like detailed planning, work estimation, resource management and monitoring of progress, then PM is an ideal profession for you.
There is an interesting shift we observe now where organizations are rolling the 2 traditional roles of PM and BA into a single role, calling it as Product or Project Owner. So in future, having business analysis and project management skills can be truly advantageous for IT professionals.