Business analysis is the art of turning ideas into working software.
You have a great idea for a project or a start-up. But how do you make sure it doesn't get derailed by other people's mistakes? You typically have concerns about:
On one hand, stability.
- You want it to be easy and intuitive to your users.
- You want stable foundations, so you don't suffer from an-hour-a-day downtimes.
- You want it to be scalable, so you don't have to redo it just when you start growing.
On the other hand, agility.
- You want the cheapest reliable solution.
- You want to go to market fast, so nobody can overtake you.
- You want to be flexible, so you can change fast, as your market develops.
It's a delicate balance. And the devil is in the details...
And you don't want the developers accidentally cripple your enterprise by building on something with a business-unfriendly license.
On the business side, what are your most important features, and how those overlap with what can be implemented quickly? Should you commission the application ready-made from a contractor, or should you hire your own developers? Should you start with a minimum viable product?
A business analyst is who answers these questions for you.
All it takes is a few sessions talking to you and your team; learning as much as possible about the project, the business plan, and picking your brain about the intended market and future directions.
Then, depending on your needs, functional and non-functional requirements, use cases, mock-ups, a prototype, action/controller specifications, or an initial project plan gets written. A good business analyst can also assemble your team and/or handle your contractors, and act as a project manager during the course of your project.