XML is ready — are you?

Do you have a nagging sense that your business could benefit from XML, but you just don’t know where to start? The good news is that XML is easier than you think, and you’re probably right about the potential benefits, especially when it comes to sharing information with business partners.

I’ll get to that in a minute, but first, take some time to learn about XML. XML’s strength is that it lets you define elements and their attributes that emulate your business processes.

For simple applications, you can create Document Type Definitions using XML’s Declarative Syntax. DTDs name elements, attributes, and entities, and say how they fit together. There are many publicly available DTDs, but DTDs are suitable only for textual applications.

For more complex applications you need a schema, which lets you specify data types other than text and perform validations on defined elements. In other respects, a schema is like a DTD in that it’s a definition of information that delineates how it’s organized. XML schemas define elements and attributes in a way similar to the way DBMS schemas do for databases. If fact, if you’re planning to develop XML schemas, be sure you have a database developer involved with the project, because database developers are trained to think in the proper terms.

You can write your own schema, using approved standards such as the Resource Description Framework, or you can use one of many publicly available schemas in various stages of development.

Once you’ve defined your data, you’ll want to share it. The Simple Object Access Protocol (SOAP) defines how to encode XML information within HTTP traffic streams. Right now SOAP is a proposed standard in the hands of the World Wide Web Consortium. That means the W3C could make changes to the standard before accepting it.

But don’t let that stop you. What matters is that your business partners agree on encoding standards. That, after all, is the definition of a protocol. And if you agree to use the standard as it’s currently written, you can get the benefit of XML today. Later, if there are changes in the officially sanctioned standard, you can agree to incorporate those changes in your business.

Some large industries have already made substantial progress with their specific XML initiatives.
For businesses with specialized needs, rolling your own schema or DTD makes sense. In some cases, none of the available schemas will quite suit you, yet you’ll want to develop something that could become a “standard” among your business partners. For example, consider the case of a newspaper that buys newsprint from many paper mills, and paper suppliers that sell newsprint to many publishers. Such a marketplace may be too small to have evolved a workable XML schema, but clearly a schema would benefit all parties. In such cases, it pays to work with both business partners and competitors to agree on a common format.

XML is ready to use now, today. You should be thinking about how it might be useful in your business.

Build a buffer to deliver on time

When I was a wee junior programmer for a software development company, nearly 20 years ago, client managers often asked me to estimate how long a particular programming project would take. I was a pretty good estimator — I knew the scope of the task and I knew how fast I could code. And I was invariably wrong — it always took longer to deliver a project than it should have.

I soon realized that I needed to add a buffer to my estimates to cover unforeseen circumstances. Maybe it was computer downtime, the absence of a senior programmer, or the sudden need to tackle a more important task — but if I didn’t add that buffer, chances are I would be late.

My colleagues didn’t mind if my estimated deadline was Wednesday instead of Tuesday, but they did mind if I didn’t deliver when I said I would. That was because much of the work I was doing was custom programming, and the client managers were passing my estimates on to their clients. My tardiness would make them look bad.

It took me some time to determine how big a buffer to allow. If I remember correctly, making my best estimate and then doubling the time put me just about on target.

I carried that lesson over when I changed careers and became an editor for IT publications that relied heavily on assignments to free-lancers. I soon learned that free-lancers almost never file their copy on time. If you don’t work around that fact, you risk failing to deliver pages you’re committed to running. Publishers are not happy when you tell them that they can’t run three pages of ads because the two pages of editorial copy they need to run with aren’t ready, and therefore your magazine loses that revenue.

To get around that problem, I learned to do two things. First, I gave free-lancers a deadline ahead of when my real deadline was. That way, when they asked if they could be a day late, I could magnanimously say yes, and be a great guy.

Second, I tried to have some spare copy on hand to run if a free-lancer completely failed to deliver. Publishers didn’t care so much exactly what copy ran, as long as there was enough of it.

If you’ve worked on IT projects for as long as I did, chances are you’ve already learned this lesson. It’s not usually a sin to turn in an estimate with wiggle room; it’s far worse to miss a deadline when others are counting on your contribution. Therefore, before you commit to any project, add a buffer to protect your reputation. If an inflexible deadline won’t allow you to add a buffer in terms of time, then add one in resources — ask for an extra programmer or temporary staff to help you reach your goal.

By the way, this isn’t a problem that can be solved by the application of a rigid project management methodology. Project management systems are fine tools, but the numbers you plug into them have to come from somewhere, and that somewhere is usually the gut feeling of the person who best knows the work involved.

Sane storage

When spec’ing out storage for your organization’s desktop and laptop computers, chances are you focus on capacity. Can your users get by with 8GB, or should they have access to 20GB? I tend to favor low capacity for business desktops and high capacity for mobile and home PCs; networked business users can and should store important files on server disks. But in a world where the operating system takes half a gigabyte and multimedia is becoming more common, I may have to change my mind.

Certainly capacity is an important issue, but there’s more to desktop storage than that. The other side of the platter is performance.

Our sister publication Computer Shopper has put together an extremely useful guide to buying disk storage. If you haven’t thought about storage issues for a while, it would be worth your time to review this information.

To get an idea of the best-performing drives, look at their average sustained transfer rate and average access time. All other performance specifications, in the words of Computer Shopper, “matter only because they affect these two key specifications.”

The best way to test drives is to put them in PCs and try them out with the applications you use most, but that’s really not worth taking the time to do; any recently released drive will be adequate.

You don’t need the best-performing disks available, but you do want to be on the high end of the curve if you plan to keep the computers they run gainfully employed for the typical three- to five-year life of most business machines. My computer at work would have been an average-to-good performer three years ago; today I think it’s a dog.

A more important issue for most businesses is value. That means looking not only at the price of the drive, but also at the price per gigabyte of storage, which can run from less than $4 for very large drives to nearly twice that. If you haven’t bought disk drives in a while, that still may sound pretty good; disk prices, like those of virtually all components, are dropping all the time.

Also think about manageability as you prepare to roll out new PCs or drives. I suggest installing a desktop management suite such as Intel LANDesk. Its centralized administration, inventory, software distribution, and remote control tools can be worth as much as another administrator in improving your support department’s ability to aid its users.

WordPress Themes