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.