Archive for the ‘Technology’ Category

The Right Tool for the Job

August 13, 2010 1 comment

Share this

Why do companies end up choosing the wrong technology?

In the technology world we are exposed to so many different frameworks and platforms that it is hard to decide what to learn or recommend to solve a problem.  In fact there are so many different tools available to build software that one individual can’t know them all.  So how do companies end up with their chosen software stacks?  The following are a few examples I’ve seen:

  • Legacy, Legacy, and Legacy – Sometimes you run into places where software needs were created at the dawn of software time.  The needs were great and the primordial software soup kept getting built higher and higher.  At the time there were no other options and companies greatly benefitted from business process speed-up technology brought.  Jump to now.  Everything currently happening in these companies revolves around the legacy technologies.  They are retooling, retrofitting, and doing whatever they can to keep the ancient software pyramids from crumbling.
  • My buddy or nephew said this technology is “the bomb” – These are companies where the upper elect few in the organization have decided to listen to friends or family rather than reason.  Unless your buddy or family member has a lot of experience building enterprise software solutions, you may want to think twice before implementing their ideas.  Think of it like a judicial trial.  If you are on trial for robbing a bank (which of course you didn’t do), you can either have your buddy represent you or hire a high priced lawyer.  After all your friend did see “My Cousin Vinny” and it all worked out ok so what can go wrong?  Remember that companies are on trial for maintaining their bottom line.  Sometimes it’s worth paying the high priced lawyer for advise.
  • My programmers only know X, Y or Z technology – This kind of ties back into the Legacy point.  Sometimes your shop needs overhauling.  Just because you are setup to build software in a certain way doesn’t mean you should do that from now until forever.  Think if Ford never upgraded or retooled their assembly lines.  I’m sure the model T would be as successful and competitive now as it was from day 1.  Wrong!  You might conclude: I may have to let some dead weight go.  This definitely isn’t a fun option so offer education, conferences, or other means to get your staff trained for the latest and greatest.  Those that want to stay on top of things generally will do so on their own anyways (companies and individuals).  This is a good indicator of individual performance and drive in your organization.
  • Tradition and Fear of Change – This is probably the most common scenario I come across.  Once people get used to the way the ship runs it is extremely hard to get that ship turned around.  This is human nature right?  It can be hard and painful to learn new things.  It is much easier to coast along.  Unfortunately if you entered the software world with the desire to learn one thing and be set for the rest of your life, you are in the wrong field.  Software technology is one of the fastest paced industries around.  Think how far the internet has come since 1995.  Frankly it is staggering.

So how do companies choose?

Like the knight in Indiana Jones and the Holy Grail, you should choose carefully.  You have lots of options so get as many industry and technology experts to weigh in their opinions.  Then see if there is a general trend.  You might have to pay for opinions and consulting.  You might have experts on your staff.  You may have connections with other businesses doing similar things.  Observe, gather, and decide.

Whatever you decide, don’t have a heart attack when you see the sticker price.  Think about software long term.  And when I say long term I mean from 1 to 5 years.  How much will it be to maintain?  How much will it be to enhance?  If I spend all that money now on the big sticker price will it save me in the end?  Don’t overpay for solutions and definitely don’t underpay.  I’ve had several clients come back to me after choosing a cheaper firm or contractor only to have us rebuild it the correct way because the cheaper firms never delivered.  By that time they’ve spent 1.5 times more than our original bid.  Talk about a bummer.

Share this

Categories: Business, Technology

Staying on top of the heap (relative understanding)

August 11, 2010 Leave a comment

Share this
One of the biggest challenges technology professionals face is staying on top of the quickly changing technology landscape. While there are some tried and true technologies that aren’t going anywhere soon (like SQL), you can bet every other professional out there knows these as well. So how do you keep up with change? Here is one technique I use that helps me a great deal.

Change is something we should know a lot about. A whole school of thought has developed around the inevitability of change at the project level. But change is just as ubiquitous at the industry level, and not everyone gets it. Businesses face new problems, technologies emerge to better handle them, and IT professionals must adapt and become proficient at these or have their value in the marketplace diminished.

One technique I’ve used to stay abreast of technology is relative understanding. My definition for this is that you can understand something most easily through comparison to something known.

For a trivial example, take driving a car where your experience is with automatic transmissions. You would have spent time learning five things:

  1. A key turned in the ignition switch starts the car
  2. The steering wheel controls your direction
  3. Stepping on the gas peddle accelerates.
  4. Gear shifting happens automatically when you accelerate
  5. Stepping on brake slows and eventually stops you.

If faced with learning how to drive a car with a standard transmission, you have to know five things:

  1. A key turned in the ignition switch starts the car
  2. The steering wheel controls your direction
  3. Stepping on the gas peddle accelerates
  4. To shift gears you need to press the clutch while manipulating a lever.
  5. You need to keep the clutch pressed while idling
  6. Stepping on brake slows and eventually stops you.

Here, it is easy to see that the knowledge needed to drive cars with automatic and standard transmissions are virtually identical. You already know most of what you need to know to drive a standard. All you really need to spend time learning is:

  1. Gear shifting does not happen automatically in a standard like it does in an automatic
  2. In a standard, you press the clutch and manipulate a lever to change gears.
  3. In a standard, you keep the clutch pressed while idling

Recognizing this is more difficult when facing complex tasks that may be abstract in nature (technology oftentimes) or large in scale (like an enterprise business system). So when I approach something new, I start asking myself “What do I know that shares characteristics with this?”  When learning Ruby as a Java expert, for instance, I quickly understood that I didn’t need to relearn every operator, flow control statement, or language feature to be productive. What I needed to know is “How is Ruby different from Java?”

So what do you think? Do you use relative understanding? Is it a conscious process? What are some ways you may have used it in your professional or personal life?

Share this

Categories: Technology Tags: , , ,