Index of All Content
This site contains some 797 items of content. Here is a list of all of them, sorted by their title. The tags provide a better way of exploring the content by their subject or nature.
A Cherry Picker's Guide to Doctor Who
A Guide to Threat Modelling for Developers
A Language Workbench in Action - MPS
A Proof-of-Concept of BigQuery
APIs should not be copyrightable
Agile Manifesto Author Interview by Agile Uprising
Agile Manifesto Authors' 10 year anniversary reunion
Agilists and Architects: Allies not Adversaries
An Open Letter to Pearson about SOPA/PIPA
An example of preparatory refactoring
Canadian Workshop on Scaling XP/Agile Methods
Certification Competence Correlation
Changes for the 2nd Edition of Refactoring
Components and the World of Chaos
Consumer-Driven Contracts: A Service Evolution Pattern
Continuous Delivery for Machine Learning
Continuous Integration Certification
Continuous Integration with Visual C++ and COM
Crossing Refactoring's Rubicon
DSL interview with Neal Ford and Jeffery Snover (JAOO 2008)
Data Mesh Principles and Logical Architecture
Democratic Political Technology Revolution
Developing Patterns in Enterprise Software
Don't get locked up into avoiding lock-in
Don't put data science notebooks into production
Enterprise Architects Join the Team
Enterprise Integration Patterns
Enterprise Integration Using REST
Enterprise Transforming Projects That Don't Kill the Enterprise
Eradicating Non-Determinism in Tests
Evolving a Mobile Implementation Strategy
Feature Toggles (aka Feature Flags)
Foreword to Building Evolutionary Architectures
Garmin Oregon 600 - a brief review
Goto Fail, Heartbleed, and Unit Testing Culture
Heavy Cardboard Review of Brass Birmingham
Hexagonal Architecture and Rails
Historically Discriminated Against
History Of Iterative Development
How .NET's Custom Attributes Affect Design
How do you estimate on an Agile project?
How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh
How to break a Monolith into Microservices
How to do effective video calls
How to extract a data-rich service from a monolith
How to manage a program in a product-mode organization
Huffpost live panel on "The Brogrammer Effect"
Implicit Interface Implementation
InfoQ Interview with Jez and me on Continuous Delivery
Interview with Kent Beck and Martin Fowler on Extreme Programming
Interview with Sam Newman about Microservices
Inversion of Control Containers and the Dependency Injection pattern
Is Changing Interfaces Refactoring
Is Declaration Ordering Refactoring
Is Fixing An Unknown Bug Refactoring
Is High Quality Software Worth the Cost?
Is there such a thing as Object Oriented Analysis?
It's Not Just Standing Up: Patterns for Daily Standup Meetings
Key Points from NoSQL Distilled
Keynote at Agile Development Conference
Kinesis Advantage2 - Review after three years of use
Language Workbenches and Model Driven Architecture
Language Workbenches: The Killer-App for Domain Specific Languages?
Language-Oriented Programming and Language Workbenches
Local Variables In Class Diagrams
MDA: Revenge of the Modelers or UML Utopia?
Manifesto for Agile Software Development
Meta-Introduction to Domain Specific Languages
Microservices and the First Law of Distributed Objects
Mike Mason and I talk about Feature Branching
Model Driven Software Development
Modeling with a Sense of Purpose
Modern Mocking Tools and Black Magic
Modifiability: Or is there Design in Agility
Not Just Code Monkeys (OOP 2014)
One Line of Code that Compromises Your Server
Organization Structures (Accountability)
Our Responsibility to Defeat Mass Surveillance
Our Responsibility to Defeat Mass Surveillance
Pair Programming Misconceptions
Patterns for Managing Source Code Branches
Patterns for things that change with time
Patterns of Distributed Systems
Patterns of Enterprise Application Architecture
Perspectives on DSLs with Chris Sells
Planning and Running an XP Iteration
Platform Independent Malapropism
Playlist of my talks on YouTube
Podcast with Rebecca Wirfs-Brock on Agility and Architecture
Prefer Functional Staff Organization
Presentation Domain Data Layering
Presentation Domain Separation
Privacy Protects Bothersome People
Protected Variation: The Importance of Being Closed
Public versus Published Interfaces
Race for the Galaxy and San Juan
Refactoring Code to Load a Document
Refactoring Module Dependencies
Refactoring a JavaScript video store
Refactoring code that accesses external services
Refactoring to an Adaptive Model
Refactoring with Loops and Collection Pipelines
Refactoring: Doing Design After the Program Runs
Refactoring: This class is too large
Replacing Throwing Exceptions with Notification in Validations
Restoring a deleted note in Apple's notes app
Revitalizing Enterprise Software
Ruby Rogues Podcast on Refactoring
Ruby Rogues episode discussing P of EAA
SE Radio Podcast on Agile Database Development
SE Radio Podcast on Domain-Specific Languages
Schools Of Software Development
Selecting a Mobile Implementation Strategy
Separating User Interface Code
Setting up a ruby development VM with Vagrant, Chef, and rbenv
Should social media dampen uncertain stories?
Status Report for martinfowler.com at the end 2014
Talk: A Conversation about Hexagonal Rails
Talk: Agile Essence and Fluency
Talk: Agile Manifesto: 10 years later
Talk: Agilists and Architects: Allies not Adversaries
Talk: An Enterprise Cumulonimbus?
Talk: An Introduction to Language-Oriented Programming
Talk: Architecture without Architects
Talk: Continuous Delivery (YOW 2011)
Talk: Cultivating Architecture
Talk: Does my bus look big in this?
Talk: Economics of Software Design
Talk: Evolving a Mobile Implementation Strategy
Talk: Interview: Privacy on the Internet
Talk: Making Architecture Matter
Talk: Non-Determinism and Testing
Talk: Our Responsibility to Defeat Mass Surveillance
Talk: Practices for an Agile Codebase
Talk: Retake on the Agile Manifesto
Talk: Technology in the Obama Campaign
Talk: The Evolving Panorama of Data
Talk: The Many Meanings of Event-Driven Architecture
Talk: The Yawning Crevasse of Doom"
Talk: What Does Tech Excellence Look Like?
Talk: Why Agile Software Works
Talk: Workflows of Refactoring
Talks on schemalessness, consistency in NoSQL, and economics of software design
Testing Asynchronous JavaScript
Testing Methods: The Ugly Duckling
Testing Strategies in a Microservice Architecture
The Architect Elevator — Visiting the upper floors
The Architecture of Gap Inc's SCMS
The Architecture of the Morrison's OrderPad
The Basics of Web Application Security
The Difference between Marketecture and Tarchitecture
The Elephant in the Architecture
The Evolving Role of Data in Software Development
The Future is not NoSQL but Polyglot Persistence
The Manifesto for Agile Software Development - an early article.
The Most Important Design Guideline?
The People vs. NoSQL Databases: Panel Discussion
The Rise of Test Impact Analysis
The Role of an Enterprise Architect in a Lean Enterprise
The Second Edition of "Refactoring"
The State of Agile Software in 2018
The Thrilling Adventures of Lovelace and Babbage
ThoughtWorks Technology Radar FAQ
Thoughts writing a Google App script
Three Years of Real-World Ruby
UML Diagrams for Analysis Patterns
Using a command line script to export from OmniGraffle
Using an Agile Software Process with Offshore Development
Utility Vs Strategic Dichotomy
Video: Introduction to Domain Specific Languages
What It's Like to Work at...Thoughtworks
What do you mean by “Event-Driven”?
Workflows of Refactoring (OOP 2014)
Yet Another Optimization Article