Friday, May 22, 2009

campaigning to innovate

I tweeted this today:

Government of Canada IT Innovation Campaign: Support the good ideas and help crush the bad ones! #gcitic #GoC #cpsr

First off, I love this campaign. A government-wide initiative to gather ideas on improving the development and delivery of programs and services for the Canadian taxpayer? What's not to love? The organizers built a community site where public servants can add ideas, write comments, and vote for the ideas they like. It's just fantastic, and I applaud anyone involved in its implementation.

Here's the thing: not every idea can be a winner.

An all-too-common pattern: "I think we should standardize on <Product X> across the government for <Requirement Y>! <Vendor Z> sucks!" Let's let X = "Firefox", Y = "web applications", and Z = "Microsoft" for the sake of argument. I like Firefox as much as the next guy, but I support a legacy line-of-business web app built on ASP, COM+, and SQL Server, and it's full of IE-specific JScript. We have neither the time nor the money to make it work in Firefox, and even if we did, it would still be an enormous waste of taxpayers' money.

A lot (most?) of people who work in IT are control freaks. I'm one myself, though I'm learning to let go of certain things. I can completely understand the mindset of "I love <Product X>, everyone should use it!" But if you impose it on me, you're tying my hands when I'm trying to deliver the best, most cost-effective service I can to the Canadian public. Nightmare scenario: "Here we go again, build vs. buy. Hmm. Well, that perfect COTS app needs a SQL Server back end, and we're limited to MySQL, so I guess we're building yet another custom system. We would have done it with SharePoint in the good old days, it would have been cheaper, and we would have gotten it done faster. Oh well." Sounds ridiculous, and it should, but I worry that it's not as ridiculous as I'd like to think.

Full disclosure: as you might have guessed, I work in a predominantly Microsoft shop. But I'm not a zealot. I believe in finding and using the right tool for the job, whatever the source. As a public servant, it is my duty to provide the best value possible for the public, and "value" does not equate only to up-front costs. It's the TCO, stupid! What's your value proposition?

I'll quote myself, from an email I sent to my directorate today: "In an exercise like this, those who participate are the ones whose views are heard, so it’s important for us to voice our opinions." So please, if you work for the Government of Canada, sign up for the campaign web site. Vote up the good ideas. Don't even vote low for the bad ones, you're just padding their scores. And comment, whether it's to say "yes, that's great" or "what are you smoking?"

The leaders of the GC IT community want to know what you think. Let your voice be heard.


Patrick said...

It's a very good point. The idea of standardizing on any one platform is, I believe, counterproductive in the long term; whether (as in your example) that's IE or Firefox. Sure, some things might seem easier at the moment if you assume that you have a homogenous environment. But using open standards wherever possible will better serve the citizens and the public servants who work for them, and prepare your infrastructure for the future.

I really think that should be a primary goal when assessing a technology. Don't use something that is going to tie the hands of people in the future. Encourage the use of a variety of platforms and applications among staff, to help ensure that new systems will work across them. (This approach would have prevented the IE-only JavaScript in your example from ever being used.)

As a rhetorical example, Sharepoint is one of the most popular platforms for internal collaboration across enterprises. But is it right for the Federal Government? A primary consideration should be whether it locks workers into any sort of standardized platform. If you have to be a Microsoft shop to use it effectively, then I would argue that it should not be used in a publicly funded department. In other words, I think the government should have a higher level of responsibility for accessibility and standards than a company.

(Note I'm using Sharepoint as an example only - I have no idea how usable its collaboration tools are if you're not using Microsoft tools on the client side).

Anyway, I hope people do carefully consider your points when they look to vote up or down ideas. There can often be a cost beyond what's obvious.

Jeff said...

More thoughts on this topic here.