Software Architecture Resources

This page contains selected resources on software architecture and the role of the architect. It is not meant to be a comprehensive list, rather, it is a list of resources I have found useful.

You can download my presentation on Pragmatic Software Architecture and the Role of the Architect here

General Architecture Sites

Bredemeyer Resources for Software Architects This is an excellent site with lots of links and resources on the process of creating architecture and the role of the architect. I attended their workshops on Software Architecture and Role of the Architect and definitely recommend their training. It gave me an entirely new perspective on architecture and the role of the architect.
Carnegie Mellon Software Engineering Institute (SEI) References on architecture from a more classic perspective (not as agile). They also offer training.
InfoQ Architecture InfoQ has a number of communities, including an Architecture community. The site has frequent articles relating to architecture.

Pattern Sites

Design Patterns for .NET This site does talk about design patterns, but also has information on general architecture topics. It also talks about .NET specific technical issues such as WCF.

Microsoft

Resource Center Landing page for all things architectural at Microsoft.
SkyScrapr Resources for architects including a number of articles on mostly technical topics. Not much on business realted topics here.
Architecture Journal Microsoft's quarterly publication on architecture. It is available via PDF, or you can apply to get a free subscription of the print version.
ArcReady Quarterly archicture presentations in various cities around the country including Cincinnati.
ARCast The Microsoft Channel 9 show hosted by Ron Jacobs that discusses topics of interest to architects.
Software Architecture: Past, Present and Future An article on Microsoft's SkyScrapr site discussing software architecture. It describes what "software architecture used to be" as including patterns and frameworks (which apparently don't interest architects any longer). What architects are concerned with today are Federated Identity and Access, Federated Data, Business Processes, Service-oriented Components, and Integrated User Experience, which quite interestingly, map to the topics discussed in the Microsoft Foundations of Solution Architecture.

There is no mention of business, which apparently has nothing to do with Architecture. This demonstrates an unfortunate trend among the Microsoft architecture material that seems to define architecture as why you should be using the latest Microsoft products.

Architect Types Video Entertaining video form Microsoft on the three different types of architects.

Agile

Agile Architecture Scott Ambler's take on architecture as part of an agile process.
Being an Agile Architect Sam Gentile's view on being an agile architect.
Making Agile Methods and Enterprise Architecture Play Nice InfoQ article on a report from the Cutter Consortium which discusses whether Enterprise Architecture and Agile methods are compatible. The entire report is available for free from the Cutter Consortium.

Role of the Architect

What would you say you do here? Jeremy Miller writing on job titles, especially the architectural ones.
An Overly Long Guide to Being a Software Architect For being a top 11 tips, it is a bit long, but I do like this blog post from David Ing.
Hard Questions About Architects Ted Neward's blog post reacting to an email he received from a blog reader on an experience interviewing for an architect position.

Associations

International Association of Software Architects (IASA) Seems to be the most active organization of software architects. IASA is creating a library documents with the skills required of architects.
World Wide Institute of Software Architects (WWISA) This organization has been around longer, but seems to be dormant.

Books

Patterns of Enterprise Application Architecture

This is the first patterns book I would recommend for business developers. Unlike the original Gang of Four patterns, these patterns are one you will likely recognize as part of your business software development. It provides a great catalog of these patterns and will help you think about your current development in new ways. Highly recommended.
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (The Addison-Wesley Signature Series)

With SOA everywhere now, it's important to understand interaction patterns of software components exchanging messages. This is an excellent reference on these topics. It includes many examples using C# and MSMQ.
Software Architecture in Practice (2nd Edition) (The SEI Series in Software Engineering)

This is more of a textbook reference from the people at the Carnegie Mellon Software Engineering Institute. It contains many case studies demonstrating the principles and practices they identify at work.
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

This is also a textbook type reference, but is written from the perspective of working architects. It seems more applicable to the real world than Software Architecture in Practice. It describes a method of describing architecture using views and perspectives. By their definition, a view is "a representation of one or more structural aspects of an architecture that illustrates how the architecture addresses one or more concerns held by one or more of its stakeholders." A perspective is "a collection of activities, tactics, and guidelines that are used to ensure that a system exhibits a particular set of related quality properties that require consideration across a number of the system's architectural views."

The Software Systems Architecture web site can be viewed here.