Assessments and Processes

Microsoft Licensing and Asset Management

In 2015, EmpireCLS needed to institute a formalized process for managing it’s Microsoft licenses. Up until this point EmpireCLS would never know until the “true up” period what the cost of licensing would be for the previous year and what upcoming years would hold.

We derived a simple inventory procedure to track software licenses; Sharpoint, SQL Server, Windows Server, Exchange, etc. This procedure allowed EmpireCLS to make better decisions throughout the year when provisioning new servers and doing various infrastructure maintenance tasks.

Some highlights…

  • SQL Server Software Assurance was discontinued saving hundreds of thousands of dollars over a 10 year period. Since EmpireCLS did not have the need to be on the latest versions of the software, and did not need Mobility Rights for SQL Server, this was a simple change.
  • Exchange Software Assurance was discontinued with the same type of savings and with a migration plan to Office 365 which would cut down even more on cost of the 400 MS Office licenses.
  • Training of EmpireCLS staff in regards to what Windows OS licenses to use and when was also a big win in overall savings on Datacenter vs. standard licenses.

HP Hardware Assessments

In 2015, EmpirCLS needed to figure out if moving to the latest HP storage solution was a required option. They currently had 3 storage units in place, with 1 coming close to end of life. In looking at the upcoming recurring maintenance costs vs. new storage and future maintenance costs we were able to guide EmpireCLS into just staying the course with existing hardware. This allowed them to save 3 to 4 hundred thousand for the first year and prolong the life of existing hardware. We tried to cut back on the “refresh your hardware” scenario that vendors push every 3 years.

Cloud Assessments

In 2016, EmpireCLS was weighing the benefits and costs of moving their data center to Microsoft Azure. We did deep analysis on SQL Server which we thought would be the most expensive option. We pointed out that since EmpireCLS already owned the SQL licenses through 2014 in perpetuity that it was more cost effective to leave the data center intact. This was taking into consideration data center power and space charges, FTE costs, and hardware licensing.

We then did another assessment to determine if it was a benefit to move the various websites to Azure. Since EmpireCLS already owned a lot of its hardware already, we found that it was more cost effective to cut maintenance contracts on existing hardware, using parts from unused server inventory, and then just move all websites to an internal VM, removing server licensing.

The final assessment we did was for migrating Exchange to the cloud, via Office 365. After weighing the costs of Exchange Software Assurance, hardware maintenance, storage, and Office client licenses it was determined that the move to Office 365 would greatly benefit EmpireCLS. I believe we were able to save 2 to 4 hundred thousand of a 10 year period.

These assessments were difficult because EmpireCLS had already made significant capital investments in software and hardware. If it was a ground up build it may have been a different story.

SDLC Procedures

In 2014, EmpireCLS needed help with structuring their development procedures for the multiple teams both local and remote. These procedures included full tracking of both critical path projects and day to day maintenance tasks.

We developed a set of Excel spreadsheets to pull in all TFS work items and to do analysis for forecasting future project completion dates, and to help with end of year financial cost analysis. We also used the spreadsheets to track project hours in relation to the various contractors that were working on the projects.

We instituted a modified SCRUM process where we would have a weekly sprint meeting, ad hoc impediment discussions, and pre-assigned work items.

We continuously released manually every 2 weeks. New features were exposed to subsets of users and controlled with feature toggles and security. We had a notion of beta users that could execute the latest code and give feedback. We had several notions of modules being in read-only validation states to allow cross referencing between multiple systems to validate before enabling write back.

GPS Tracking Software

In 2014, EmpireCLS needed a better GPS solution to track all of its vehicles. This service was a direct dependency of the “auto dispatch” system.

We ended up writing GPS query services to both Bing and Google. Cost was a constant factor as the number of queries that needed to be made was in the 100’s of thousands a day.

Technologies… C#, Google API

Suggestive Dispatch Software

In 2014, EmpireCLS wanted to optimize their dispatch department by automating the chauffeur to reservation assignments that they have been manually doing for decades.

Building on the rules of the newly created dispatch application this application would attempt to automate as much of the work as possible. Some of the rules that would need to be taken into consideration are as follows; driver requests by customer, driver location to customer, VIP customer handling, where driver started their day, shift time, etc.

A real-time GPS tracking system was also required for this system so as to have constant visibility to driver location and time / duration to a customer location or when the customer would be dropped off.

We ended up treating output of the system as suggestions that the dispatcher could just accept as opposed to 100% automation. There were edge cases that could not be covered for 100% automation so suggesting vs. automating was the better solution.

