Martin Fowler posted a great article today on his bliki commenting on how in most cases a person with good design skills is more valuable to a team than a person with good programming platform skills. I read this article and even as a programmer, I completely agree with him. In my experience, finding someone with the ability to understand application design principles and also be able to apply them is often difficult. Don’t get me wrong, sometimes finding a competent developer is a challenge as well, but comparably easier than finding a good designer.
Another point in the article that grabbed my attention was his comment about a common risk in software projects, and that is the communication (or lack thereof) between the business users and the development team. Having an individual who can talk with the business users is valuable. Often time development teams are full of introverted individuals with red staplers on their desks who management doesn’t really want being the spokesman for the development team when having to meet with the clients. Having an individual who understands the problem domain and can communicate with the business users about the PD is extremely important.
I highly recommend the article to anyone working in a development team; even if you already have team members filling these roles.