Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

In-Person Training
Building incremental architecture

Allen Holub (Holub Associates)
Wednesday, 31 October & Thursday, 1 November, 9:00 - 17:00
Location: Hilton Meeting Room 13-16
Average rating: ****.
(4.00, 1 rating)

Participants should plan to attend both days of this 2-day training course. To attend, you must be registered for a Platinum or Training pass; does not include access to tutorials on Wednesday.

If you still use large up-front design, you'll likely encounter problems during implementation. The solution is to build around a domain-focused metaphor that allows for incremental changes while maintaining coherence throughout. Join expert Allen Holub to learn how to develop an effective, incremental architecture that you can easily modify as new requirements emerge.

What you'll learn, and how you can apply it

By the end of this two-day training course, you'll understand:

  • How to develop effective systems and APIs around bounded contexts
  • How to define effective user stories
  • How to refine those stories and narrow them into implementable small increments
  • How to develop a domain model and a system metaphor from those stories
  • How to turn that into and architecture that evolves incrementally in a way that maintains system coherence
  • How to design incrementally as you’re actually implementing

And you'll be able to:

  • Create an architecture in incremental steps rather than 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 and TDD to develop code in an Agile way

If you still use large up-front design, you’ll likely encounter problems during implementation. The solution is to build around a domain-focused metaphor that allows for incremental changes while maintaining coherence throughout. Join expert Allen Holub to learn how to develop an effective, incremental architecture that you can easily modify as new requirements emerge.

Using a hands-on approach, Allen walks you through designing a system that can handle incremental development and then evolving it incrementally. You’ll start with a real-world problem provided by either you or your classmates and will end up with a domain-based architecture that can grow as the system evolves. The techniques you’ll learn are essential when building effective microservice APIs and in any development shop where requirements change as you’re working.

About your instructor

Photo of Allen Holub

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.

Twitter for allenholub

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)

Comments

Picture of Allen Holub
Allen Holub | PRESIDENT
19/10/2018 17:36 BST

Stéphane, Most of the in-class exercises are either on paper or using sticky notes on the wall. We will have only one programming-driven exercise, and that will be done in groups (or at least pairs—-two or more people on each machine). Frankly, the language you use for that exercise is not particularly important, though it should be an OO language. Most participants use Java or C#. You’ll need your usual IDE, with a test framework like JUnit or NUnit installed.

Stéphane BARIZIEN | SOFTWARE ARCHITECT
19/10/2018 10:28 BST

Sorry, but I really need to know what software, if any, will be needed on the laptop I am going to borrow from our IT, before that laptop gets configured on Fri Oct 26. Can you please provide that information?

Picture of Allen Holub
Allen Holub | PRESIDENT
26/09/2018 20:35 BST

Santosh, There are no prerequisites. This class is a great way to learn about design techniques that are central to Microservices, but the techniques are applicable to other implementation architectures as well. It’s really that Microservices are a good choice for the back end of a system that’s designed to be built incrementally, so there’s a natural connection between the topics. You don’t need to know anything about microservices to benefit from the class, though this class will help a lot once you do start learning about them.

Stéphane BARIZIEN | SOFTWARE ARCHITECT
24/09/2018 13:47 BST

Is a laptop required to attend this training?

Picture of Allen Holub
Allen Holub | PRESIDENT
10/07/2018 16:14 BST

No experience with microservices is required. In fact, this is a great session for learning how to put together a good microservice architecture. The techniques I cover are very microservice friendly.

Santosh Zope | SENIOR SOFTWARE DESIGNER
10/07/2018 16:00 BST

Question about training contents – what are the prerequisites to follow this training? e.g. Is hands on experience in microservices required?