Martin fowler is one of the fathers of software architecture. This website has great collection of his articles
Popular:
| The New Methodology | Is Design Dead? | Continuous Integration | Inversion of Control Containers and the Dependency Injection pattern |
Enterprise Application Architecture:
| Consumer-Driven Contracts: A Service Evolution Pattern | Mocks Aren't Stubs | Richardson Maturity Model | Inversion of Control Containers and the Dependency Injection pattern | Developing Patterns in Enterprise Software | Errant Architectures | Domain Logic and SQL | Evolutionary Database Design | Agilists and Architects: Allies not Adversaries |
Language Workbenches:
| Language Workbenches: The Killer-App for Domain Specific Languages? | Generating Code for DSLs | Language Workbenches and Model Driven Architecture | A Language Workbench in Action - MPS. | Video: Introduction to Domain Specific Languages | Meta-Introduction to Domain Specific Languages |
Conference Talks and interviews:
| Video: Introduction to Domain Specific Languages | Keynote for RailsConf 2006 | Keeping Software Soft | Language-Oriented Programming and Language Workbenches | Modifiability: Or is there Design in Agility | The Yawning Crevasse of Doom | Does My Bus Look Big in This? | No Silver Bullet Reloaded | Forging a New Alliance | Meta-Introduction to Domain Specific Languages | Perspectives on DSLs with Chris Sells | DSL interview with Neal Ford and Jeffery Snover (JAOO 2008) | Democratic Political Technology Revolution | Google I/O Talk on Cloud | Agilists and Architects: Allies not Adversaries | Revitalizing Enterprise Software | Three Years of Real-World Ruby | Pourquoi, pas comment | Agile Brazil Interview |
Analysis Patterns:
| New Analysis Patterns | Patterns for things that change with time | Quantity | Range | Accounting Patterns | Organization Structures (Accountability) | Dealing With Roles | Specification | Recurring Event in Calendars | Dealing with Properties | Application Facades | UML Diagrams |
XP and Agile Methods:
| It's Not Just Standing Up: Patterns for Daily Stand-up Meetings | The New Methodology | Using an Agile Software Process with Offshore Development | Canadian Workshop on Scaling XP/Agile Methods | Evolutionary Database Design | The XP 2002 Conference | Writing The Agile Manifesto | The Manifesto for Agile Software Development | Planning and Running an XP Iteration | Variations on a Theme of XP | Keeping Software Soft | Is Design Dead? | The XP 2000 Conference | Continuous Integration | Continuous Integration with Visual C++ and COM | Keeping Software Soft | The Almighty Thud |
Columns for Distributed Computing:
| Keeping Software Soft | Use and Abuse Cases | Is there such a thing as Object Oriented Analysis? | Testing Methods: The Ugly Duckling | What's a Model For? | Refactoring: Doing Design After the Program Runs | The Almighty Thud | How Standard is Standard UML? |
Refactoring:
| Refactoring Home Page | Crossing Refactoring's Rubicon |
Supplements for UML Distilled:
| Errata for UML Distilled | Defining the UML Kernel | Changes in UML Versions | Application Facades |
Columns for IEEE Software:
| Enterprise Architects Join the Team | Design to Accommodate Change | Your Coffee Shop Does Not Use Two-Phase Commit | Before Clarity | Fail Fast | The Most Important Design Guideline? | MDA: Revenge of the Modelers or UML Utopia? | Continuous Design | Data Access Routines | Who Needs an Architect? | The Difference between Marketecture and Tarchitecture | Components and the World of Chaos | Patterns | When to Make a Type | Using Metadata | How .NET's Custom Attributes Affect Design | Yet Another Optimization Article | Public versus Published Interfaces | Avoiding Repetition | Separating User Interface Code | The Importance of Being Closed | Reducing Coupling | To Be Explicit | The Test Bus Imperative | Module Assembly | Modeling with a Sense of Purpose |
Others:
| Ruby at ThoughtWorks | Writing Software Patterns | Using the Rake Build Language | Interview with Artima.com | Reflection vs Code Generation | Enterprise Transforming Projects That Don't Kill the Enterprise | Writing with XML | Software and Obama's Victory |