Martin Fowler

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other people named Martin Fowler, see Martin Fowler (disambiguation).
Martin Fowler
Martin Fowler (2008).jpg
Born 1963 (age 51–52)
Walsall, England
Residence Melrose, Massachusetts
Alma mater University College London
Occupation Software engineer, author, public speaker
Employer ThoughtWorks

Martin Fowler (born 1963) is a British software engineer, author and international public speaker on software development, specializing in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

He introduced Presentation Model (PM), an architectural pattern.


Fowler was born and grew up in Walsall, England, where he went to Queen Mary's Grammar School for his secondary education. He graduated at University College London in 1986. In 1994 he moved to the United States, where he lives near Boston, Massachusetts in the suburb of Melrose.[1]

Fowler started working with software in the early 1980s. Out of college in 1986 he started working in software development for Coopers & Lybrand until 1991.[2] In 2000 he joined ThoughtWorks, a systems integration and consulting company,[1] where he currently serves as Chief Scientist.[3]

Fowler has written eight books on the topic of software development (see Publications). He is a member of the Agile Alliance and helped create the Manifesto for Agile Software Development in 2001, along with more than 15 co-authors.[4] He maintains a bliki, a mix of blog and wiki. He popularized the term Dependency Injection as a form of Inversion of Control.[5]


  • 1996. Analysis Patterns: Reusable Object Models. Addison-Wesley. ISBN 0-201-89542-0.
  • 1997. UML Distilled: A Brief Guide to the Standard Object Modeling Language.
  • 1999. Refactoring: Improving the Design of Existing Code, With Kent Beck, John Brant, William Opdyke, and Don Roberts (June 1999). Addison-Wesley. ISBN 0-201-48567-2.
  • 2000. Planning Extreme Programming. With Kent Beck. Addison-Wesley. ISBN 0-201-71091-9.
  • 2002. Patterns of Enterprise Application Architecture. With David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee, and Randy Stafford. Addison-Wesley. ISBN 0-321-12742-0.
  • 2010. Domain-Specific Languages. With Rebecca Parsons. Addison-Wesley. ISBN 978-0-321-71294-3.
  • 2012. NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence. With Pramod Sadalage. Addison-Wesley. ISBN 978-0-321-82662-6.
  • 2013. Refactoring: Ruby Edition. With Kent Beck, Shane Harvie, and Jay Fields. Addison-Wesley. ISBN 978-0-321-98413-5.


  1. ^ a b Martin Fowler at Accessdate Nov 15, 2012.
  2. ^ James A. Highsmitht (2002) Agile Software Development Ecosystems: Problems, Practices, and Principles. p.133
  3. ^ ThoughtWorks website, About us. Retrieved on September 26, 2014.
  4. ^ Manifesto for Agile Software Development. Retrieved 2012-12-10.
  5. ^ Martin Fowler (2004) "Inversion of Control Containers and the Dependency Injection pattern". Retrieved 2012-11-15.

External links[edit]