
Neal Ford
Director, Software Architect
ThoughtWorks
location_on United States
Member since 2 years
Neal Ford
Specialises In
Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with a focus on end-to-end software development and delivery. He is also the designer and developer of applications, articles, video/DVD presentations, and author and/or editor of an increasingly large number of books spanning a variety of subjects and technologies, including the most recent Presentation Patterns. His professional focus includes designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. You can email Neal at nford at thoughtworks.com.
-
keyboard_arrow_down
Keynote: Supporting Constant Change
30 Mins
Talk
Intermediate
Everything in IT changes constantly: business, technology, practices, and so on. This keynote investigates techniques that allow architects and developers to build systems that support rather than avoid change.
The only constant in IT is change: Business practices change, tools and frameworks evolve, and wholly new tools and techniques appear on a regular basis. How can developers develop and architects architect in an environment like this?
This keynote highlights techniques to support constant change, including evolutionary architecture, immutable infrastructure, coding techniques, and better ways to gather requirements. I also cover flexible governance models, evolutionary data, and adaptability. This keynote covers the breadth of modern software development, packed with advice on how to build systems that embrace rather than avoid change.
-
keyboard_arrow_down
Keynote: Supporting Constant Change
30 Mins
Talk
Intermediate
Everything in IT changes constantly: business, technology, practices, and so on. This keynote investigates techniques that allow architects and developers to build systems that support rather than avoid change.
The only constant in IT is change: Business practices change, tools and frameworks evolve, and wholly new tools and techniques appear on a regular basis. How can developers develop and architects architect in an environment like this?
This keynote highlights techniques to support constant change, including evolutionary architecture, immutable infrastructure, coding techniques, and better ways to gather requirements. I also cover flexible governance models, evolutionary data, and adaptability. This keynote covers the breadth of modern software development, packed with advice on how to build systems that embrace rather than avoid change.
-
keyboard_arrow_down
Workshop - Building Evolutionary Architectures Hands-on
480 Mins
Workshop
Intermediate
An evolutionary architecture supports incremental, guided change across multiple dimensions.
For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This workshop, based on recent book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how different parts of architecture interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.
The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This hands-on workshop provides a high-level overview of a different way to think about software architecture.
-
keyboard_arrow_down
Workshop - Building Evolutionary Architectures Hands-on
480 Mins
Workshop
Intermediate
An evolutionary architecture supports incremental, guided change across multiple dimensions.
For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This workshop, based on recent book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how different parts of architecture interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.
The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This hands-on workshop provides a high-level overview of a different way to think about software architecture.
-
keyboard_arrow_down
Building Evolutionary Architectures
50 Mins
Talk
Intermediate
An evolutionary architecture supports guided, incremental change across multiple dimensions.
For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This talk, based on my upcoming book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how architectural dimensions interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.
The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This talk illustrates how to achieve evolutionary architectures and how to retrofit existing systems to support better evolution.
-
keyboard_arrow_down
Building Evolutionary Architectures
50 Mins
Talk
Intermediate
An evolutionary architecture supports guided, incremental change across multiple dimensions.
For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This talk, based on my upcoming book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how architectural dimensions interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.
The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This talk illustrates how to achieve evolutionary architectures and how to retrofit existing systems to support better evolution.
-
keyboard_arrow_down
Building Evolutionary Architectures
50 Mins
Talk
Intermediate
An evolutionary architecture supports guided, incremental change across multiple dimensions.
For many years, software architecture was described as the “parts that are hard to change later”. But then microservices showed that if architects build evolvability into the architecture, change becomes easier. This talk, based on my upcoming book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how architectural dimensions interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.
The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability. This talk illustrates how to achieve evolutionary architectures and how to retrofit existing systems to support better evolution.
-
No more submissions exist.
-
No more submissions exist.