A dispatcher using this tool was able to assign all of the work for the first shift drivers in seconds, where previously it took over an hour.

Technologies… C#, asp.net MVC, Mongo, SQL Server

Kindred Gamer

In 2014 we set out to build a website to help with offline matchmaking for video game players.

This was a labor of love. A couple of us were really into multi-player gaming on the Xbox and wanted to have a social site where players of varying skills could locate other gamers of like skill and coordinate online games with each other. We were basically sick of getting totally owned by the kids that played several hours a day and wanted to play with people closer to our skill level, age, and status.

There were several game specific sites and apps that players were using but we wanted to build a framework to support all games on all platforms. Destiny was the big game at the time and one that we spent a lot of our time playing so we used it as a model. We were able to quickly fit Call of Duty, Halo, and all of the other AAA titles easily into the mix.

We did actually finish the site and it is still publicly available in a limited fashion.

The idea was sound and the market was tested before we started to build it. We did initial testing on Facebook buy putting out a couple of small ads to see if players were interested. We ended up getting around 300 or so likes in 2 days so in our minds this seemed like a great idea. We still get a few likes here and there but do not advertise or support the site.

We ended up putting the project on hold once Xbox Live came out with their own version. We couldn’t compete with Xbox because they had the profile and game related data to help drive player “likeness”. We had to rely on players manually entering their data, which wasn’t the best approach but was the only thing we could do at the time.

We built the site using asp.net MVC / Web API, AngularJS, JQuery, Ajax, etc. The notion of server side design-time data was used to help speed up the client side development, this pushed all database development to the end and allowed us to quickly iterate on the UI.

The site is still available with limited functionality for all to see here.

Promotion Software

In 2013, EmpireCLS needed the ability to offer promotions to their customers. The current method of just crediting their account after the fact didn’t allow them the marketing flexibility that they were looking for.

We designed and implemented the system that would allow EmpireCLS to have time based, instance based, and customer based promotions.

Once the project was completed the marketing team had the tools to create promotions which would allow EmpireCLS to offer services during low volume times, lure back customers that didn’t use the service for a while, and bring on new customers that never heard of them before.

Customer Booking App

C# development using Xamarin for IOS for a customer app. This app allows customers to book, view, and cancel their reservations, shows real-time ETA and location of vehicle driving towards the pickup location, and offers visibility into receipts and billing information.

Technologies… Xamarin, asp.net web API, SQL Server, Linux, IOS

Chauffeur App 2.0

In 2013, EmpireCLS needed to revamp their mobile chauffeur application because the Windows Mobile 6 platform was to be deprecated. Windows Phone 8 was the platform of choice for this application that supported their 400+ mobile workforce.

A large amount of client code was re-used from the original mobile app, along with the entire back end.

Highlights…

  • Chauffeurs could notify central dispatch that they were awake and ready for work. Before this feature dispatchers would call chauffeurs on the phone to validate that they were ready and would make their first pickup of the day. This saved thousands of man-hours a year.
  • Was done using cross platform development patterns to allow other mobile platforms to be implemented. The goal of using Xamarin to create an IOS an Android app was taken into consideration way up front to cut down on overall cost of bringing up these 2 platforms at a later date.

Technologies… Windows Phone 8, c#, WCF, PCL

Tranquility Product

In 2012, EmpireCLS needed to build out their new platform that would replace their existing Linux platform lovingly known as Iliad. We termed the new platform “Tranquility” to try and install a sense of calmness for those migrating from the legacy platform.

The existing linux platform had around 1 million lines of code, over 200 applications, and 20 years of data in an ISAM database. Our goal was to build this new web platform on Windows and slowly migrate the individual programs.

From the onset we counted on running both systems side by side and slowly migrating users to the new system. We chose the side by side approach to cut down on risk to the company, simplify training, and allow real-time validation between systems.

The initial modules that were moved were read-only; customer profiles, reservations, chauffeur HR. New modules were added to support credit card rebills, chauffeur check-ins, system monitoring, and several third party integration portals.

Technologies… C#, asp.net MVC, SQL Server, asp.net web API, Angular, Typescript

System Monitor Software

In 2012, EmpireCLS needed a way to keep track of the overall health of all the applications that we were writing. We developed a series of database queries that would notify the MIS team of certain events throughout the entire back office suite.

This service would basically poll dozens of SQL tables looking for queue backups, delayed processing, process errors, etc.

Technologies… C#, SQL Server