Technology1 min read

Martin Fowler

By · Published by Everything Blog

In short

Agile techniques that arose in the 1990s emphasize collaborative, flexible planning over rigid procedural models. To keep up with deployment demands, teams rely on automated testing and small refactoring changes to update systems safely without shifting observable behaviors. Complex modern projects also face significant data management hurdles, from handling NoSQL systems to organizing large enterprise datasets. Industry expert Martin Fowler has chronicled these approaches across seven foundational books, including *Refactoring* and *UML Distilled*.

Key points

  • Enduring technical practices provide stability even as specific development technologies…: Enduring technical practices provide stability even as specific development technologies continuously change.
  • Effective system architectures require continuous evolutionary refinement rather than ini…: Effective system architectures require continuous evolutionary refinement rather than initial attempts at perfection.
  • Complex enterprise architectures require robust techniques to handle NoSQL databases and…: Complex enterprise architectures require robust techniques to handle NoSQL databases and disorganized data sets.

Sources checked by our analysis pipeline: 1

A website on building software effectively

If there's a theme that runs through my work and writing on this site,

it's the interplay between the shift towards agile thinking and the

technical patterns and practices that make agile software development

practical. While specifics of technology change rapidly in our

profession, fundamental practices and patterns are more stable. So

writing about these allows me to have articles on this site that are

several years old but still as relevant as when they were written.

As software becomes more critical to modern business, software needs to

be able to react quickly to changes, allowing new features to be

conceived, developed and put into production rapidly. The techniques of

agile software development began in the 1990s

and became steadily more popular in the last decade. They focus on a

flexible approach to planning, which allows software products to change

direction as the users' needs change and as product managers learn more

about how to make their users effective. While widely accepted now, agile

approaches are not easy, requiring significant skills for a team,…

Technology