Tuesday, March 28, 2006

Complexity Kills

In today's New York Times there's a story about Microsoft's problems and Vista's delays, Windows Is So Slow, but Why? In the middle of the story is a quote that caught my eye, In an internal memo last October, Ray Ozzie, chief technical officer, who joined Microsoft last year, wrote, "Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges and it causes end-user and administrator frustration." I couldn't agree more. I strongly believe the number one reason why database projects fail, and the number one reason for poor performance, is an overly complex schema. In the name of normalization, data modelers who can't write a query to save their life develop horrid schemas with several times the necessary tables. Chapter one of my next book is about the Information Architecture Principle. In unpacking the principle, I believe the first attribute of a database is simplicity. It may seem an oxymoron to begin a 1400 page book about such a complex development tool as SQL Server 2005 by writing about simplicity, but without simplicity as a primary goal, I believe your database project , and the DBA who come after you, will suffer. When designing database schemas, every table you can eliminate and still meet the requirements is a victory to be celebrated. Sorry to get so passionate, but I've seen too many friends labor with systems that should be out of our misery. It's a shame. Truer words have not been said, Mr. Ozzie, Complexity Kills


Post a Comment

<< Home