I received a communication last week that triggered flashbacks to my programming days when I was writing code to print transactional documents, reports, and mail pieces. The message I got from a software company contained an error - a big, glaring one.

My heart went out to the software company that issued the message. Ironically, the dispatch was all about recent improvements in their own software which was undoubtedly used to compose the ill-fated document I received. Murphy's Law hasn't changed, I see. I still remember my service bureau mailing out over 100,000 statements a month and double-stuffing only one. It always amazed me how often that single error occurred on mail pieces belonging to our client's CEO or one of his relatives!

To mess things up, you really need a human

The reason I'm writing about my little trip down memory lane is to emphasize that today's sophisticated document software doesn't protect us as much as we'd like to believe. Humans still have ample opportunities to fumble. I have dozens of modern head-scratching examples in my "what were they thinking?" files.

When I started generating personalized documents the tools were pretty crude. Just floating a comma to the end of a salutation line or centering a variable line of text took specialized programming. Printing lower case characters once required a translate command and a bit mask. Those old data entry devices had no lower case keys! We had to be really careful, review printed output, and anticipate problems as much as possible.

Today, document developers can create gorgeous data-driven messages without ever seeing an IF -THEN - ELSE loop or incrementing a counter. Most of that logic is now hidden from view. Friendly interfaces have allowed document composition to move out of IT departments and into business units. However, it is still insanely easy to accidently create conditions that will spawn embarrassing mistakes to be seen by thousands of document recipients. Average business people developing these documents may not embrace the paranoid sense of doom that incites programmers to look for unanticipated gotchas, so mistakes slip through.

Computers still have a tendency to do what you tell them instead of what you really wanted. Proofing is important and testing is more critical than ever before.

Complex documents can be risky

Anyone designing personalized documents today should probably be reserving time for creating comprehensive test data to make sure all those hidden IF, AND, and OR commands are behaving in every circumstance. Well-intentioned pursuits to generate documents meant for an audience of one make it even easier to manufacture mistakes; and harder to spot them with a cursory review.

Digital delivery actually increases the risk. When print was the only channel, ink or toner we put on paper would look the same when delivered the addressee as it did when it left our shop. In contrast, digital messages rendering perfectly in one environment can look radically different depending on the platform, operating system, browser, user preferences, screen size, or email clients that are used for display.

By all means put the capabilities of modern document composition software to use. Leverage all the customer data you possess to create personal, meaningful, and effective communications. Today's software makes it possible to produce results unheard of in the old hand-coding days. It all works out most of the time. However, I think a popular phrase among politicians these days applies - trust, but verify. When it comes to customer communications, that's still good advice.

Mike Porter is President of Print/Mail Consultants. He writes constantly about topics of interest to the communications industry. To keep up with Mike's tips, trends, and commentary visit www.printmailconsultants.com and sign up for Practical Stuff - a free newsletter for customer communication professionals or follow him @PMCmike on Twitter.