Your organization is pretty unique, and that "uniqueness" has probably led you to search for a custom software solution. After all, if an off-the-shelf solution existed, you'd probably buy it. When you go the custom route, the company/individual you hire is going to need to learn and document your unique business processes (needs), and come up with appropriate solutions. I'm talking about business analysis.
Business analysis is the method used to facilitate business process improvement. As business analysts, what are our main goals? Let's list them below:
- Identify the Right Requirements
- Reduce Waste
- Improve Business Efficiency
- Create Appropriate Solutions
How do we accomplish these goals? We employ the following techniques:
Listen
We can't identify the right requirements if we're not listening carefully to your feedback. It's a lost art, believe me. The key point is we need to resist creating the solution in our mind until all the facts are known. We also need to listen to a variety of views to get a clearer picture.
Observe
I like to be on-site for the requirements gathering stage because I get a better feel for the pulse of your organization. Through observation (and listening), I can learn more about how your business operates than any operations manual.
Ask the Right Questions
Once we have a better understanding of your business process, we can begin to ask the right questions. It's the key to successful business analysis. We've listened carefully, observed your environment, and now we're going to ask specific questions that get at the heart of your problem. It's the only way we are going to arrive at the best solution.
Confirm the Obvious
The answer you give may not be the answer I hear. It's just how our brains are wired. Signals do occasionally get crossed. So your business analyst needs to confirm your answers, including the obvious ones. In other words, never fail to confirm the obvious.
Document the Right Requirements
Of course, we are going to need to document each requirement, and diagram more complex aspects of the system. Requirements are important for other reasons, too. How will we know every requirement has been met if we do not document, track, and account for them in the final design (and finished application)?
Brainstorm
Custom software development is a full-contact sport. We are going to have to work together to arrive at the optimal solution, and that means a fair bit of brainstorming. It is not uncommon for a sub-optimal suggestion to lead to an optimal one, but after several iterations. This usually happens in a matter of minutes, not hours or days.
Conceptualize the Solution
As I mentioned previously, communication is key. To verify that our signals haven't crossed, we're going to build conceptual models. This could be a simple diagram identifying major portions of the system, or it could be a series of wire frames. But our objective is to make sure I heard the same thing you said, and the solution we create together fits the problem precisely.
There's a lot more to business analysis but this should give you a rough idea. Of course, as a full-service software development company we provide all these services, usually on-site.

