INTERNET APPLICATION DEVELOPMENT
MID MARKET ERP DEVELOPMENT
By Hrayr Galoyan
At CodePartners, we literally handle hundreds of opportunities per year. In three years since I joined, I alone worked on over 750 opportunities, big and small. Some of them converted into projects, and some were lost, but all needed attention and had to be tracked. And I am only one of the team members, analyzing the requirements, designing solutions, sending out proposals, managing projects, and trying to make our customers’ lives easier.
So it should be no surprise that we needed a system to keep track of all the moving parts in the process. There are actually two sides to our work: sales and production.
I don’t like using the word “sales”, because our focus is on helping customers optimize their business. But like it or not, there are some sales-related functions that we need to perform. Keeping track of opportunities is one of them, estimating the amount of work involved and preparing proposals is another. Maintaining the sales pipeline is another task that we all do, it helps us forecast how much work we are likely to get, and therefore, what resources we may need.
Once a project is approved, we turn it over to production. Sometimes there is additional design work we do before the development can start; other times there are enough details captured at the proposal stage that development starts immediately. Scheduling is one of the most challenging parts of the process, because many projects are small and it is extremely difficult to maintain accurate schedules for all projects and all employees in any project management system. This requires close communication between client-facing people and development teams to work efficiently. We do keep an overall timeframe for all resources, which gives us a 30,000 feet view of the situation.
We developed our own process to track projects and potential projects to make sure nothing gets lost. We use a combination of Sage CRM and Intacct to track sales opportunities, project statuses, resource allocation, billing, revenue recognition, and project costing. The system we use keeps evolving and adapting as our requirements change. I’ll walk you through all the steps in our sales / project management workflow.
Step One – New Opportunity
Much of the business we get is from companies we worked with in the past. Recently, we are seeing an increase in new customers. When we receive a new inquiry, we need to do the following:
How do we know what the impact of the opportunity on our pipeline would be, if we haven’t quoted it yet? We have a pretty good idea based on past experience.
The following things happen at this stage:
We use the follow-up date in Sage CRM throughout our workflow to keep things moving. Sage CRM is our primary system for tracking opportunity status, while Intacct complements it by tracking resources, costs, billing, etc.
Here is how the opportunity looks in Sage CRM.
We use the opportunity ID generated by Sage CRM to uniquely identify the opportunity in there and Intacct, and when communicating with clients. We use Sage CRM workflow to help us track through the process. While progressing from stage to stage, the workflow actions prompt the user to enter important information, and perform some automatic calculations, such as the next follow up date, etc. In this example, you can see that the next step is sending a proposal, and the due date is 3/13/2014. Currently, the opportunity is in the “In Progress” stage, which means we are still working on the proposal, and we assigned the initial value of $10,000 to it, although it may change after we do a proper estimate.
We create a project in Intacct with the same ID as the opportunity number, and use the project to keep track of the presale time spent.
Step Two – Analyze and Quote
The next step is to analyze the requirements, define the scope of work, estimate the amount of time necessary, and prepare a proposal.
We discuss the requirements with the client, and document them in just enough details for the programmers to be able to prepare a reliable estimate. Once we know how much work is involved, we update the quote amount in Sage CRM to reflect the actual quote, prepare all the paperwork and send to the client, and update the status in Sage CRM to indicate we sent the proposal.
The time spent on the project so far is recorded in Intacct, and is included in our proposal.
Once we change the opportunity stage to indicate that we sent the proposal, Sage CRM automatically calculates the date for the next follow-up.
In my next blog post, I will take you through what happens next through to the final billing.
If you have any questions about our project management process, please contact me.