.NET Brings the Architect to the Fore
As .NET helps advance Microsoft technologies in the enterprise, the role of the software architect becomes increasingly important.
by Eric Lynn
April 2003 Issue
Recently, while attending JavaOne in San Francisco, Calif., I was struck by the number of attendees who identified themselves as software architects. In enterprises that focus on Microsoft development technologies, on the other hand, the position seems to have less prominence or isn't represented at all. I believe this isn't a coincidence, but I'm convinced that with the wide adoption of .NET, the role of software architects in Microsoft-focused enterprises is about to change. As I discuss the role of the software architect in the enterprise, I'll explain why the nature of .NET makes this role critical to the success of enterprise-level development efforts. I'll also cover how Microsoft's recognition of the importance of the software architect in .NET development has led it to offer new support resources for architects. With a proper understanding of the role an architect plays in the enterprise, you'll be better equipped to leverage their skills in your development efforts.
First, let me offer my definition of an architect. All too often development organizations create the architect position as a lead developer with a certain number of years of experience. Marc and Laura Sewell, authors of The Software Architect's Profession, write this practice "is akin to a talented plumber receiving promotions for his or her fine plumbing work until, finally, being promoted to an architect." An architect is much more than an effective and experienced technologist. He or she will likely have development and engineering experience and might even come from the ranks of senior or lead developers, but the roles he or she has played and the skills the position requires are quite distinct.
To explain the differences, I'll review three functions of the architect. First, an architect sees the world in term of forces to be balanced. Security is critical, but it must be balanced with ease-of-use. Performance can't be ignored, but the fastest design might be impossible to maintain or too difficult to develop to meet time-to-market requirements. An effective architect thinks creatively within the context of his experience to discover a range of solutions that balance the system of forces that apply to the target solution. He's aware of the standard forces, such as maintainability, performance, security, supportability, stability, scalability, and time to market. And he searches for the unique forces that apply to the project at hand.
Back to top
|