I think we have this Bill Gates thing all wrong.

Lots of IS managers responded to my column on the return of the mainframe mentality, concerned about the damage renegade end-users can cause. Most of these letters recommended processes that prevent end-users from making mistakes.

That’s when it hit me: Bill Gates is the one guy trying to maintain an out-of-control desktop.

Look at Microsoft’s tactics and contrast them with its competitors:

  • Microsoft invented TAPI (Telephony Application Program Interface) which links telephones and computers at the desktop. Novell and AT&T invented TSAPI (Telephony Services Application Program Interface) which provides similar services through a server/PBX connection. IS can control and manage TSAPI. End-users can use TAPI without IS ever knowing about it.
  • Microsoft is putting together “Peer Web Services” which will let everyone publish HTML documents on Intranet servers. This empowers end-users while making them harder to control. Meanwhile, Microsoft’s competitors are focusing on Java, which gives IS new ways to develop and control applications. Significant fact: making HTML the standard enterprise document format breaks Microsoft’s de facto monopoly in word processors.
  • Microsoft builds personal computer operating systems that run on autonomous desktops. Many of its competitors (Oracle, IBM, Sun) have embraced the notion of a network computer – one that only has the functionality IS provides through the network.
  • Microsoft focuses on ease of installation and use – for all the griping, Windows/95 installs with remarkably little pain in the vast majority of cases, and the real attraction of NT server over Unix, Netware, and even OS/2 is how easy it is to set up and administer.
  • You don’t hear Microsoft extolling the virtues of “thin clients” which, after all, waste the processing power at the desktop while requiring bigger servers for IS to run.

Microsoft’s competitors? They all develop for and sell to IS.

Novell used to market (okay, what substituted for marketing for the kids in Sodium Valley) to renegade department managers tired of waiting for central IS, and Novell became the dominant player in the LAN marketplace. Then Novell started to become legitimate, using “Enterprise” as an adjective and selling to central IS instead of its original customer base. Novell now focuses on technologies that increase IS’s ability to manage the enterprise. In the bargain, it has failed to gain significant market share for any product, no matter how excellent, that provides end-users with personal power and productivity.

Sun, IBM, Oracle, Digital? They’ve never heard of end-users, and probably wish they’d go away. End-user activities don’t sell big iron, or even medium-size iron. They don’t sell database servers (you have to deal with IS to get at those).

Yes, the Macintosh is the original end-user machine, and Apple had similar ideas. Unfortunately, years of inept management at Apple caused the product line to stagnate, boring the daylights out of everyone who watches this industry. We all may be willing to wait 15 minutes for a Web page to download, but we won’t tolerate boredom.

End users want to work without IS looking over their shoulders. They want to fiddle around, gradually creating exactly what they want, emerging only when the finished product is ready for inspection, whether it’s a document, a spreadsheet, or a small database application. That’s why personal computers became popular in the first place, and why the big players uniformly missed the boat.

Yes, Bill Gates is a fierce competitor, and in fact is one of just a few in the industry who knows what game they’re playing. Gates, along with Scott McNealy of Sun, Larry Ellison of Oracle, and maybe one or two others, is playing winner-takes-all poker. The rest are busy increasing shareholder value, maximizing profits, and doing all the other stuff that gains short-term success at the expense of world domination.

Only I wonder … does Chairman Bill really want to rule the world, or is he playing a deeper game?

Why are so many client/server projects late, over budget, and under-featured?

It must be the technology. After all, IS mainframe development projects never come in late, over budget and under-featured, do they?

I wrote a piece on empowerment a few months back. Several managers responded with stories of employees who chronically make excuses and duck responsibility.

When IS management blames its inability to deliver on technology, it’s time to look at who’s really unwilling to shoulder responsibility. IS gained a reputation for late system delivery long before client/server technology – one reason client/server technology created excitement was its potential for reducing development time. Why has it failed to do so? Last week we looked at methodologies. This week, the issue is project management – probably the key difference between successful and failed projects.

Since I’m at best an adequate project manager, I called in an expert, Terry Westropp, for a second opinion. (Full Disclosure: Terry is a fellow employee and senior project manager at Perot Systems.)

Qualifications? Terry manages real projects of significant size and scope, on both mainframes and client/server technology, and brings them in on-time and within budget.

What differentiates successful projects from the others? Here are some guidelines:

  • Scope Control: Everyone hates it, but at some point everyone has to agree to freeze the design. Last week we talked about using staged releases to take the sting out of this. “Scope creep” is a big reasons for late system delivery. Resist it, or rebuild the project schedule each time you add a new feature and get every stakeholder to buy into the new schedule.
  • Regular, Concrete, Measurable Results: Your project plan must call for every member of the project team, every week to deliver something tangible. Tangible means you can point to it, touch it, use it, and verify its existence. You can’t define the milestone for a week as 70% completion of some function or other, because nobody can verify “70% complete”. With weekly tangible results, you’ll never be more than a week late without knowing about it.
  • Weekly Status Meetings: Every team member presents this week’s results as compared to the plan. The team discusses both expected unexpected problems, and unexpected unexpected problems. (Example of the former: learning how to use a new middleware technology to access a remote database – you expect to do some putzing around in this situation. Example of the latter: the development tool blows up when you try to join more than 15 tables in one report.)
  • (Key success factor: Ask, and insist on an answer, to the magic question, “What are you going to do about it?” for every late delivery. This isn’t a rude question – it’s a matter of one professional asking another how they’re going to get their part of the project back on track. The answer may be long hours, it may involve weekend work, or it may involve rescheduling, if a task really was mis-estimated. Whatever the solution, though, it has to be explicit. “I’ll keep working on it,” isn’t an explicit solution.)
  • Team Buy-in to the Plan: Anyone can load some project management software and create a Gantt chart. If the project team doesn’t believe a schedule is realistic, the whole project can turn into an emotional pressure-cooker. One solution: parcel out project responsibilities to the team. Everyone plans their own delivery schedules. The project manager integrates them so all dependencies are accounted for.
  • Walking Around: Updating Gantt and Pert charts with this week’s actual numbers constitutes project administration. Walking around, looking over programmer shoulders, asking questions and offering help … that’s project management. When you’re interacting with project management software you’re just counting beans.
  • There’s no magic to good project management. It’s hard, detailed, demanding work. If you expect shortcuts (and take them) you’ll end up with a late, disappointing system.