When scoping out a new project, you have to work with the client or customer to discuss the features of the project.
Meetings are required, typically face to face, to review the list of items they'd like. By discussing what the end product looks like, you get to dive into the details with the customer.
Typically this means getting up to speed real fast on the clients business. You learn the business rules, how the data flows through the systems, who does what when. And sometimes you the client admits that they don't always follow an internal process 100% of the time, which makes it harder to code for.
What's interesting about programming Business Intelligence solutions, you get to learn about every facet of the business. From products and geography to customers and accounts payable and GLs. You get a birds eye view into the entire business and it's helpful to get up to speed fast.
And sometimes the Business Intelligence person becomes the resident expert into the complete ecosystem picture, which is good for repeat business. Having a consulting firm that understands the business, the people, the process', having a signed NDA, it's a natural fit for a contract to get extended and re-extended over years. Because having to re-train new consultants from scratch takes time. Establishing a good working relationship with the client staff is key to long term relationships. That way, they are not threatened by loss of job and become willing members of the consulting team.
A lot of clients have a need of consolidating various data sets into a central repository, that complies with traditional data warehouse methodology. And some reports and perhaps some dashboards and scorecards and KPI for upper management. Some are internal, others are client facing. So allocating time for good Quality Assurance is key. Or tweaks to the data or reports.
Sometimes it's good to let the client explore the possibilities. Perhaps they've always had an idea of how to turn the data into insight, but lacked the resources or expertise. By asking opened ended questions, suggesting possibilities, you can almost see the clients mind turning, brainstorming ideas.
Sometimes items get added to the project just by letting the client know some of the possibilities.
What if we gave you the ability to do xxxxxx? Or what if we could generate reports sent directly to your email inbox, at whatever frequency you'd like? Or what if we moved this process from Access and Excel to a real data warehouse that ran like clockwork.
Being a consultant typically means providing a solution, and moving on to the next project. But sometimes you get in there, learn the business, help the client achieve good results, so they ask you back for more projects. Consulting is also providing a service, a lending hand to a client, a win win situation.
And so it goes~!