Thursday, October 7, 2010

When the lights don’t turn on

We have all had those times when we believe that something is worth doing because we can do it well. Then we suddenly realize that no matter how well or how good of a job we do; we just can not accomplish the goal. Frustrating as that might sound, there are times when failure is the right answer.

I have not failed. I’ve just found 10,000 ways that don’t work.

- Thomas Edison

While working on a short contract with a small manufacturing company my instructions were to upgrade their ERP and desktop environment. This small firm had spent the past few years rebuilding itself into a nice tight operation that was turning a profit. However, they realized that some aspects needed improvement to allow the organization to grow. The ERP system tapped for production and sales analysis functionality they hungered for more capabilities. Additionally, due to the older version of the software, the vendor was charging a premium for maintenance and support.

After I created a hardware inventory of the desktops and provided an upgrade path. I handed the implementation over to some exceptional A+ certified technicians. I then turned my attention to the ERP. This monster was built on 4 different database technologies, the likes of which I have never seen before. The core utilized a little known (or used) database engine, Access, Excel and Crystal Report Server (MSDE 2000). Due to a past hardware failure, corrupt data also existed within the system. The vendor conducted the original data recovery; however, they left behind this corrupt data.

Working through the support channel, I was able to obtain all the patches and version updates. This would take the ERP forward 2 full versions (including 12 interim updates), just shy of the latest version. The latest version would require a full MSSQL (2005) environment, not something the company was prepared to deal with. Remember, this is a small manufacture, with no IT staff. They have an individual that comes in a couple of times a week to check on backups and updates. Most appropriate for this size organization.

Taking an old desktop, I created a sandbox version of the existing environment. After a weeks effort to create the environment I was ready to start upgrading. Now I mentioned the corrupt data before, well that was hindsight information. During the upgrade in the sandbox, it was a real problem. Through some strong persuasion, the vendor fixed the data in a custom update patch as part of the covered support maintenance. By the end of the third week, I had a fully updated sandbox to the level needed.

During the sandbox upgrade process, I conducted interviews with all staff to determine what specific functionality utilized. This allowed me to review the completely upgraded sandbox system separately and not interrupt production staff for early testing. I did discover that even with the upgraded ERP, the client application would have problems with the upgraded desktops. This resulted in some alterations to the concurrently running desktop upgrade project.

As I performed the normal duties of the individuals that I interviewed in my upgraded sandbox, I started to come to some solid, but unfortunate findings. Specifically the Sales Analysis Module was missing. Several years back the makers of the ERP had decided to allow clients to upgrade the application and still utilize the little known database engine. However if a client chose this path, they would loose certain functionality that had already been moved to a MSSQL engine. They called it; “Planned Functionality”. The concept was to allow clients that utilized the ERP for manufacturing only, to continue. While other clients that leveraged more of the system to move forward. Strange but true, this was their line of thinking.

Since a key aspect of the system would become out of the reach for this small manufacturer, the decision - the upgrade failed. Not wanting to risk loosing the ability to gain ground in sales or any other possible area, due to the ERP Vendor’s “Planned Functionality”, the main goals of the project were determined unreachable. However, I was able to work with the executive team to create a long-term path that would remove this obstacle, but provide some additional stability. They will migrate to a hosted ERP solution later next year. Not only will this save them money and stress on internal IT support, but did actually affect the cost of the project. Because the plan now is to go to a remotely hosted application, quick changes to the desktop upgrade project allowed for some additional cost savings.

Therefore, my small manufacturing company will carry forward until the next budget cycle as is. The project was marked completed, but unsuccessful. Projects may have solid and value added goals, however knowing the outcome before the project starts is rarely known.

Notice: posts will have the highlights of projects that I have been apart of or have managed. Some of these examples have been fictionalized to make certain points. The examples are not a complete rendering of all the events of any project, example or actual event. Nor are they intended to be a factual accounting of events in a project, example or actual event. The examples of projects are to inspire and provoke thought on how anyone of us would have handled the situation. My intention is to highlight those "moments" where doing things one way or another might have changed the end of the story. This is done in an open and learning format where I hope we can all continue to learn together.