Tuesday, March 24, 2009

Innovation as an excuse to write software

I've worked at a number of development shops in the past and I've had the pleasure (And pain) of working with many different developers. I've come to recognize a trait amongst many of the developers that I've worked with; most of them have a passion for Software Development. That passion is great; it leads them to learn new ideas and to development interesting software that we love to use. The downside to that passion is the vast majority of developers always treat every problem as a development problem. They skip past the step where they look for existing solutions and immediately jump to development (Or, those more experienced jump to the planning of the development).

Now, I'm not saying that development isn't important, especially when it comes to innovation. Development is key and without Software Development, we wouldn't have any new products to use! The most important decision is not whether there is going to be development for an IT innovation project, but where you will focus your expertise, time, effort and dollars. Every time a company goes to put up a new web application, they don't start off by building a new operating system. They leverage what is already in existence. They don't go an write a new database. They use one that is tried and true. Smart companies pick where they are going to develop and where they will plug in components to help speed up their innovation initiatives and reduce costs.

What many developers and companies fail to do is to take the next step beyond picking out an OS, Database, web server and development language. I've seen many projects embark on an "Innovation" exercise where they end up re-creating the wheel. They don't go and put rubber on tire, the rebuild the whole tire all over again. Companies and more importantly the developers that work for companies need to take some time (Albeit a short amount of time) to investigate what components exist in Commercial Off The Shelf offering (Or Open Source, or even what other products exist within a company).

We all need to learn where to best spend our time to add value to a company and I believe that building on top of existing software allows us to do things quickly.

Doing things quickly is extremely important when it comes to innovation (Or most projects for that matter). Time is money as they say and the more we risk investing in innovation projects, the more we have to lose if they fail. We shouldn't be concerned with "Gold Plating" our projects and we certainly shouldn't be wasting time on software development when we have existing and appropriate solutions to pick from. We should strive for rapid prototypes and make sure we are on the right track at every point along the way. We don't want to have invested millions of dollars and years of development in a product that no one is going to use.

No comments:

Post a Comment

Bookmark and Share