Internal SugarCRM Project: Project Status Tracking System
We asked our engineering intern, Jim Rybarski, to contribute to our blog and give some insight to the internal projects he’s been working on while at UpCurve Cloud. In this week’s mini-series update, Jim discusses the Project Status Tracking System he developed. The beginning stages of taking on a new client can be very tedious and time consuming. We asked Jim to develop a system that would make this a smoother process. Here is what Jim had to say.
Taking on a new client at UpCurve Cloud requires quite a bit of effort from a lot of different people. Naturally, we coordinate everything on our internal CRM, but a lot of the tasks were still mechanical. Recently, I was asked to build out a project management system to free up time for everyone involved.
The first few introductory emails that we send to new clients are essentially form emails. We figured there was no reason why this process shouldn't be automated. However, we needed a way for employees to review the automated email before it is sent out. Some situations would dictate that we would want to modify the content or cancel the email completely (like for a simple change order). Our solution to this problem was to build a "Scheduled Email Module" so that the automated form emails get queued into the email scheduler. As soon as an email is put into the scheduler, a copy of the email is sent to whomever will appear to be the sender of the email when it gets sent. This gives that person a chance to review the email and decide if it is good to go or if it should be edited or paused. They have four hours from the time it gets scheduled to either modify it or stop it.
We also wanted to take advantage of Sugar's built-in Tasks module. Before, we would manually schedule the introductory call, kickoff meeting, project start date, and projected completion date. Now the system calculates those dates based on the date the project was created and the number of hours the client has purchased and creates a task for each one. The system automatically assigns these tasks to the team leader on the project.
Since my start date at UpCurve Cloud, I've noticed an increase in demand for detailed data on engineering activities. As such, I added an “At Risk” and an “Estimated Projected Completion Date” field to each project, which is recalculated every night by a cron job. This way, a manager can easily be alerted to a project that might not get finished by the estimated deadline and allocates engineering resources accordingly. I also tacked on a “scrumlog”, which engineers fill out every Monday morning with a description of what they did for the project over the last week and what their plans are for the next week. In case the scrumlog is not filled out, the CRM system will send a reminder email to the engineer asking him to complete it. Any employee can easily read the scrumlog for any project and see all of the historical status updates to gauge where we are with any given project.
Because all of this can be easily integrated into our portal, it could potentially provide our clients constant feedback on the progress of their customizations or projects (in addition to the daily worklogs). All-in-all, this will help us spend less time organizing and more time programming, which is what we do best.
If you have any questions about the project status tracking system discussed in this post, please contact us here.