
Thank you Matt for taking the picture!
Innovation is a combination of both invention and commercialisation.This definition insists on the fact that to be innovative, an invention needs to have commercial value.
Companies such as Google or 3M take innovation very seriously. Members of engineering development teams at Google for instance are actively encouraged to allocate and spend 20% of their work time (one day per week) on projects that interest them.Everybody knows that the more standardised you are and the more you buy off-the-shelf, the more cost effective it will be for both implementation and ongoing maintenanceThis is true, especially for trivial activities such as the ability to update your website. Updating a website should be as easy as giving a phone call. And it doesn't really make sense nowadays to build a content management system from ground up. The objective is to find the right product for your business.
Well I tend to agree as well. It makes sense to choose a Content Management System already available in order to give the marketing team the ability to update the site without depending on the IT team (internal or external), at lowest cost possible. However it is also important to consider developing some features from ground up, specially the ones which can give you a competitive advantage.
On the other hand, executives such as Bob Laird, IT chief architect at MCI (now part of Verizon Business), sing the familiar refrain of in-house development: “Where we tend to invest is where we can get incremental revenue … or competitive advantage,” he says.
When evaluating whether to buy or build, it’s critical to thoroughly understand total costs during the software lifecycle -- typically seven or eight years. This step is important, Lutchen says, because 70 percent of software costs occur after implementation. A rigorous lifecycle analysis that realistically estimates ongoing maintenance by in-house developers often tips the balance in favor of buying.Bearing in mind that it can become very costly (if not sometimes impossible) to customise a commercial (or open source) software to match new business requirements in case these requirements are unique, and not covered by "common features".