Engineering the Future of Software
16–18 October 2017: Conference & Tutorials
18–19 October 2017: Training
London, UK
 
King's Suite - Sandringham
Add Practical examples of serverless architecture to your personal schedule
10:45 Practical examples of serverless architecture Scott Davis (ThoughtWorks)
Add Apache Spark and machine learning on microservices to your personal schedule
13:15 Apache Spark and machine learning on microservices Stepan Pushkarev (hydrosphere.io)
Add Rethinking microservices with stateful streams to your personal schedule
15:50 Rethinking microservices with stateful streams Ben Stopford (Confluent)
Add Building maintainable software architecture to your personal schedule
16:50 Building maintainable software architecture Evelyn van Kelle (Software Improvement Group), Zeeger Lubsen (Software Improvement Group)
Buckingham Room - Palace Suite
Add Research-Driven Development: Improve the Software You Love While Staying Productive to your personal schedule
13:15 Research-Driven Development: Improve the Software You Love While Staying Productive Philip Winder (Winder Research and Development)
Add High-performance JavaScript web app architecture to your personal schedule
14:15 High-performance JavaScript web app architecture Pratik Patel (TripLingo)
Blenheim Room - Palace Suite
Add How do software architects find the way to user experience? With Google Maps to your personal schedule
10:45 How do software architects find the way to user experience? With Google Maps Matthias Naab (Fraunhofer IESE), Marcus Trapp (Fraunhofer IESE)
Add Frontend reactive architectures to your personal schedule
13:15 Frontend reactive architectures Luca Mezzalira (DAZN)
Add Don't ask, don't tell: The virtues of privacy by design to your personal schedule
14:15 Don't ask, don't tell: The virtues of privacy by design Eleanor McHugh (Innovative Identity Solutions)
Park Suite (St. James / Regents)
Add Architecturing and securing IoT platforms with microservices to your personal schedule
10:45 Architecturing and securing IoT platforms with microservices Drasko Draskovic (Mainflux), Janko Isidorovic (Mainflux)
Add Humane teams at home and around the world to your personal schedule
13:15 Humane teams at home and around the world Daniel Young (EngineerBetter), Emma Jane Hogbin Westby (UN-OCHA)
Add Building microservices with ASP.NET Core to your personal schedule
14:15 Building microservices with ASP.NET Core Kevin Hoffman (Capital One)
Add Beyond accidental architecture to your personal schedule
15:50 Beyond accidental architecture James Thompson (Nav)
Windsor Suite
10:45
Add Episode PWA - Return of the web to your personal schedule
14:15 Episode PWA - Return of the web Thomas Sigdestad (Enonic AS)
Add Cloud-native design patterns in practice to your personal schedule
15:50 Cloud-native design patterns in practice Michael Hausenblas (Red Hat)
16:50
King's Suite - Balmoral
Add Welcome by Brian Foster and Neal Ford to your personal schedule
King's Suite - Balmoral
9:00 Welcome by Brian Foster and Neal Ford Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Add The move toward modularity   to your personal schedule
9:05 The move toward modularity Mark  Richards  (Independent)
Add Architect as storyteller to your personal schedule
9:50 Architect as storyteller Nathaniel Schutta (Ntschutta.com)
Add Visualize, document, and explore your software architecture to your personal schedule
10:45 Visualize, document, and explore your software architecture Simon Brown (Independent Consultant)
Add Adventures in accidental human architecture to your personal schedule
13:15 Adventures in accidental human architecture Michelle Brush (Cerner Corporation)
Add Complex event flows in distributed systems to your personal schedule
15:50 Complex event flows in distributed systems Bernd Rücker (Camunda), Martin Schimak (Plexiti)
10:15 Break | Room: Monarch Suite Foyer
15:05 Break | Room: Monarch Suite Foyer
Add Lunch and Monday Topic Tables to your personal schedule
12:15 Lunch and Monday Topic Tables | Room: Fiamma Restaurant @ the Metropole
Add Monday Speed Networking to your personal schedule
8:15 Monday Speed Networking | Room: Kings Suite Foyer (Balmoral/Sandringham)
Add Sponsor Pavilion Reception to your personal schedule
17:45 Sponsor Pavilion Reception | Room: Sponsor Pavilion
10:45-12:15 (1h 30m) Distributed systems Best Practice, Case Study, Overview
Practical examples of serverless architecture
Scott Davis (ThoughtWorks)
What does a networked app look like without the server? Scott Davis explores a spectrum of environments, from platforms as a service (PaaS) to container hosting, and walks you down the evolutionary trail from microservices and backends as a service (BaaS) to canonical, truly serverless solutions like OpenWhisk and AWS Lambda—e.g., functions as a service (FaaS).
13:15-14:05 (50m) Microservices, pros and cons Best Practice, Hands-on
Apache Spark and machine learning on microservices
Stepan Pushkarev (hydrosphere.io)
Hadoop-based data platforms that power ETL jobs and machine learning pipelines are great examples of monolithic architectures that could be redesigned with microservices. Stepan Pushkarev walks you through building and deploying data processing, reporting services, training, and prediction pipelines as decoupled microservices connected with the rest of the enterprise architecture.
14:15-15:05 (50m) Integration architecture Anti-Pattern, Best Practice, Case Study, Overview
Scaling traditional integration in an event-driven architecture
Karun Japhet (ThoughtWorks)
Karun Japhet tells the tale of how one company bridged the technological divide between modern event-driven systems and traditional architectures, building a resilient platform with eventual consistency guarantees even when third parties provided no guarantees of reasonable service.
15:50-16:40 (50m) Microservices, pros and cons Best Practice
Rethinking microservices with stateful streams
Ben Stopford (Confluent)
Ben Stopford looks at two forces that sit in opposition: data systems (which focus on exposing data) and services (which focus on encapsulating it). How should we balance these two? Streaming offers a solution.
16:50-17:40 (50m) Fundamentals Best Practice
Building maintainable software architecture
Evelyn van Kelle (Software Improvement Group), Zeeger Lubsen (Software Improvement Group)
When discussing architecture, things like microservices and the Reactive Manifesto come to mind. However, the culmination and success of technical choices is strongly determined by social context. Evelyn van Kelle and Zeeger Lubsen explore the interplay between technical issues and the social aspects of working on a team, such as communication and shared understanding of assumptions and choices.
10:45-12:15 (1h 30m) Distributed systems Case Study
Platform architecture for omnichannel retail
Joel Crabb (Target)
The retail landscape for brick and mortar companies transitioning to digital is incredibly complex. Saddled with extensive legacy systems that impinge rapid development capabilities, retailers need an architecture that melds the new with the old. Joel Crabb shares a platform architecture for retailers to compete in this new world.
13:15-14:05 (50m) Fundamentals Best Practice, Overview
Research-Driven Development: Improve the Software You Love While Staying Productive
Philip Winder (Winder Research and Development)
A 50-minute presentation arguing that modern developers are in fact researchers. Given that argument, the presentation investigates what makes a good researcher and provides practical ideas to make people better researchers and therefore, better developers.
14:15-15:05 (50m) Fundamentals Best Practice, Overview
High-performance JavaScript web app architecture
Pratik Patel (TripLingo)
Single-page web apps are becoming increasingly popular, so it's important to understand the low-level and high-level aspects of the browser platform and JavaScript runtimes embedding in them. Pratik Patel dives deep into the performance aspects of JavaScript and the web browser, covering the best practices and techniques you need to tune your apps and tips for framework selection.
15:50-16:40 (50m) Distributed systems Case Study
Building next-gen edge architecture at Expedia
Rick Fast (Expedia)
As Expedia refactors its backend services into a finer-grained microservice architecture, frontend applications have begun to be split into smaller applications serving a small number of pages or content on the website. Rick Fast details how Expedia is creating an extremely configurable, self-service edge architecture for routing between frontend applications and managing bot traffic.
16:50-17:40 (50m) Integration architecture Best Practice, Case Study
How to use the Backend for Frontend (BFF) pattern in your mobile application architecture
Bulama Yusuf (Intellectual Apps)
Today, many solutions employ a mobile-first approach. In addition to handling mobile clients, there is a need to cater to web clients, sensors, and devices, but these clients have different needs and consume data in different ways. Bulama Yusuf explains how to use the Backend for Frontend (BFF) pattern to develop an API for a system that has various clients.
10:45-12:15 (1h 30m) User experience design Best Practice, Hands-on
How do software architects find the way to user experience? With Google Maps
Matthias Naab (Fraunhofer IESE), Marcus Trapp (Fraunhofer IESE)
A successful software system requires both a strong software architecture and a great user experience (UX). However, UX is surprisingly often neglected by software architects. Using Google Maps as an example, Matthias Naab and Marcus Trapp explore the architectural decisions behind excellent UX and the relationship between UX designers and software architects.
13:15-14:05 (50m) Reactive and its variants Best Practice, Theoretical
Frontend reactive architectures
Luca Mezzalira (DAZN)
Reactive programming is quickly becoming one of the hottest topics in frontend development. Luca Mezzalira offers an overview of available reactive architectures for frontend ecosystem and evaluates libraries and frameworks, such as Cycle.js, MobX and SAM, that you can use to move your current architecture to a reactive one.
14:15-15:05 (50m) Security Overview
Don't ask, don't tell: The virtues of privacy by design
Eleanor McHugh (Innovative Identity Solutions)
After years of personal data breaches and mishandled payment data, lawmakers are waking up to the importance of online privacy. Eleanor McHugh explains why, to comply with new laws, we need to put privacy at the heart of our design processes. But how do we do this when design itself is often seen as the enemy?
15:50-16:40 (50m) Optimization Best Practice
Iterative architecture: Your path to on-time delivery
Asanka Abeysinghe (WSO2)
Think big, act small. It’s easy to develop a vision, but there are often many architecture barriers along the path to achieving it. Asanka Abeysinghe explores iterative architecture—taking an iterative approach when introducing architectural changes to support business and technical requirements—and shares real-world examples of implementing architectures in iterations.
16:50-17:40 (50m) Distributed systems Overview
The computer science behind a modern distributed data store
Max Neunhöffer (ArangoDB)
What we see in the modern data store world is a race between different approaches to achieve distributed and resilient storage. The IoT, genomics, and applications for any other field also raise the demand for a stateful layer. Max Neunhöffer walks you through the components and the inner workings of modern open source databases like ArangoDB, Cassandra, Cockroach, and RethinkDB.
10:45-12:15 (1h 30m) Microservices, pros and cons Framework-Focused
Architecturing and securing IoT platforms with microservices
Drasko Draskovic (Mainflux), Janko Isidorovic (Mainflux)
IoT device management and multiprotocol messaging platforms demand specific architectural decisions and high-concurrency approaches due to the massive number of expected devices. Drasko Draskovic and Janko Isidorovic share an architecture, implementation, and testing procedures needed for creating an industry-grade IoT platform based on microservices and Docker containers.
13:15-14:05 (50m) Business skills Best Practice, Overview
Humane teams at home and around the world
Daniel Young (EngineerBetter), Emma Jane Hogbin Westby (UN-OCHA)
Software development is a social activity that favors direct human contact, yet 21st century life can often get in the way, forcing us to reconsider our communication patterns. Daniel Young and Emma Jane Hogbin Westby explore how to build and maintain happy productive teams, regardless of geography.
14:15-15:05 (50m) Microservices, pros and cons Best Practice, Framework-Focused
Building microservices with ASP.NET Core
Kevin Hoffman (Capital One)
Microsoft finally has a truly open source, cross-platform development framework that is ideal for building cloud native microservices: ASP.NET Core. Kevin Hoffman explains how to use ASP.NET Core to build immutable releases with Docker, address real-world concerns like configuration, security, and data access, and implement continuous integration and continuous delivery in the cloud.
15:50-16:40 (50m) Business skills Best Practice, Overview
Beyond accidental architecture
James Thompson (Nav)
In many cases, existing architectures represent an accident of circumstances. James Thompson explains why you should move beyond the accidental and introduce intentional architectural thinking to your team, outlining the benefits of deliberate software architecture, from helping newer engineers understand why certain boundaries exist to enabling senior engineers to improve their skills, and more.
16:50-17:40 (50m) Business skills Theoretical
Superheroes and Con-Artists: Abusing Fictional Tropes for Better Teams
Don Kelly (Macadamian Technologies)
Hiring and maintaining a software team is a tough proposition. Programmers are among the toughest craftspeople to manage and assess. To get a fresh perspective (and to relieve the boredom), I turn to the pulp fiction of my adolescence for inspiration. With a few real world examples, I will show you how I map teams from fictional universes into the software teams I would like to build.
10:45-12:15 (1h 30m)
Session
13:15-14:05 (50m) Sponsored
Choosing the right stack for real-time applications (sponsored by PubNub)
Bhavana Srinivas (PubNub)
As software continues to evolve from a request/response architecture to an always-on data stream architecture, a lot has to change. Bhavana Srinivas explores new software architectures that make it easy for companies to deliver applications that rely on streaming data and real-time messaging.
14:15-15:05 (50m) Sponsored
Episode PWA - Return of the web
Thomas Sigdestad (Enonic AS)
An engaging STAR WARS themed talk about Progressive Web Apps and how they are changing the future of application development. The talk will include live demos and code samples. We will also discuss the death of REST and why new backend technologies such as GraphQL and GRPC are better suited to fuel the needs of tomorrows clients
15:50-16:40 (50m) Sponsored
Cloud-native design patterns in practice
Michael Hausenblas (Red Hat)
Cloud-native applications—containerized apps that run in a cluster, whether in the public cloud or in a hybrid cloud setup—are going mainstream. Michael Hausenblas offers an overview of the CNCF stack, where cloud-native goes beyond 12-factor apps, and walks you through the design and implementation process for a concrete app, using Kubernetes, Prometheus, and Istio.
16:50-17:40 (50m)
Session
9:00-9:05 (5m)
Welcome by Brian Foster and Neal Ford
Brian Foster (O'Reilly Media), Neal Ford (ThoughtWorks)
Brian Foster and Neal Ford welcome you to the first day of the Software Architecture Conference.
9:05-9:20 (15m)
The move toward modularity
Mark  Richards  (Independent)
We must rethink how we approach the design and architecture of software for the future. Architectural modularity will be a cornerstone of these software applications. Mark Richards explores the history of architectural modularity, discusses current architecture patterns that support modularity, and explains why architectural modularity is so important (and necessary).
9:20-9:30 (10m)
To be Announced
To be Announced
9:30-9:45 (15m)
Apache Kafka and the rise of the streaming platform
Neha Narkhede (Confluent)
Streaming platforms have emerged a popular, new trend, but what exactly is a streaming platform? With Apache Kafka at the core, streaming platforms offer an entirely new perspective on managing the flow of data. Neha Narkhede shares examples of Kafka in action and explains why Kafka has become the central nervous system for modern digital businesses.
9:45-9:50 (5m)
To be Announced
To be Announced
9:50-10:05 (15m)
Architect as storyteller
Nathaniel Schutta (Ntschutta.com)
Nathaniel Schutta explains why an architect's job is to be a storyteller. The challenge lies in not only crafting a compelling message but doing so for wildly disparate audiences.
10:05-10:10 (5m)
To be Announced
To be Announced
10:10-10:15 (5m)
Monday Closing
Monday Closing
10:45-12:15 (1h 30m) Fundamentals Best Practice, Overview, Theoretical
Visualize, document, and explore your software architecture
Simon Brown (Independent Consultant)
It seems like many software teams have lost the ability to communicate what it is they are building, so it's no surprise that these same teams often lack technical leadership, direction, and consistency. Simon Brown shares approaches and tools for visualizing, documenting, and exploring your software architecture.
13:15-14:05 (50m) Devops Anti-Pattern, Best Practice
Adventures in accidental human architecture
Michelle Brush (Cerner Corporation)
Are you vigilantly keeping watch on your system in anticipation of altering some setting or system state? When parts of your system fail, do you perform manual cleanup? If so, humans have been injected into your architecture. Michelle Brush explores the factors that lead to systems that run on human intervention and shares best practices for detecting and removing humans from the machine.
14:15-15:05 (50m) Devops Best Practice
Continuous delivery patterns for contemporary architecture
Daniel Bryant (SpectoLabs)
It's evident that modern software architecture is evolving toward fully component-based architectures, but there are many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
15:50-16:40 (50m) Distributed systems Best Practice
Complex event flows in distributed systems
Bernd Rücker (Camunda), Martin Schimak (Plexiti)
In distributed systems, some business transactions and end-to-end processes stretch across the boundaries of individual services. While event-driven choreography leads to nicely decoupled systems, complex event chains can cause headaches. Bernd Rücker and Martin Schimak explain why transforming certain events into commands is beneficial and how to avoid losing sight of larger-scale flows.
16:50-17:40 (50m) Microservices, pros and cons Best Practice, Case Study
Application scaling over the edge: Microservice architecture in industrial applications
Fei Li (Siemens)
Driven by the need for data analytics in Industry 4.0, edge computing is gaining momentum to bring intelligence to the devices at the network’s edge. Fei Li offers insights on a microservice-based architecture that keeps analytics applications on edge devices while dynamically utilizing resources on the cloud to achieve resilience and scalability in critical industrial applications.
10:15-10:45 (30m)
Break
15:05-15:50 (45m)
Break
12:15-13:15 (1h)
Lunch and Monday Topic Tables
Join other attendees during lunch at Software Architecture to share ideas, talk about the issues of the day, and maybe solve a few. Not sure which topic to pick? Don’t worry—it's not a long-term commitment. Try two or three and settle on a different topic tomorrow.
8:15-8:45 (30m)
Monday Speed Networking
Meet us before the opening keynotes on Monday morning and get to know fellow attendees in quick, 60-second discussions.
17:45-18:45 (1h)
Sponsor Pavilion Reception
Join us in the Sponsor Pavilion after the afternoon sessions on Monday, October 16, from 17:45 to 18:45 for the Software Architecture Sponsor Pavilion Reception. Visit the exhibitors, mingle with other attendees, and enjoy great refreshments.