I suppose I should be writing about planning for your SQL Server 2005 migration. However, you've probably read enough about that and will move to SQL Server 2005 when you're ready. So instead of migration, I've decided to cover one of the fastest growing trends in the IT industry: the rising tide of complexity.

With all its enhancements, SQL Server 2005 is a prime example of increasingly complex software. Back in the SQL Server 6.5 time frame, it was possible to be an expert in all facets of SQL Server. But with SQL Server 2005, it's a completely different story. The addition of Analysis Services, Reporting Services, Service Broker, Notification Services, and Integration Services has turned SQL Server 2005 into a much bigger product than just a simple relational database. The complexity of SQL Server 2005 also increased with the inclusion of the CLR and its requirements for .NET skills, and the new XML data type and the addition of Query capabilities. The accumulation of these features adds to the overall complexity of the product. Another great example of this is the new SQL Server Integration Services. SSIS is a much more powerful and capable product than its predecessor, DTS, and the first time you get a glimpse of the new SSIS designer it's easy to be overwhelmed with the choices and capabilities. Although Microsoft has made an effort to make SQL Server 2005 easy to use, there's no doubt that the product is more complex than ever before.

SQL Server certainly isn't the only product that's experiencing this trend. Many Visual Basic (VB) 6.0 developers have resisted the move toVB.NET because VB 6.0 provided a less complicated environment that enabled them to be immediately productive. None of the releases of VB.NET, or even the new VB Express products, can match the level of simplicity of VB 6.0.The new VB 2005 is a more capable product but also a deeper and more complex product.The new Visual Studio Team System adds a new level of complexity to the Visual Studio (VS) product line with the addition of integrated project management, and integrated testing and life cycle development tools.The new Express product line shows that Microsoft is attempting to create a less complicated entry point into their development technologies.The increasing complexity of software isn't limited to Microsoft products either, one look at IBM's Websphere development environment for Java will send you running back to VS 2005 in a hurry.

The growth of complexity in software products and applications is unavoidable as software becomes more capable and flexible in its need to address today's more complex problems.This trend presents an ongoing challenge to DBAs and database developers alike. Although you can't control the increasing complexity of your operating environment and the products that you use as a DBA and developer, there are a couple things you can do. First, recognize that SQL Server 2005 is too big to master completely—try to pick areas to specialize in. Skill specialization promotes deeper knowledge and provides both lasting business and career value. Second, when using the technology, always strive for the simplest possible designs in the routines, interfaces, and applications that you create. As an IT professional,it's your job to deal with complexity, but you shouldn't pass that complexity on to your end users. Following the tried and true KISS (keep it simple, stupid) principle pays off big dividends both in terms of application usability as well as long-term maintenance.