
Martin Fowler
As this site has developed into a respected platform on software development, I've edited and published articles by my colleagues, both Thoughtworkers and others, to help useful writing reach a wider audience. photo: Christopher Ferguson Martin Fowler A …
About Martin Fowler
I am Martin Fowler: an author, speaker… essentially a loud-mouthed pundit on the topic of software development, primarily for Enterprise Applications. I work for Thoughtworks, a software delivery company, where I have the exceedingly inappropriate title of “Chief Scientist”.
Software Architecture Guide - Martin Fowler
Aug 1, 2019 · Software Architecture is the important aspects of a software system's internal design, usually its major components and aspects that are hard to change.
My Books - Martin Fowler
Patterns of Enterprise Application Architecture by Martin Fowler, with Dave Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford 2002 read more
Agile Software Guide - Martin Fowler
by Martin Fowler 28 Jul 2011 Read more… bliki agile continuous delivery productivity process theory
Microservices Guide - Martin Fowler
Aug 21, 2019 · These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. -- James Lewis and Martin Fowler (2014)
Richardson Maturity Model - Martin Fowler
Mar 18, 2010 · Leonard Richardson's model for understanding a RESTful architecture as steps in a maturity model. Levels are (1) resources, (2) HTTP verbs and return codes, and (3) hypertext controls.
Software Testing Guide - Martin Fowler
May 1, 2014 · Testing should be an integral part of programming, with automated tests providing confidence of correctness.
Continuous Integration - Martin Fowler
Jan 18, 2024 · Continuous Integration is a software development practice where each member of a team merges their changes into a codebase together with their colleagues changes at least daily. Each of these integrations is verified by an automated build (including test) to detect integration errors as quickly as possible. Teams find that this approach reduces the risk of delivery delays, reduces the effort ...
Emerging Patterns in Building GenAI Products - martinfowler.com
2 days ago · As we move software products using generative AI technology from proof-of-concepts into production systems, we are uncovering a range of common patterns. Evals play a central role in ensuring that these non-deterministic systems are operating within sensible boundaries. Large Language Models need enhancement to provide information beyond a generic and static training set. Most of the time we ...