Innovation Incubators

I have a proposal. It might be considered quite radical on the face, but with a little backing we could add some serious value. And…believe it or not…we are already doing it, as least informally.

Companies should construct a formal unit to act as an innovation incubator. I see this as being different than, but complimentary to, a the Center of Excellence. It would reach out to the various engineering groups to see how common problems were handled, evaluate the results, and look to see if that solution could be made available company-wide. In fact we are already doing it, just with a lot less controls and a lot more risk. Case in point, TPS (known locally as either the Transformation Processing System or the Task Processing Service)…

TPS – A Precedent

TPS is a home-grown, Windows-based, .NET scheduling and batch processing system. It runs on a Window’s server as a service allowing a multitude of functionality to be orchestrated (grouped together and run in order). It can be expanding both internally (changing the TPS code base) or externally (adding/altering the interface calls). It has the capacity to manage errors, send email, page on-call, etc… It tracks intermediate steps and gathers quantitative values for later analysis and reporting. In short, it is a fairly rugged, home-grown scheduler that is versatile and expandable.

We were not the only unit in need of similar functionality.  Another unit was looking for like functionality, but was unable to purchase a commercial scheduling tool that would fit the bill.  They reached out to us to discuss the use of TPS. The long and short of it is that after several technical discussions, we collectively drew up an agreement and a branch was created in TFS to allow this other unit to have their own version of TPS. And as of this writing, TPS is a vital tool for both units and the company.

Opportunity

Now that the precedent has been set, where to from here? I would suggest that the following construct could take TPS to the next level:

  • Talk to existing users: What works? What could be improved? What is missing? …e.g. Stakeholder Engagement
  • Set out roadmap for tool generalization, adoption, enhancement, and rollout.
  • Reach out to perspective users through existing venues (ACOP, EA, etc.).
  • Allocate a subset of budget dollars from current and interested parties.
  • Assign a group with both the experience with tool and available resources to ‘own’ the product and enhance it based on the roadmap.

Expansion and leverage after that would bring flexibility (because we could change it in-house) and economies of scale (build it once, use it multiple times). As more groups use the tool, Humana gains ‘royalties’ on its own product in the form of saved budget dollars. This can be measured and tracked. There is not much difference between this and, say, Application Blocks. (Has anyone ever tried to measure the benefit of Application Blocks against budget dollars?) There is the possible cultural issue of disregarding tools that others have created, but cultural change is a top-down driven issue that could easily be managed by the endorsement of this endeavor, very much like the Agile initiative. When people see the natural advantage, they will come to see its wisdom.

Think Ideas, Not Items

This thinking can extend to almost all aspects of the IT business. A process could be treated the same as a tool. Keron Salmon is using the same process over and over again to automate .NET builds for out unit , Billing, Mobile, and a couple others. What could be do if we proceduralize, document and evangelize these configuration management processes like we evangelize Agile? What other things could be enhanced and leveraged to provide value? Well, just going off the top of my head I could think of these…

  • Tools
    • Object Messaging (A lot like Tuxedo, except without all the overhead.)
    • Service Monitor
  • Processes
    • Automated .NET Builds (I don’t believe HUMBUILD has all the capability that is being used in Spending Account, and other, builds.)
    • Automated SQL Builds
    • Automated Data Refreshes
    • Automated Testing

There are many, many more. What can you think of that could be adopted widely and add value?

Leave a Reply