|
Mr. Bill Gates, having discovered that running a billion dollar
business isn’t as much fun when the US Federal Government is suing you,
kicked himself upstairs, giving himself the title Chief Software Architect.
What the he-all is that?
The business community basically concluded that Mr. Gates would continue
to influence events although not make day-to-day operational decisions.
This doesn’t bother most investors since Microsoft is better at making
new knobs than it is at trying to explain to judges why Windows isn’t a
monopoly. Then Computer Associates President Sanjay Kumar got in
more traditional trouble (faking out stockholders), and kicked himself
upstairs and titled himself Chief Software Architect. One more of
these and we’ll have a trend. So we’d better figure this out.
The initial impression one gets is that Chief Software Architect is
the penalty box for software executives that are one step away from jail.
One ‘does time’ in this role until relevant controversies have settled
down. Often the court and regulatory rulings driving such management
shuffles deal with business or accounting issues that have little or no
precedent. An inscrutable title goes with an inscrutable plaint.
Then there is the ‘Chinese Emperor’ theory or it’s modern equivalent,
where the head of state is never presented to the rabble, and various mandarins
take executive responsibility and the associated heat. In China today
we have the Premier (Head of State) Wen Jiabao, while the former President
Jiang Zemin operates ‘behind the scenes’, in particular in control of the
military. Mr. Gates can avoid depositions and similar inconveniences
if he is not ‘calling the shots’, while he putters around in the Microsoft
Research laboratories thinking up the ‘next big thing’. In short,
a collective body of shareholders owns his quarter trillion dollar market
cap playpen.
Mr. Bill has gotten into charity work, trying to cure disease in various
parts of the third world. As the largest percentage owner of the
company, he could ‘retire’ and pursue personal interests, but it is unlikely
that stockholders would be happy with this outcome. If the average
programmer is ‘owned’ by their support obligations, just imagine how this
works for big kahunas. A large number of people expect him to stick
around... without antagonizing the Feds. Therefore we have a role
in which he is ‘working’ and ‘relevant’ but not playing hardball with Mr.
Jobs, Mr. Ellison, several corps of lawyers, and Eurozombies.
Having considered these possibilities, what’s left is the fact
that there might actually be a Chief Software Architect. And if there
is a chief, then there has to be... Never mind that. For someone
to be a CSA, there have to be Software Architects. Is there an ad
for Software Architect in your local paper? Maybe finding one is
like getting to Hogwarts.
Bring up the word architect and plenty of people are thinking of the
Parthenon, some cozy retreat in the foothills of the Sierra Nevadas, or
various Italian Renaissance treasures. Recent stories about Frank
Lloyd Wright on PBS illustrate that such lives are often contorted and
haphazard, not to mention controversial. Among the characteristics
of the kind that build buildings is that they are often hired to do projects
they don’t have much interest in; that they get in fights with their clients
over who pays for what, particularly when the architect makes a mistake;
and buildings that look great often don’t ‘work’. The aesthetics
are great as long as the air is the right temperature and the roof isn’t
leaking.
So perhaps we can excuse some of the bugs in our more commonly used
products as ‘artistic license’ by someone who is ‘inspired’. Of course,
‘architects’ didn’t design these programs. They are components of
an architectural system, which spans Microsoft, it’s partners, and it’s
imitators.
Real buildings have foundations, superstructures, HVAC, lighting, and
interior finish. Corporate applications architecture starts with
basics: clients, servers, database engines, networking infrastructure,
and specialized hardware. Sitting immediately on top of this are
the back end databases, the ‘standard desktops’ (the way a user’s PC is
configured), email and messaging, one or more security layers (and associated
policies), and corporate standards for documentation and training.
On top of this are generic standards for presentation, say for the appearance
of web pages, user forms, command buttons, menus, and printed reports.
On top of this are specific applications, such as Order Entry, Sales Analysis,
or Production Scheduling. Some of these applications exchange data
with each other, which is defined by the way databases are replicated between
departments and the way associated rights are assigned to users.
Users working for large employers might notice such resources are often
haphazardly organized, designed, and administered. This has the architectural
flavor of Bandera Road as opposed to, say, the River Walk.
So a software architect would come in and give this mess a unified,
aesthetic, and consistent user experience, whether it is the interface,
user account management, or report presentation. People that moved
from Accounts Receivable to Production Control wouldn’t find the new application
‘surprising’. Someone converting the dBase application to GUI would
know what menu items to define, where to put the Exit button, and how the
corporate logo appears on reports.
A company with an IT department based in one city might have a Software
Architect to ride herd on the developers. This is different from
the CIO (Chief Information Officer), who is interested in the strategic
and tactical value of corporate data. If there is more than one IT
group, then the Chief Architect resolves issues that develop between the
architects of the various groups.
One suspects that Mr. Gates isn’t doing this within the innards of Microsoft.
The ‘architecture’ envisioned is global, and Microsoft is going to set
the standards. Have we been here before?
|