As an IT organization, I submit that you are probably
thinking and worrying about the wrong things.
The idea that you are fundamentally an engineer and that you provide
technical support to the organization is getting very outdated. The traditional IT organization was created
because of the mind-numbing complexity inherent in early computer systems. In the 1970’s it was not uncommon for large
shops to write their own operating systems or transaction processing systems. This type of task is hugely complicated and
requires a skilled and dedicated team to pull it off. The results were similarly huge. The ability to go from paper processing of
customer records and billing transformed American businesses.
Unfortunately, we as IT folks have found more and more
technical complexity to dive into. We’ve
been able to focus on distributed computing, private Intranets, custom
developed internal portals and all manner of cool things. Thus the ABILITY to solve complex technical
challenges has resulted in our WILLINGNESS to solve them. It’s a bit strange really, and reflects the
rapid pace and relative immaturity of our business that we still operate this
way.
Think about other core services that our parent companies
consume. Do they operate this way? Perhaps, if it’s truly core to your
business. FedEx, for example does all
their own maintenance on all their jets and trucks because they feel that’s
core to what they do. On the other hand,
the corporate pool car program has completely faded from the American corporate
landscape as folks realized that their employees already had cars. In our business, the IT organization is
quickly moving from a necessity to something that you can probably do
without. This motion of technology from
leading edge to commonplace and dull is normal for us, but the underlying
business model change required to reflect this obvious change is much harder
for us to internalize.
The implications of these changes are still beginning to
trickle down into the operational philosophies of our IT organizations. Things that “were always done that way” are
usually incorrect simply because they’re old.
Any standard or process in your organization that is more than a year
old should seriously be looked at. After
all, the technology you are supporting has changed. Why shouldn’t your operational procedure
change along with it? I think that I
don’t need to belabor this point. If we
are honest, we all understand that we are in a very fast moving business and
that we need to be adaptable to change.
If we accept that basic fact, then we begin to see the core
of the problem. The reality is that
technology is changing way faster than our organizations can adapt. This means we either get picky in which
things we implement or we are continually chasing the latest bright, shiny
object that comes across our field of view.
This implies a very strong set of filters that prevents us from chasing
things that don’t have high value to our organizations. It is the development of these filters that I
think we can generalize and discuss outside the context of each particular
organization. It is almost impossible
for me to say if a particular technology or architecture adds value to a
particular organization without spending some quality time with that org. On the other hand, I think that we can
establish some ground rules that will help you drive things like technology
evaluation and prioritization.
Not surprisingly, the answer revolves around the question of
WHY. Why are we doing what we are
doing? The “BECAUSE” part of your answer
is usually where we succeed or fail. The
“WHAT” part is where spend most of our time but turns out to be one of the
least important parts. The reason is
that WHAT we are doing becomes pretty meaningless if we are doing the wrong
thing. Take an extreme example. Let’s say I asked you to build a bridge. A really big bridge. Let’s say we started talking about stressed
concrete, suspension spans, all kinds of cool stuff. We get really into it and decide to build a
suspension span. The best suspension
bridge in the world. What’s missing?
Why are we building the bridge? Let’s say we are building the bridge to connect
two towns of 100 people each. Total
expected traffic is 10 cars a day. Did
we build a good bridge? Not really. And what happens if we build the bridge with
railroad tracks for higher density. But,
there is no railroad within 100 miles of the bridge. Was that a good idea? Yes, extreme example, but you get the
point. It’s the context that
matters. Why are we building this
bridge? Who will benefit? How will they benefit? How will their lives be better after we’re
done? Can we do the same thing for half
the cost in half the time? Perhaps
they’d prefer the simpler answer if they knew they could have it in six months
instead of six years.
In our case, the context is much more complex than just
driving a car over a bridge (with all due respects to traffic planners and
engineers out there). We all drive cars
and at some very basic level this example makes sense to us and some of the
more obvious errors would never get made (build a railway bridge where there is
no railroad for example). In the technology
business, very obvious errors like that get made all the time. We buy hardware to support applications that
never get used. We solve problems that
don’t really exist. We write white
papers that nobody reads. Part of this
is due to complexity. As enterprise
class IT organizations, we are usually serving a very complex business. It is simply not possible for us to
understand the complexity of even the simplest Fortune 500 class business.
One way to deal with complexity is to model the complex system
using simplified concepts and abstractions.
Naturally, this exercise is in its self dangerous because the
abstractions can lead to error if the model is wrong. To correct for this, we need to ASSUME that
the model is wrong and continually course correct based on feedback
mechanisms. By assuming error in the
system, we allow for forward progress but recognize that our process is not and
cannot be perfect. Thus the concept of
“continuous improvement” made so famous by the Japanese. We assume that our process, our assumptions
and our plans are flawed. We proceed
anyway and then see where problems crop up.
By remaining nimble, we allow ourselves to respond to the largest threats
and allow potential threats to go unaddressed since they never actually occur
in real life.
All of this thinking brings us, of course, to the Customer
Centric IT organization. In a customer
centric IT organization, we obsess over our overall customer experience. Are our customers happy? Why or why not? What are the top ten issues customers are
reporting? What are the key pain points
that they haven’t addressed? And this is
where it gets messy. You need to really
understand your customer in a fundamental way.
They only way you can do this is by spending time with them. Call them focus groups or just taking people
out to lunch. If you do not have a
direct and personal relationship with your target audience, you will never
understand them. If you do not
understand them, your ability to predict their needs will basically be
zero. And it is the ability to PREDICT
their reactions that we really need to develop here. IT isn’t magic. It isn’t cheap and it isn’t quick. If we simply react to expressed user
requirements we will never achieve our goals of driving the organization
forward. It is the ability to PREDICT
their responses in advance that separates the truly great organizations from
the mundane sort that we’re all trying to avoid.