Social Coding in the DoD
Going to try and keep this one brief, and it is going to be difficult. So…I have to instantly break a few things up. But, let me start with a teaser.
Innovation, in the Kit Plummer dictionary, is defined as the collection of ideas which aggregate and compound to solve problems, inherently, without necessary a priori knowledge of the problem. Ok, so given my not-so profound definition here it is easy to arrive at the idea, each individual idea, as the catalyst for innovation. Almost needless to say, without ideas – no innovation. (Here’s Princeton’s definition of innovation too.)
My current project, so dubbed the Battle Command Innovation Platform (BCIP), is attempting to bring many of the commonly found innovation tools found in the software/IT world to the U.S. Army (CERDEC COBRA). The ultimate objective is to allow the warfighters to solve their problems and host their own solutions. Imagine Amazon Web Service + Google’s AppEngine + GitHub + domain-specific languages (DSLs) + management, training and support delivered to those with the information problems at hand. Imagine four levels of complexity: full OS-level virtual machines (EC2), language-specific application framework(s) (AppEngine), traditional LAMP site-level hosting, and DSL-based wizard-driven applications. Add in to the mix, web-based API data services to front traditional stove-piped systems of records – and Voila you get the concept that is BCIP.
There are a few key attributes of BCIP that drive the whole conceptual premise. First, is the notion of “composable” apps. Yes, that composable – the software holy grail where applications can be built from lego-like blocks of functionality. But, also (and at the risk of biting the buzzbar) mashable applications where pieces of data are aggregated visually to produce new data. And, to some degree the ability to tap into existing infrastructure apps, documents and data. Secondly, and not without debate, is the idea of community. Yes, the meritocratic behavior that is sought after by hackers, projects and commercial entities alike. But, not necessarily the same kind of community as in the Open Source world. Within BCIP’s ecosystem, the community is the really only scope by the problem domain. The only membership requirement is that one has identified a problem and also is empowered to resolve it.
The end result is emergent innovation. The kind of innovation that comes from the people closest to the problems solving their problems, and sharing the solution with everyone across the enterprise. It doesn’t end with the first solution. How often have you found that somebody else has a very similar problem? By remixing (a process of changing inputs, but not functionality) your solution they now solved their problem. Compound solutions. With a solid community infrastructure the potential for recycling (a process of changing a simple piece of functionality and creating a new app) enters the fray. More compound solutions.
Ok, how’s that for a scratch? Now consider things like my employer, Accenture National Security Services, Forge.mil, and a mad dash to demonstrate the concept. It should be fun, it has been so far. I’m currently a one-man show wearing the Solution Owner, Scrum Master, QA, Biz Dev and team hats – all at the same time (yes we’re Agile). I am getting some help from some very smart people – they’ll get their due in future posts. Right now I’m working with GeoServer, OpenLayers, Tomcat, Groovy and Grails, Openfire XMPP server, Ubuntu, Eucalyptus, AppScale, Amazon Web Services, a little bit of that, a little bit of this and GitHub:FI (Thanks Milo and Chris for getting us going).
Some of you might just be asking – do warfighters really code? Yes, yes they do. More on Carlos Castillo and Paul Lin’s COIN and intentional emergence story to come too (though Jim, my boss, has pretty much nailed it).
Please comment: blog comments powered by Disqus