evDataPro, published by the ProboData Group, is an Earned Value Management software package that helps project managers for very large projects estimate and track costs. It is used for projects with budgets in the billions of dollars, and performs complex calculations on budgets, cost estimates to completion, estimate vs actual costs, and many other measurements. It tracks the finances for government projects such as the GPS Satellites and aircraft construction, and is used in companies such as Lockheed and Boeng.
evDataPro is a complicated system that was originally built by an expert in the field using the current technology at the time, ASP Classic. Due to the success of the system, the original developer moved on to other duties within the company, so we were called in to pick up where he left off.
Though the system was originally built well, technology had progressed, and the system had not kept up. It had become difficult to use and upgrade, and was falling behind in feature requests. Our task was to upgrade the existing technology to the latest .NET framework version, while simultaneously adding features and keeping the entire system running during the migration.
The system was built in ASP Classic in the typical patterns. It accessed the database using raw sql queries launched from the code behind of the ASP Classic forms. This exposed a risk of SQL injection, and made the entire system difficult to add features to.
While other companies that had analyzed the system suggested a complete rewrite, we did not want to lose the value of the existing code. We injected a new architecture into the existing pages that allowed us to introduce new technologies and strategies to make feature development faster and easier.
We were also able to introduce the first unit tests into the existing system, thus improving the quality of the system and all new features built.
Increased Revenue – Injecting a new architecture into the existing system allowed us to add features at a must faster rate. This decreased the time to release, resulting in the vendor raising the price. This increased revenue easily paid for the effort necessary to refactor the existing system, giving a net positive cashflow for the whole project.
Reduced Expenses – When features are easier to build, they don’t take as long. We were able to pull off some of the developer assigned to the project and still hit all feature release deadlines, thus saving the client thousands of dollars each quarter.