The Creative Solution

Have you ever looked at a system, software design, or document and thought, “What the hell were they thinking?” If you said no then you are likely pretty new to software. If you’ve been around for more than one job you’ve likely seen things that will make you cringe. So the question is, if everyone realizes that the concepts are bad, how do they ever come into existence?

There are two reasons. The first is simple to explain: naivety. People that are new or simply “don’t get it” have a tendency to produce poor quality softare. This is the minor case because these people eventually learn the errors of their ways and learn to do it right. The other pimary cause is purely financial in nature.

When companies find themselves locked into a solution they no longer consider to be on par with their expectations they begin to find creative solutions to the problem. As an example, let’s look at the fictional companies of Western Paper Co. (WPC) and Eastern HR Corp (EHRC). WPC purchased the HR management software of EHRC a long, long time ago for way, way too much money. They were the only option at the time and they fit the needs of the organization. Over the years WPC has been approached by many other vendors that could handle the same things that EHRC could, for half the price. However, WPC found themseles entrenched in the applications and realized it was very expensive, time consuming, and difficult to move away from EHRC. So the fees continued.

A certain budget review was finally reached and WPC started tryng to figure out where the hell all of their budget was going. Oh, yeah: its EHRC. So they decide that they are going to limit the number of transactions that they are going to do with EHRC. The $500 data queries, the $5,000 onsite meetings, and the uber-expensive “training session” were all now suspect. Instead of paying $500 for each data query they began using macros to pull data from a human interaction (web, gui, etc.) application. Instead of upgrades to the software they started looking at “supplemental” products that would add to the main application without producing a lot of overhead but created much more system complexity. They began foregoing training and started to lack in best practices.

Why? Because the software they originally bought was too expensive. So how do they get out? Slowly.

Because the system is now entrenced within the core business it is no longer a simple matter of switching a software application. This is because the software now has business processes, departments, and budgets all built around it. These things, despite their intangible nature, are far more of a burden to migrate away from then the typical software application. This is why even bad companies (like EHRC) are able to maintain a profit with a bad product. At one time the bad product was “cutting edge” and sold. Then people got stuck.

In short, there is no silver bullet to get away from an inappropriate product. Only time will heal the wounds. However, the next time you see a questionable system, application, or document design think about the two ways that bad designs happen and ask if the solution was the best possible one given the situation. If not, condemnation is warranted. If so, then the entire organization should make it a top priority to move away from the sub-par solution in lieu of a better one.

But I'm Right!

I learned a lesson a long time ago and something that happened the other day made me think of it.

I have always been fortunate enough to be one of those people who can pick up a new skill and become proficient in it very quickly. Because of this skill I learned a lot about a whole lot of different things. I never considered myself an expert in but a couple things but felt that I knew a lot about a large array of subjects.

When things came up that I “knew” were wrong I would voice my opinion on how it needed to be done. This, in itself, wasn’t a problem. What was a problem was how I went about stating my opinions. I stated them as if they were fact and as if they were the only right way to do things. At times I was right – there was only one correct way. Many other times I just gave one of many possible solutions. Either way I felt, but never confirmed, that I had formed a reputation for being the office know-it-all. I don’t remember what it was but someone said something to me one day that caused me to rethink my attitude. So I decided to step back and analyze myself and figure out what I was doing wrong.

The conclusion I came to was simple for many people but was a virtual epiphany for me: my being right about something doesn’t negate the possibility of someone else being right in a totally different way.

I started trying to make it a point to handle my disagreements differently and have found that, over the years, it has made a world of difference in my personal and work relationships. Before, if I disagreed I would simply state why it wasn’t right and give the “correct” way. Now, even if I feel that the solution is totally wrong I try to ask questions. I still slip up – after all I’m human – but try to avoid resorting to old haunts.

Asking questions does two things at once: it helps me to understand the mindset of the person I am talking to and it helps to illustrate an alternate route. Many times I will find that the questioning leads to an understanding of the original design, solution, or idea that causes it to make much more sense to me. Other times it will solidify the idea that the concept is wrong.

At times I still find myself being a bit abrasive. However, I try to always think back to my hard learned lesson and approach things in a more diplomatic way. In fields like software, where there are countless solutions to any problem, not boxing your self – or others – into a single solution will generally prove to be a blessing.

July 2008 CPI Data Out

The July Consumer Price Index (CPI) data is out and this is my monthly update to the projected annual inflation.

If you want more explanation of how I arrive at these numbers visit the May 2008 post. For information on why I am including the December 2007 numbers in these calculations see the June 2008 post.

The inflation so far for 2008:

Southeast = [ ( 213.304 – 203.457 ) / 203.457 ] * 100 = 4.84%
National = [ ( 219.964 – 210.036) / 210.036 ] * 100 = 4.73%

Average month to month change in 2008:

National CPI Southeast CPI National ? Southeast ?
12/2007 210.036 203.457    
01/2008 211.080 204.510 1.044 1.053
02/2008 211.693 205.060 0.613 0.550
03/2008 213.528 206.676 1.835 1.616
04/2008 214.823 208.085 1.295 1.409
05/2008 216.632 210.006 1.809 1.921
06/2008 218.815 212.324 2.183 2.318
07/2008 219.964 213.304 1.114 0.980
Average 1.413 1.407

Estimated CPI when average change is applied to the rest of the year:

Est. Southeast CPI = 213.304 + ( 5 * 1.407 ) = 220.339
Est. National CPI = 219.964 + ( 5 * 1.413 ) = 227.029

Estimated inflation for 2008:

Southeast = [ ( 220.339 – 203.457 ) / 203.457 ] * 100 = 8.30%
National = [ ( 227.029 – 210.036 ) / 210.036 ] * 100 = 8.09%

Getting better. Still a ways to go back to “normal” though.