The rise of the IT “super genius”

The future of the IT organization?

The successful IT professional of 2020 will interact with users more like the Apple Genius Bar consultant does today…

What a quote from Joe Jorczak of Oracle Corporation (posted by Andy Jankowski earlier this Spring)!

One theme of his comments was that user-generated applications would arise from the mishmash of technologies available today, combined with the plethora of distribution channels for distributed, single-purpose apps.

In that scenario, users exploit the “salad bar” metaphor I like to use so much. They take what they want from available enterprise services and leave the rest behind.

Only beyond simply leveraging a Service-Oriented Architecture, Andy is proposing they increasingly build their own apps on those services… and the experienced CIO will now be asking “How should we support these apps?”

From salad bar to genius bar

Now, enterprise architects have envisioned the great IT salad bar (or more likely their own analogy) for ages…

    • before web services
    • before Java
    • before CORBA
    • before DCE

I figure the notion of mix-and-match, integrated systems ought to go back to the dawn of the network itself, if not earlier…

Similarly, we have endured many phases of “user-generated” applications. There were a few vendors of “plain English” programming languages who predicted them when I was in high school back in 1984!

What does it take to be a genius?

So whether it happens this time around or not, my question is what would it take to make IT into the “genius bar” for supporting user-generated applications?

Let me post a few ideas, and then you can add your own so we can chat about them (not in any particular order):

Super Genius

  1. What services we can get from the outside world, especially (but not always) for free, we need to catalog, stay abreast of changes and make available to these “apps”
  2. The services that are special to our organizations MUST become service-oriented… to make use of a given feature, apps don’t want to have the whole ERP system tag along
  3. We must take on a customer service (even a “retail service”) perspective if we are not already working on it, and we have to put in place ways to measure “true” customer satisfaction
  4. We have to think very carefully about how much “control” we really need, while we also build in flexibility and fluidity to support enabling these apps to flourish
  5. We must reset our notions of security and confidentiality to lock down and protect what we must secure, while intentionally and strategically exposing what is really not that proprietary anyway
  6. We have to uproot the idea that we can “manage demand” from our management philosophy – the industry changes, customer expectations change, and demand simply “is”

To be clear, these are not suggestions I think every IT organization must follow… they are ones that I see as necessary if the genius bar is in our future. What else do you think will change if we increasingly see user-generated applications in the future? Can you envision new roles and even new management structures?

Advertisements

Taking standardization too far

How far should you go?

There are ways to write software and ways to avoid.

As custom developers, my teams have written a lot of software.

Meanwhile, every time we bring new people on board, a question that comes to the forefront is “what is our way” to develop software.

Is it enough to say we are an agile shop, and XP happens to drive our flavor of agile more than SCRUM at this point?

What about the pieces of SCRUM we have appropriated as well?

What about the way we handle user experience, or document requirements, or resolve issues?

Being the same, being different

The more we follow “standard” methods, the easier new team members can join our teams, right? Couldn’t we just drop in a certified Scrum Master and all is well? (Well, not for an XP shop, I suppose.)

Meanwhile, the more we pick and choose what makes us most productive, the more we’re differentiated and the more we can produce competitive advantage through our processes, right?

I have been on too many methodology design projects, and I keep wondering why companies don’t just buy their methods like RUP, or just pick one and get a training company to have everybody start from the same page. (I know some do.)

My answer (to myself) is that though they would start with one way of doing things, they would soon be confronted with one of two options:

  1. Handle all sorts of exception cases and weaken the “standard approach”, or
  2. Even worse… they would cram all projects (and the people in them) into the same mold

From the same mold

George Dinwiddie’s weekend post on process standards triggered my thoughts in this area. It has also been triggered by the most embarrassing situation imaginable and my own rethinking of my offers to the market.

How does each person contribute to the team?

One of the most fundamental points in George’s post is that people have different strengths. They bring those strengths into a team environment.

In many cases it is difficult if not impossible to accurately distinguish the specific impact of each contribution to the team.

For example, the least productive developer is not always the one who completes the lowest number of story points in an iteration (e.g., if they invest in coaching and helping others).

The thing is, the more we use the same metrics for everyone, the more we insist on the same behaviors from everyone, the more we ask them indirectly to play outside of their strengths.

Meanwhile, removing them from the team could cut others’ productivity and ultimately risk project success.

In my comment to George, I mentioned three goals I had in identifying “our way” of doing things. Ultimately, they had to do with making it easy for people to fit into the team.

As I consider the potential negative side effects of removing individuality, I also wonder if too much standardization can be a trap, ultimately leading us away from the highly productive teams we are after???

Now, I could see how a very straightforward IT environment might do fine with highly standardized processes. It seems to me the more adaptive the environment, the more important playing to each team member’s strengths becomes.

So I have a specific question for you today – how much of my concern for individuality do you think relates to our work in custom software, and how much could apply to any situation?