GSAS (Global Software Architecture Summit) is a 2-days summit which aims to attract and connect software architecture experts from all over the world as well as all those interested in building working software to improve their skills, share knowledge, and connect.Buy Ticket
Our speakers are experts in essential practices, innovation, working software and practical solutions. Draw your inspiration and learn to become a better software architect.01
This edition is focused on software architecture metrics as they are key to the maintainability and architectural quality of a software project.02
Over 500 software architects will come together for two days to promote quality in the world of software. Don't miss the opportunity to connect with the community.03
In addition to technical talks and hands-on workshops, it will be fun! There will be snacks and beers, opportunity to meet like-minded people and generate discussions.04
Author of the book "Building Evolutionary Architectures: Support Constant Change"
Neal is Director, Software Architect, and Meme Wrangler at ThoughtWorks. Before joining ThoughtWorks, Neal was the Chief Technology Officer at The DSW Group, Ltd. He is an internationally recognized expert on software development and delivery, especially in the intersection of agile engineering techniques and software architecture. Neal authored magazine articles and authored many books including "Building Evolutionary Architectures: Support Constant Change", "Functional Thinking: Paradigm Over Syntax", "The Productive Programmer (Theory in Practice (O'Reilly)" and many others, dozens of video presentations, and spoken at hundreds of developers conferences worldwide, one of them is O'Reilly Software Architecture Conference. His topics include software architecture, continuous delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video in improving technical presentations. His primary consulting focus is the design and construction of large-scale enterprise applications.
Solutions Architect at Guardant Health
Sonya Natanzon is a solutions architect at Guardant Health, where she’s passionate about helping patients by writing software. She leads a team of engineers and engages in many cross-functional software projects. She has been a software engineer in the healthcare industry for many years and loves to share her experiences to shed more light on this very complex industry and show how rewarding the work is.
Q&A with Software Architecture Experts
Co-author of the book "Fundamentals of Software Architecture: An Engineering Approach"
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free resource website devoted to helping developers in the journey to software architect. He is the author of numerous technical books and videos from O'Reilly, including several books on Microservices, the Software Architecture Fundamentals video series, Enterprise Messaging video series, Java Message Service, 2nd Edition, and a contributing author to 97 Things Every Software Architect Should Know. Mark has a master’s degree in computer science and numerous architect and developer certifications from IBM, Sun, The Open Group, and Oracle. Mark has been a regular confe has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.
Architecture Styles and Patterns
Author of the book "Working Effectively with Legacy Code"
Michael Feathers is the Founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the past 20 years he has consulted with hundreds of organizations, supporting them with general software design issues, process change and code revitalization. He is a frequent presenter at national and international conferences. He was involved in the early Agile movement and one of his passions is helping organizations recognize the impact of their internal organization and communication on the long term viability of their software products - putting interactions in place to prevent the accumulation of technical debt and lost business opportunities. His goal is to make software development more effective and integrated with business concerns. He is the author of the books: Working Effectively with Legacy Code, Brutal Refactoring: More Working Effectively with Legacy Code. His main specialties are software development practices, TDD, Refactoring, Legacy Code Revitalization, and team dynamics.
Architecting Cloud Native Applications
Principal Architect at Red Hat
Pranjal Bathia is a Principal Architect within the PnT Operations and Infrastructure team at Red Hat. She has 12+ years of experience in designing and developing solutions and products for challenging business problems. In her current role, she has architected the Master Data Management solution for Red Hat. Before this, she has developed enterprise middleware solutions that handle millions of events on a daily basis. Pranjal holds a master's degree in Information Security from one of India's premier engineering institutes, NIT Warangal. She is a Mom of two beautiful daughters and is usually busy balancing daily chores and work. In her free time, she likes using her creative skills to recycle waste into artistic pieces, paintings, handicrafts, etc.
Principal Consultant and Interim CTO
João is a Strategic Software Delivery Consultant at Xebia. He believes software architecture is the fine balance between tradeoffs. João focuses on helping teams and organizations to make strategic decisions regarding the software; aligning teams and software to optimize the stream-based value. He believes in the power of collaboration and is a fan of visual collaboration tools. João often speaks at international conferences, one of them is O'Reilly Software Architecture Conference.
Software Architect, Consultant & CTO at FINABRO
Rene supports agile software development endeavors for more than 15 years. Having had different roles as software developer, software architect, project manager, Scrum Master, Product Owner, coach&trainer and head of software development he can rely on plenty of experience in a variety of settings and industries. Today, as the CTO of FINABRO, he is responsible for the platform & product teams to deliver systems that enable more people to save for their future retirement. He also likes to write and speak about (evolutionary) software architectures and agile development teams.
Author of the book "Sustainable Software Architecture"
Carola Lilienthal is Senior Software Architect and Managing Director at WPS - Workplace Solutions and loves to design good structured, long-living software systems. Since 2003, she and her teams are using DDD to achieve this goal. DDD and long-livingness of software architectures are the topic of many talks she has given on various conferences, one of them is O'Reilly Software Architecture Conference. She condensed her experience in the book “Sustainable Software Architecture” and translated the book "Domain-Driven Design Distilled" by Vaughn Vernon into German.
Improving Legacy Code with DDD
Author of the book "Thinking Architecturally"
Nathaniel T. Schutta is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos. Nate is a seasoned speaker regularly presenting at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace dynamic languages. Driven to rid the world of bad presentations, Nate coauthored the book Presentation Patterns with Neal Ford and Matthew McCullough. Nate recently published Thinking Architecturally available as a free download from Pivotal. Nate’s presentations cover a variety of topics ranging from software architecture, microservices, cloud computing, site reliability engineering and everything in between.
Architecting Cloud Native Applications
Author of the Book "Design It!: From Programmer to Software Architect"
Michael Keeling is a software engineer at Kiavi and the author of Design It!: From Programmer to Software Architect. Prior to Kiavi, he worked at IBM on the Watson Discovery Service and has experience with a variety of software systems including service-oriented architectures, enterprise search systems, and even combat systems. Michael is an award-winning speaker and regularly participates in the architecture and agile communities. He holds a Masters in Software Engineering from Carnegie Mell.
Software Engineer at Google
George Fairbanks is a software developer, consultant, educator, and speaker who’s been developing software since the mid-80’s and teaching software design since the late 1990’s. He’s got a Ph.D. in Software Engineering from Carnegie Mellon University, advised by David Garlan and Bill Scherlis. He has publications on frameworks and software architecture in selective academic conferences, including OOPSLA and ICSE. George has written production code for telephone switches, plugins for the Eclipse IDE, and everything for his own web dot-com startup. He’s currently a software engineer at Google. George wrote the book Just Enough Software Architecture and it’s been reviewed well. He’s also been a program committee member for the Working International Conference on Software Architecture (WICSA), the International Conference on Software Maintenance (ICSM), and the European Conference on Software Architecture (ECSA). He’s been a referee for IEEE Transactions on Software Engineering (TSE) and IEEE Software.
Software Architect and co-Founder at Apiumhub
Christian Ciceri is a software architect and co-founder at Apiumhub, a software development company known for software architecture excellence. He is also head of software architecture at VYou, a customer identity and access management solution app, and head of moderators for the Global Software Architecture Summit. He began his professional career with a specific interest in object-oriented design issues, with deep studies in code-level and architectural-level design patterns and techniques. He is a former practitioner of Agile Methodologies, particularly eXtreme Programming, with experience in practices like TDD, Continuous Integration, build pipelines and evolutionary design. He has always aimed for widespread technological knowledge; that’s why he has been exploring a huge range of technologies and architectural styles, including Java, .NET, dynamic languages, pure scripting languages, native C++ application development, classical layering, Domain-Centric, classical SOA, and Enterprise Service Buses. In his own words: “A software architect should create a working ecosystem that allows teams to have scalable, predictable and cheaper production.”
Co-founder of hello2morrow
Alexander von Zitzewitz is a serial entrepreneur in the software business and one of the founders of hello2morrow, an ISV specializing in static analysis tools that can enforce architecture and quality rules during development and maintenance of software systems. He’s worked in the industry since the early 1980s and focuses on the role of software architecture and technical quality on successful project outcomes. He moved from Germany to Massachusetts in 2008 to develop hello2morrow’s business in North America.
Eswaran Thandi has over 2.5 decades of experience in the IT industry. He has been practicing software architecture for the past 15 years, delivering strategies, roadmaps and architecture solutions for customers across the globe. He is experienced in various business domains which include Telco, Supply Chain, Retail & Investment Banking, Aviation and Finance. For the past few years, he has been focusing mainly on IT Landscape Optimization and modernization and has brought out significant business value by delivering different solutions in B2C and B2E spaces. He has also presented papers in software architecture conferences on Enterprise Architecture Framework & Governance.
Hands-on Architect and Founder at Read The Architecture
Jacqui Read is a thought leader in documentation and communication of design, outlining technical solutions to a broad variety of audiences, from C-Suite to Technical Lead; and prospective client to Developer. She is an experienced software architect, having worked in domains including FinTech and Big Data, with roles including software developer, technical architect, and solution architect. Now creating software architecture content for O'Reilly Media, she is also involved in user groups, workshops and conferences, including leading a team to win the O'Reilly Architectural Kata in Autumn 2021. Her other interests include living documentation, NoSQL, and agile practices, with a focus on learning and improvement through iteration.
Author of the books "Learning Domain-Driven Design" and "Balancing Coupling in Software Design"
Vladik (Vlad) Khononov is a software engineer with over 15 years of industry experience, during which he has worked for companies large and small in roles ranging from webmaster to chief architect. Vlad is a long-time proponent of domain-driven design and evolutionary architecture and currently helps companies make sense of their business domains, untangle monoliths, and tackle complex architectural challenges. Vlad maintains an active media career as a public speaker and blogger. He has spoken at numerous industry conferences — including O’Reilly Software Architecture, DDD Europe, and NDC — about subjects such as domain-driven design, microservices, and software architecture in general. In addition to his media work, he co-organizes the Domain-Driven Design Israel and Tel Aviv Software Architecture meetup groups.
Q&A with Software Architecture Experts
To grow the software architecture community, focusing on essential practices, innovation, working software and practical solutions for current issues.
How to architects know the weight limits of a bridge?” asked Devon. “Well,” said Logan, “they continue to drive heavier and heavier trucks over the bridge until it collapses. Then they measure the weight of the last truck and post that weight on the rebuilt bridge”. “Oh, I guess that makes sense.” said Devon.
Software developers continuously test their source code using unit and functional tests to ensure the code works properly and contains no defects. But how does one test a software architecture? It turns out that testing a software architecture is just as important as testing your source code. In this session Mark Richards talks about what it means to test a software architecture. Mark starts out the session by discussing what things to test to ensure the architecture is structurally sound and that it’s meeting the designated goals of the business. He then shows how to construct various unit tests for software architecture using custom techniques as well as through common open source tools.
A question we have all heard is: “How do you measure success?” Those metrics can look different for different industries or professions, but they are rooted in hard measurable outcomes: larger revenue for a bank, bigger market share for an automaker, reduced readmission rate for a hospital chain. Those numbers are easy to put on a chart in an executive presentation. But what about software architecture? Measuring success of software architecture is difficult because software architecture is all about long-term effects, positive or negative. Software architecture metrics are hard to define and even harder to evaluate objectively. As soon as a metric becomes a goal, it ceases to be a good metric (think “number of lines of code”). And we know all too well that software architecture is subject to frequent changes - no other industry moves as fast. However, we still need to be able to set goal posts, measure outcomes and present them to executives - in a practical way.
As Eliyahu Goldratt famously said, “Tell me how you measure me, and I will tell you how I will behave”. Focusing on low-level metrics can do more harm than good. A metric’s value becomes the end goal, rather than achieving the desired business outcomes. To fix this, let’s reverse the process. We are going to start by defining the business outcomes we want to achieve. The outcomes we are going to focus on are the ability to run a cost-effective system and ability to evolve it quickly and easily. Foundational to those objectives is the capacity to manage the complexity of the system. In this talk, we are going to explore several simple and pragmatic approaches to architectural metrics that support the required business outcomes.
Software metrics can be used effectively to judge the maintainability and architectural quality of a code base. Even more importantly, they can be used as canaries in a coal mine to warn early about dangerous accumulations of architectural and technical debt. Alexander von Zitzewitz introduces some key metrics that every architect should know (e.g., average component dependency, propagation cost, structural debt index, and more). You will learn how to use these metrics effectively within a metric-based feedback loop, so that your code never end up as a big ball of mud.
"Change is the only constant in life.". You might recognise it. The saying is from Heraclitus, a Greek philosopher. The organisation you work with is changing. You don't understand why, nor your manager can explain it. Our brains like routine, and it feels like we control our lives. But more than we would like, we are faced with change. Organisations constantly evolve, sometimes with intention, and other times grab an opportunity. Often, those changes have side effects: they can affect people practices, teams mission and organisations processes. Is there a way where we can be prepared for such changes? From my experience, yes, we can be prepared for those changes. And we can use one of the oldest human skills: visualisations. To be more specific, we can combine different visualisations to discuss, reason and communicate change. It doesn't matter your role in an organisation; it is possible to use visualisations to discuss other points of view and the different options and trade-offs. This hands-on will take you through evolving an organisation by using different visualisations such as Wardley Maps, Context Maps, and Team Topologies. We will start with a Wardley Map to create the context for everyone and have a series of exercises to evolve the organisation using other visualisations such as Context Map and Team Topologies. By doing it, you will be creating and evolving the sociotechnical architecture of the organisation. At the end of the session, you will have experienced the different visualisations and combined them. More importantly, how to visualise change and tame the brain.
Software companies want to be good at software design but the topic is complex and deadlines are pressing. Michael and George have had success at various companies and can show you how to replicate that success at yours. We will describe activities, formats, culture changes, and outrageous obstacles. We will prepare you for a difficult journey by showing you how to prepare and how to respond. The session is a mixture of small lectures, group exercises, story telling, and group discussions.
Rich Hickey once said programmers know the benefits of everything and the trade offs of nothing…an approach that can lead a project down a path of frustrated developers and unhappy customers. As architects though, we must consider the trade offs of every new library, language, pattern or approach and quickly make decisions often with incomplete information. How should we think about the inevitable technology choices we have to make on a project? How do we balance competing agendas? How do we keep our team happy and excited without chasing every new thing that someone finds on the inner webs? As architects it is our responsibility to effectively guide our teams on the technology journey. In this talk I will outline the importance of trade offs, how we can analyze new technologies and how we can effectively capture the inevitable architectural decisions we will make. I will also explore the value of fitness functions as a way of ensuring the decisions we make are actually reflected in the code base.
Modern software is developed iteratively, enhanced actively and released often to production. By following the ideas of evolutionary architectures one can evolve architectures incrementally and support a modern software lifecycle without the need of big bang changes. Fitness Functions provide guidance by giving objective measures of "how good" the last incremental architecture modification was.
The talk will be about a lightweight tool called Responsibility Indices that can be used to align teams with long term architectural vision and record working information about the systems they tend.
In the last 20 years, a lot of time and money has gone into software systems that have been implemented in modern programming languages such as Java, C#, PHP etc. The focus in the development projects was often on the quick implementation of features and not on the quality of the software architecture. This practice has led to an increasing amount of technical debt – which is unnecessary complexity that cost extra money in maintenance – accumulating over time. Today these systems have to be called legacy systems, because their maintenance and expansion is expensive, tedious and unstable. This talk discusses how to measure the amount of technical debt aka unnecessary complexity with the modularity maturity index. The modularity maturity index (MMI) of a code base or the different applications in an IT landscape gives management and teams a guideline for deciding which software systems need to be refactored, which ones should be replaced, and which ones don't need to worry about. The goal is to find out which technical debt should be resolved so that the architecture becomes sustainable and maintenance less expensive.
Many people think of software architecture as a craft, but I understand it more as a science. Scientists tend to measure things as a basis for further reasoning. Even when you can’t get precise numbers, mathematical approaches to software architecture depend on measurable quantities, like metrics and indicators. Sometimes such approaches depend on which metrics make sense and which do not in a given situation. How can you make sure that your KPIs are providing the information your organization needs to make decisions about how to invest time and effort? Getting to great metrics requires a well-assembled system and a whole lot of work. But the truth is, you might not be working with a well-assembled system, or perhaps your organization has yet to put in the effort it takes to get all the way to fantastic metrics based on DevOps best practices. DevOps is a cultural shift; it’s easy to misunderstand the concept, and companies don’t always commit to adopting best practices fully. Even when that’s the goal, learning and implementing them is a process that takes time. Reality is not always a best-case scenario, and standard metrics do not always reflect the real problem.
Reusable communication design patterns. Communicating software architecture is a crucial aspect of being a successful software architect, however, this is a skill you don't get taught. Learning by trial and error is not ideal, so how do you create inclusive diagrams and visuals that successfully communicate to your audience? Apply communication design patterns and recognise antipatterns. The purpose of a diagram is to successfully communicate with the audience, which sounds deceptively simple. Communication design patterns can be applied to guide you towards this ultimate goal of successful communication, and towards maximum inclusion for your audience. In this session, learn from a hands-on solution architect - and thought leader in communication design and documentation - how to tailor your visuals to your audience, choose the most appropriate standards (or not) and level of detail, and apply patterns to improve accessibility for all audiences.
Building an architecture of the system is a tedious task, especially in large projects. The success of the system is dependent on the quality of the proposed architecture. Hence it is important to have quantitative measures to evaluate the quality of the proposed architecture. Traditionally metrics like availability, reliability, security, adaptability, and risk management are used to measure the quality of architecture. Most of these attributes are either qualitative or become quantitative only after the implementation of the given architecture. Finding the true value of the architecture without quantitative data is inefficient and makes it hard for organizations to plan effectively. In this session, I would like to talk about some simple methods we can apply to capture baseline quantitative data for certain architectural attributes and make effective decisions about the quality of the proposed architecture.
1/05/2022 - 31/05/2022
Group (+ 3 people): 355€ + VATNot Available
*Price does not include VAT
1/06/2022 - 30/06/2022
Group (+ 3 people): 375€ + VATNot Available
*Price does not include VAT
Get Software Architecture Metrics Book by Christian Ciceri, Dave Farley, Neal Ford, Andrew Harmel-Law, Michael Keeling, Carola Lilienthal, João Rosa, Alexander von Zitzewitz, Rene Weiß, Eoin Woods.Get Book
Plaça de Willy Brandt, 11-14, 08019 Barcelona, Spain
The Barcelona International Convention Centre (CCIB) is easily accessible by public transport, just 7 minutes from bus and train stations.
Car/Taxi: 38 min. ride from the Airport
Tram: Fòrum (T4/T6)
Metro: El Maresme|Fòrum (L4)