Building evolutionary and incremental architectures (Day 2)





Who is this presentation for?
- You're a developer, architect, product manager, or owner.
Level
Description
Outline
Characteristics of an Agile architecture
Conway’s law: How agility and architecture interact
Validating your architecture with fitness functions
Domain modeling
- DDD basics: Bounded contexts, aggregates, entities
- Agents (UI)
Working with stories
- User goals
- The system metaphor
- Creating stories
- Narrowing and splitting
Hands-on exercise: Problem statements and story development
Orchestrated (declarative) systems
Design by coding
- TDD
- BDD: Given, when, then
- DbC: Demo
- A quick introduction to mob programming
Hands-on exercise: Creating declarative APIs with DbC
Choreographed systems: Reactive architectures
Event storming
- Demo
- Hands-on exercise: Creating orchestrated or reactive systems
Adaptive architectural patterns
- Structured monolith
- Microkernel
- Message based
- Microservices
Prerequisite knowledge
- A basic understanding of computer systems
What you'll learn
By the end of this two-day training course, you'll understand:
- How to build architectures that support constant change from business and disruptive technologies
- How architecture aligns with company structure and processes
- How to analyze business problems to discover architectural characteristics
- How to define and refine effective user stories and extract architectural elements from them
- How to develop a domain-focused architecture that stays coherent in the face of change
And you'll be able to:
- Choose appropriate architectural patterns based on business requirements and evolvability
- Create an architecture in incremental steps as you discover new requirements rather than as a single up-front process
- Optimize that architecture so that it can evolve over time to accommodate changing requirements
- Create and size high-quality user stories and build an architecture around these stories
- Use mob programming, domain-driven design (DDD), event storming, design by coding

Allen Holub
Holub Associates
Allen Holub is one of the country’s foremost software architects and Agile-transformation consultants. Allen speaks internationally about all things Agile and software architecture and provides in-house training and consulting in those areas. He’s also an expert-level programmer, specializing in Swift, Java, and Web 2.0 applications and microservices. Allen can build highly dynamic websites (along the lines of Gmail) from front to back: both the frontend code—JavaScript, JQuery, Angular, HTML5, and CSS3—that runs in the browser and the backend code—Java, PHP, MySQL, Ruby, Mongo, C++, ZeroMQ, and EC2—that runs either on your server or in the cloud. Allen is widely published. His works include 10 books, hundreds of articles in publications ranging from Dr. Dobb’s Journal to IBM DeveloperWorks, and video classes for Agilitry.com (Agility with Allen), Pluralsight (Swift in Depth, Picturing Architecture, Object-Oriented Design), O’Reilly (Design Patterns in the Real World), and Lynda/LinkedIn.
Gold Sponsor
Silver Sponsors
Exhibitor
Innovator
Supporter
Diversity & Inclusion Sponsor
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
Become a sponsor
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires