The Software Architecture Gathering is the international conference highlight for all those working on solution structures in IT projects: primarily software architects, developers and professionals in quality assurance, but also system analysts who want to communicate better with their developers.
The conference is presented by the International Software Architecture Qualification Board (iSAQB®) in cooperation with Skills Matter. A selection of the best-known international experts will share their practical knowledge on the most important topics in state-of-the-art software architecture.
For full details on this event, please visit the SAG website.
Excited? Share it!
Day 1: Keynotes and Sessions: Day 1
The Leading International Conference for Software Architecture
Track | Room 1 | Room 2 | Room 3 | Room 4 | Room 5 | |||||||||||||||
08:15
Invalid Time
Invalid Time
|
KEYNOTE
We have been building software systems for over sixty years, and they continue to grow in size and complexity. Not only do we have legacy mainframe systems, but systems in object-oriented programming languages have grown so rapidly and uncontrollably over the last twenty years that many of them have become large obscure tangles as well. All this legacy code drives up development costs and makes us reluctant to touch these old software systems. Is this inevitable? Or is there also good legacy? And what can we do to get our Legacy in good shape and keep it that way?
architecture
legacy-systems
About the speaker...Carola LilienthalDr. Carola Lilienthal is software architect and managing director at WPS — Workplace Solutions GmbH, and has been developing software architectures according to the principles of Domain-Driven Design with her teams for more than 10 years. She is author of the book "Sustainable Software Architecture" and in 2017 she translated the book "Domain-Driven Design Distilled" by Vaughn Vernon into German. |
|||||||||||||||||||
09:15
Invalid Time
Invalid Time
|
We see a lot of confusion regarding architectural work these days. When? How much? Who? Tons of heated debates and nobody asking the essential question: Why? But without asking Why, all the other questions are futile. Thus, we will start this session by asking: Why do we need architectural work? Which problem(s) does it address? After finding some surprising answers, we will move on and ask ourselves: How can we do it best? What are the key activities of architectural work? Finally, we will ask ourselves: When should we do what and how much, depending on the given context? After this session, we will have created a lot clearer picture what architectural work actually is about – without the usual fuzz, stripped down to its pure essence.
architecture
software-architecture
About the speaker...Uwe FriedrichsenUwe Friedrichsen travels the IT world for many years. As CTO of codecentric AG he is always in search of innovative ideas and concepts. His current focus areas are (distributed) system design, sustainable IT, IT for humans and the IT of (the day after) tomorrow. |
Software systems often live for many years or even decades, are carefully maintained and patched again and again. But at some point the UI looks dusty, changes take forever and you want to benefit from the possibilities of modern technologies. The decision to modernize the system is made. And then comes the simplest requirement in the world, which we’ve all heard before: ‘But the new system must be able to do the same things as the old one!’ It is not surprising that we hear this requirement so often: it is simple, it can be formulated even if you know the system only superficially, and it seems to be precise. In fact, this requirement is quite nonsensical. In this talk, we will explain why the simplest requirement in the world is nonsense and provide experience, guidance, and best practices for modernization projects where the goal is to design the target state and plan the path of modernization.
architecture
software-modernisation
About the speakers...Dominik RostDominik Rost is a software architect and leads the »Architecture-Centric Engineering (ACE)« department at Fraunhofer IESE. He supports customers from various domains in designing, documenting and evaluating their software architectures, in particular with focus on system modernization and establishing digital ecosystems. About his experiences in these projects he likes to speak at conferences. Besides this, he leads the software architecture seminar at Fraunhofer IESE and helps practitioners to improve their capabilities in this area. Matthias NaabMatthias Naab is a software architect at Fraunhofer IESE and has been heading the Digital Ecosystem Engineering division since 2020. Since 2010, he has been responsible for the further development of architecture methods and for consulting customers from industry. He has evaluated architectures, improved systems, and co-designed innovative systems in numerous projects in a wide variety of industries. Matthias Naab regularly lectures on software architecture and digital ecosystems. |
In our audits we identify major challenges for the future-proofness of software systems. Our customers range from public administration to DAX companies, startups and the church. In this talk we share our experiences from analyzing more than 100 systems during the last ten years. The challenges include inscrutable code organization, vintage technology stacks, architectures without modularization and customer variants created by copy and paste. What these challenges have in common is that they do not simply drop out of a tool. Instead, each challenge is preceded by collecting evidence, tying together manual inspection and automated analysis, applying appropriate visualizations and making the right conclusions. Hence, we do not only share the final results, but focus on the methodology and individual steps we made to identify the challenges. We hope this will be inspiration for other architects to identify challenges in their own systems.
architecture
vizualisation
automated-analysis
About the speaker...Nils GödeNils Göde holds a PhD in software engineering and is currently working as an expert for software quality. He analyzes and evaluates the quality of software and supports teams in establishing continuous quality improvement as an integral part of the development process. He regularly shares his experience in presentations. |
When one’s app is challenged with poor performances, it’s easy to set up a cache in front of one’s SQL database. It doesn’t fix the root cause (e.g. bad schema design, bad SQL query, etc.) but it gets the job done. If the app is the only component that writes to the underlying database, it’s a no-brainer to update the cache accordingly, so the cache is always up-to-date with the data in the database. Things start to go sour when the app is not the only component writing to the DB. Among other sources of writes, there are batches, other apps (shared databases exist unfortunately), etc. One might think about a couple of ways to keep data in sync i.e. polling the DB every now and then, DB triggers, etc. Unfortunately, they all have issues that make them unreliable and/or fragile. You might have read about Change-Data-Capture before. It’s been described by Martin Kleppmann as turning the database inside out: it means the DB can send change events (SELECT, DELETE and UPDATE) that one can register to. Just opposite to Event Sourcing that aggregates events to produce state, CDC is about getting events out of states. Once CDC is implemented, one can subscribe to its events and update the cache accordingly. However, CDC is quite in its early stage, and implementations are quite specific. In this talk, I’ll describe an easy-to-setup architecture that leverages CDC to have an evergreen cache.
architecture
evergreen-cache
change-data-capture
cdc
About the speaker...Nicolas FränkelDeveloper Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Currently working for Hazelcast. Also double as a trainer and triples as a book author. |
Software architecture is a soft term, apparently able to mean whatever the speaker intends it to mean at will, with little to no argument from the audience, industry, or other architects. One would think that by this time in our industry’s lifecycle, we’d have nailed some of this down by now, so let’s do that — let’s nail down what software architecture looks like in the modern software development age, including nods to agile practices, continuous-everything and DevOps, polyglot programmers and maybe even a kitten.
architecture
software-architecture
About the speaker...Ted NewardHe is an authority in Java and .NET technologies, particularly in the areas of Java/.NET integration (both in-process and via integration tools like Web services), back-end enterprise software systems, and virtual machine/execution engine plumbing. |
|||||||||||||||
10:15
Invalid Time
Invalid Time
|
Naming is hard. Teams who write software often give rather technological names to the components they write. This is a problem because it makes the system less understandable and more difficult to extend. I propose to show more respect to the language that the users and other domain experts speak because it will allow us to think as they think which will make our software more compatible with the users’ mental models. Let’s call the modules, components, interfaces, services and entities as business-friendly and technology-neutral as possible and use some patterns from Domain-Driven Design to achieve an architecture that is well-structured, easy to explain and maintain over the years. It’s a matter of attitude and attention, folks!
architecture
domain-driven-design
user-experience
business-friendly-naming
naming
About the speaker...Matthias BohlenMatthias spent 20 years as a software developer, followed by almost another 20 years as a freelance consultant for software engineering and as a trainer for software architecture and domain-driven design. He worked with many agile teams who want to produce good software in reasonable time with superb quality, without going nuts in that process! |
One of the objectives of software architecture is the understanding and communicating complexity. We have long recognized that the most effective way to communicate complexity is via human language. But language poses a challenge when working in a team comprised of members of different (sub)cultures and nationalities, each with a native language that might not be the same as the language we are communicating in. Each of these cultures has a different perception about how to communicate effectively. By way of example, in some cultures, it is considered appropriate and respectable to use the tentative voice “perhaps we should consider trying X”. Whereas in other cultures it is the assertive voice that is valued “This is how we should do it”. Assuming that everybody in the room wants to communicate effectively, what aspects can we define that impact our design? What organizational culture fits better with what type of architecture (microservices, monolith)? And what cultural needs must these architectures and boundaries address to succeed? Join us in this interactive talk where we together explore these challenges!
architecture
collaboration
communication
software-design
culture
About the speakers...Avraham PoupkoAvraham Poupko's two passions are complex software systems and working with people. As an experienced architect of complex enterprise systems, Avraham is always looking for ways to increase understanding and reduce complexity. The primary way in which understanding can be increased is by enhancing the way we communicate. That is why Avraham is passionate about teaching anyone in the software field how to be a better communicator. Avraham is Senior Architect at Forescout technologies development site in Tel-Aviv. When he is not designing software, he learns and teaches about how people join to create software. Kenny Baas-SchweglerOne of Kenny's core principles is sharing knowledge. He does that by writing a blog on his website baasie.com and helping curate the Leanpub book visual collaboration tool. Besides writing, he also shares experience in the Domain-Driven Design community as an organiser of Virtual Domain-Driven Design and Domain Driven Design Nederland. He enjoys being a public speaker by giving talks and hands-on workshops at conferences and meetups. |
IT is characterized by innovations and rapid changes. Sustainability, and with it the interests of the next generation, has not been as much of a focal point so far. However, in order to achieve the ambitious climate targets, the IT sector, as an important driver of digitization, has to make its contribution as well. An intelligent use of resources to avoid waste and litter is a start here. The experience gained in economical energy consumption on a large scale in the cloud, but also on a small scale in the embedded sector, can also be useful for companies. I present some aspects that have received too little attention as of yet and how one can improve one’s climate footprint by switching to a “green cloud” and other processor architectures. Thereby, the competing interests of economy and ecology can be better combined.
architecture
climate-footprint
energy-consumption
sustainability
About the speaker...Frank PientkaFrank Pientka works at MATERNA SE in Dortmund. As a Principal Software Architect, he ensures greater software quality and, as a founding member of the iSAQB, takes care of improving the training and certification of architects. For more than two decades, he has been helping companies implement viable software architectures. He carries out external reviews and architecture reviews as reviewers. For this he has already published several papers and given lectures. |
The talk discusses, if event-driven architectures can be used in an advisory software as a form of reactive architectures. To do so, business requirements as well as technical implementations are covered. Why was the event-driven approach been selected? Requirements either business or technical are discussed, which drives the selection of an event-driven architecture. The event-driven approach is the most suitable to support decoupling of systems and to give the end user a comprehensive view about the activities along the advisory process. 1. Introduction of rough requirements to the advisory software 2. Introduction of the advisory process 3. Variant as controlling process (classical architecture) 4. Variant as event-driven architecture (reactive architecture) 5. Advantages and disadvantages of the selected approach 6. Take aways
architecture
reactive-architecture
advisory-software
event-driven-architectures
About the speaker...Annegret JunkerAnnegret is Lead Architect at Allianz Germany. She works for more than 30 years in software development in quite different roles and different domains such as automotive, insurance, and fintech. Especially, she is interested in DDD, microservices, and everything connected to it. Nowadays, she is working in a large insurance project as overarching architect. |
When was the last time you took a day off? Are you going to the office every weekday? How often do you work with people? All these questions usually show one thing – we all have stress that comes from our work. Famous Work-Life balance is often non-existent in many organizations, and developers feel trapped in their daily routine to “deliver a business value” to their employer. With stress, your creativity shrinks and innovative approach dies in a busy work you do. What if I was to say it does not have to be that way? In this talk, we will discuss ways how to relax and avoid “Stress Driven Development”. We will look at the problem from a perspective of an individual contributor, a technical lead, and a manager. As a result, the audience will be able to take away best practices for tackling stress and help others in their organizations to become more productive and simply happier individuals.
architecture
productivity
health
people
About the speaker...Dmitry VinnikDmitry is an Open Source Developer Advocate at Facebook, where he focuses on projects in the mobile space. His goal is to help developers be more productive through open source. Dmitry continues being a developer-first, so he applies the same mindset and passion when working on open source projects, creating new educational content, or giving conference talks. Dmitry has a background in medicine and bioinformatics, but these days he is more interested in understanding developer wellness and work-life balance. |
|||||||||||||||
11:15
Invalid Time
Invalid Time
|
What is the internal structure of your cloud-native Java microservice? How do you organize your SPA / PWA frontend? Is there a relation between the frontend and backend design? This session will introduce a consistent, feature-driven, standards-based structure called BCE and apply it to microservices and SPAs. I will create and review a lot of code and present the ideas on a few slides. Your questions are highly appreciated.
architecture
spa
microservices
bce
backend
frontend
About the speaker...Adam BienI have written several books about JavaFX, J2EE, and Java EE, and I'm the author of Real World Java EE Patterns—Rethinking Best Practices and Real World Java EE Night Hacks—Dissecting the Business Tier. I'm writing books and articles during my travels and sometimes even unproductive meetings. In my leisure I participate in the JCP as an Expert Group member for the Java EE 6 and 7, EJB 3.X, JAX-RS, CDI, and JPA 2.X JSRs. I am is also a Java Champion, NetBeans Dream Team Founding Member, Oracle ACE Director, Java Developer of the Year 2010 and I was chosen by attendees of my sessions as JavaOne 2009 and double 2011, 2012, 2014 and triple 2013 Rock Star. I'm speaking regularly on conferences, but I'm neither a professional speaker nor writer. I'm just really enjoying to write code and kill the bloat. ...and Java is perfect for that. Twitter, youtube, github and others: Screencasts, Sessions, Interviews and Collateral Rethinking Best Practices on kenai.com Real World Java EE Applications on java.net Mainly because of the exciting Java world and so chronic lack of time I do not participate on any other social networks except twitter and Google+. |
Natural language processing (NLP) has made incredible strides in the past few months. With these new possibilities and more and more textual data, we will see an increasing demand for NLP-based development. We have built several NLP-based systems in productive quality over the past eight years. It didn’t always go completely smoothly and the product didn’t always deliver what we wanted to achieve in the end. In this lecture we would like to report on our experiences: 1. What are the use cases of text analytics? 2. Which specific information can be extracted from text using NLP libraries? 3. What are the limits of text analytics? This talk should encourage to deal with NLP but at the same time slow down the current euphoria and expectations.
architecture
natural-language-processing
About the speaker...Jannik FischbachJannik Fischbach studied Information Systems at TU Muenchen and is currently doing his PhD in Computer Science at University of Cologne. In his research he develops NLP methods to extract causal relations from requirements and to use them for automated test generation. In addition to doing his PhD he is working at Qualicen as a consultant and supports companies in optimizing their test processes and with the introduction of model-based testing. He regularly gives talks on these topics in research and industry. |
Software Architecture is about the important things, where “important” means high-risk and hard-to-change decisions. DevOps tries to develop a culture where constant experimentation and learning takes place while the environment changes rapidly. How can this fit together? In this talk I will talk about general strategies agile teams can use to build and foster a DevOps culture while at the same time ensuring high-quality and sustainable software delivery. These strategies will be illustrated with real-world examples from different domains and environments.
architecture
devops
About the speaker...Peter GötzPeter is an IT consultant and agile coach. He has been involved in software development from different perspectives and in different roles for more than 15 years. As a certified Professional Scrum Trainer of Scrum.org he supports his customers with the introduction and implementation of Scrum in software development projects. Peter has many years of experience in the role of developer in agile software development projects, especially with Java. But he also got to know and appreciate the work as an agile coach and Scrum Master and product owner first-hand in several projects for customers. For more information about Peter, please visit: https://pgoetz.de/ |
|||||||||||||||||
12:00
Invalid Time
Invalid Time
|
Break |
|||||||||||||||||||
13:30
Invalid Time
Invalid Time
|
KEYNOTE
Certainty is the comfort zone of software architecture. The idea that architecture offers a dependable, stable and solid foundation on which to build. Sadly, such certainty is in conflict with the nature of reality. By definition, most software development is development in the presence of incomplete knowledge. Any development process that offers certainty of knowledge through early planning is faking and bluffing that certainty. This talk looks at the relationship of knowledge to software, the codification of knowledge in architecture, the acquisition of knowledge to development process, and how we can make progress in the presence of known unknowns, unknown unknowns and unknowable unknowns.
architecture
development-process
knowledge-acquisition
knowledge
About the speaker...Kevlin HenneyKevlin is an independent consultant, speaker, writer and trainer. His development interests, contributions and work with companies covers programming, people and practice. He has contributed to open- and closed-source codebases, been a columnist for a number of magazines and sites and has been on far too many committees (it has been said that “a committee is a cul-de-sac down which ideas are lured and then quietly strangled”). He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and 97 Things Every Java Programmer Should Know. He lives in Bristol and online. |
|||||||||||||||||||
14:30
Invalid Time
Invalid Time
|
METRICS FOR ARCHITECTS 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. I will introduces some key metrics that every architect should know (e.g., average component dependency, propagation cost, structural debt index, and more). Then I will talk about the journey to create a metric to measure maintainability and introduces a new metric maintainability level. This metric is promising because its value usually matches quite well the gut feeling of developers about the maintainability of their software systems. Therefore, it can be used to monitor code maintainability and as an early warning indicator if things move in the wrong direction.
architecture
maintainability
metrics
About the speaker...Alexander von ZitzewitzAlexander is co-founder and managing director of hello2morrow and CEO of the US subsidiary. He has more than 30 years of project and management experience. In 1993 he founded ootec – a company focused on project services around object oriented software technology. In March 2000 this company was sold to Valtech group, a French company, and served customers like Siemens, BMW, Thyssen-Krupp-Stahl and other well known names in German industry. From 2003 to early 2005 he worked as company Director for Central Europe for a French software vendor. Alexander has a degree in Computer Science from Technische Universität, Munich. |
Recent research summarised in the book Accelerate points to a set of practices that lead to high software development organisation performance. Simultaneously, research from the Santa Fe institute on Complex Adaptive Systems over the last 20 years seems to point to a grand unified theory of organisational design. So have we cracked it? Do we now have the answer to the question: how do we create and scale high performing software and organisations? In this talk, James explores the relationships between team structure, software architecture and the emergent phenomenon of complexity science.
architecture
complexity-science
team-structure
software-architecture
teams
About the speaker...James LewisJames is a Software Architect and Director at ThoughtWorks based in the UK. He’s proud to have been a part of Thoughtworks’ journey for over fifteen years and its ongoing mission of delivering technical excellence for its clients and in amplifying positive social change for an equitable future. As a member of the Thoughtworks Technical Advisory Board, the group that creates the Technology Radar, he contributes to industry adoption of open source and other tools, techniques, platforms, and languages. He is an internationally recognised expert on software architecture and design and on its intersection with organisational design and lean product development. As such he’s been a guest editor for IEEE Software, written articles, delivered training, and spoken at more conferences than he can remember. James defined the new Microservices architectural style back in 2014 along with Martin Fowler. Currently, the Microservices industry is worth in excess of $20 billion annually. James’ primary consulting focus these days is on helping organisations with technology strategy, distributed systems design and adoption of SOA. He freely admits that it’s only by standing on the shoulders of giants that he’s been able to make the contributions to the industry that he has. |
Our hope is that anyone looking to embark on a legacy modernisation programme or who is currently involved with one will find some useful advice here. We have spent most of the last couple of decades helping large organizations overhaul their legacy systems. In doing this we’ve learned a great deal about what works and seen many paths that lead to failure. In this talk we describe several of the legacy supplanation patterns that we found to be successful as well as some of the “anti-patterns” that more often than not lead to failure. For each pattern, we describe a particular approach, the context where it’s effective and explain how and why you might use them, giving real world examples along the way. Key to our approach is seeing legacy replacement as a holistic activity that cuts across technology, business processes and organisation structure. In more detail using these patterns often means discovering how one large technical solution meets multiple business needs and then seeing if it is possible to extract individual needs for independent delivery using a new solution. We describe how different elements of current solutions might be mapped to business capabilities and, using examples, how the various patterns can then be used to incrementally deliver these replacement solutions over time. A common objection is that finding these “seams” in existing systems is too difficult. While we agree it is challenging at first, we have found it to be a better approach than the alternatives which all too often result in Feature Parity and Big Bang releases. We describe these anti-patterns as well as some of the underlying organisational reasons many legacy replacement programmes fail. This talk is drawn from material being produced in collaboration with Martin Fowler and James Lewis which will be published in the coming months on Martin’s site.
architecture
software-modernisation
anti-patterns
legacy-supplantation-patterns
legacy-code
About the speakers...Ian CartwrightIan is a Technical Director at Thoughtworks based in the Manchester office, he has been with ThoughtWorks for nearly 19 years and has over 25 years of industry experience. He provides technical oversight for software delivery projects and regularly consults on architecture and technical strategy. He is particularly interested in the intersection of technology and business and the challenges of building more manoeuvrable and fast paced business solutions. He is a member of the ThoughtWorks technology advisory board. Ian has been involved in the production of the ThoughtWorks Technology radar since its inception ten years ago and regularly presents the latest radars. Prior to joining ThoughtWorks Ian worked on software in various sectors including financial services, telecoms and weather forecasting. Rob HornRob is Technical Principal Consultant at Thoughtworks. Known as an experienced and passionate technical leader, proven team facilitator, great communicator/translator and trusted advisor. A seasoned agile delivery practitioner, he has spent around 15 of his 25+ year career working with clients, helping teams tackle legacy modernisation challenges across numerous sectors. His energies are also directed towards the growth of others, from junior talent at ThoughtWorks University, aspiring Tech Leads or future business leaders on our leadership development programmes and of course clients and their delivery teams. |
Micro Frontends are not the only solution and – unsurprisingly – not always suitable. Hence, in this session, I present an alternative frontend architecture that we have successfully used in numerous enterprise projects in recent years: the Frontend Modulith. We discuss dividing your applications into less complex parts, the mapping of your business domains, the categorization of libraries, and access restrictions for enforcing your intended frontend architecture. You will also see how you can drastically improve the performance of your CI process with incremental builds and tests as well as local and distributed build caches. The examples use Angular and Nx, a tool that comes from former Google employees and supports the development of structured enterprise applications with frameworks like Angular or React. In the end, you know whether Frontend Moduliths are the right approach for you and how you can use them to build sustainable frontends for your enterprise solutions.
architecture
frontend-modulith
About the speaker...Manfred SteyerManfred Steyer is a trainer, consultant, and programming architect with a focus on Angular. He is a Google Developer Expert (GDE) and Trusted Collaborator in the Angular team who writes for O'Reilly, the German Java Magazine, and windows.developer. He regularly speaks at conferences. |
||||||||||||||||
15:30
Invalid Time
Invalid Time
|
Cloud storage footprint is in exabytes and exponentially growing and companies pay billions of dollars to store and retrieve data. In this talk, we will cover some of the space and time optimizations, which have historically been applied to on-premise file storage, and how they would be applied to objects stored in Cloud. Deduplication and compression are techniques that have been traditionally used to reduce the amount of storage used by applications. Data encryption is table stakes for any remote storage offering and today, we have client-side and server-side encryption support by Cloudproviders. Combining compression, encryption, and deduplication for object stores in Cloud is challenging due to the nature of overwrites and versioning, but the right strategy can save millions for an organization. We will cover some strategies for employing these techniques depending on whether an organization prefers client side or server side encryption, and discuss online and offline deduplication of objects. Companies such as Box, and Netflix, employ a subset of these techniques to reduce their cloud footprint and provide agility in their cloud operations.
architecture
cloud
optimization
encryption
dedupe
compressions
About the speaker...Tejas ChopraTejas Chopra is a Senior Software Engineer, working in the Data Storage Platform team at Netflix, where he is responsible for architecting storage solutions to support Netflix Studios and Netflix Streaming Platform. Prior to Netflix, Tejas was working on designing and implementing the storage infrastructure at Box, Inc. to support a cloud content management platform that scales to petabytes of storage & millions of users. Tejas has worked on distributed file systems & backend architectures, both in on-premise and cloud environments as part of several startups in his career. Tejas is an International Keynote Speaker and periodically conducts seminars on Software Development & Cloud Computing and has a Masters Degree in Electrical & Computer Engineering from Carnegie Mellon University, with a specialization in Computer Systems. |
During my career in IT and people development I had several turning points where I either was made to use journaling techniques or experimented with them myself to successfully tackle the next challenge. Over the years I reflected why those ‘written self-reflection’ techniques are so powerful and – at the same time – they are still quite rarely used in the business context. In this workshop I will happily share my experience and my findings backend by a scientific psychological model with you! You want to leverage your resources? You want to change habits in your life’s “departments”? You want to harvest outstanding outcomes – at work and beyond? YES? Then join us to get ready for ACTion and be inspired how to leverage journaling techniques – at work & beyond. We’ll even use our hands, hearts and minds to directly try out some of them!
leadership
people-development
journaling
About the speaker...Cosima LaubeCosima is an experienced independent coach, consultant and trainer with a demonstrated history of working in a variety of industries (automotive, finance & banking, healthcare, travel & tourism). Having a strong background as a developer and people lead in software engineering, she enhanced her professional portfolio over the years with solid coaching skills and BSc studies focused on I/O and Health Psychology. Cosima cares more about systems thinking than local optimization, she is an introvert, a runner and a passionate community gardener (organising several Open Space conferences, leading and contributing to User Groups). |
In development and implementation of AI-based systems , the main challenge is not to develop the best models/algorithms, but to provide support for the entire lifecycle – from a business idea, through collection and management of data, software development managing both data and code, product deployment and operation, and to its evolution. There is a clear need for specific support of Software Architecture for AI. In this talk we will show the different aspects of a Software Architect has to master to integrate AI-based technologies, like for instance patterns for AI-based solutions, mastering a new development approach or handling requirements and safety issues with AI-based systems.
data
architecture
artificial-intelligence
machine-learning
About the speakers...Andreas RauschProf. Dr. Andreas Rausch is the head of the chair for Software Systems Engineering at the Clausthal University of Technology. Until early 2007 he was head of the chair for Software Architecture at the University of Kaiserslautern. In 2001 he obtained his doctorate at the University of Munich under Prof. Dr. Manfred Broy. His research in the field of software engineering focuses on software architecture, model-based software engineering and process models, with more than 70 publications worldwide. Prof. Dr. Andreas Rausch is project leader for the development of the new V-Modell XT, the standard system development process model for IT systems of the Federal Republic of Germany. In addition to his research activities he participated in various commercial software projects developing large distributed systems. He is one of the four founders and shareholders of the software and consulting company 4Soft GmbH, Munich. Christoph KniekeDr. Knieke studied computer science at the TU Braunschweig in Germany. During this time, he was already working as a research assistant. He received his diploma in computer science in 2004, his doctoral degree in 2011 and his habilitation degree in 2019. Furthermore, he worked as a lecturer at the TU Clausthal. In particular, he is interested in model-based systems engineering (MBSE), domain-specific modeling languages, software product line engineering and architecture evolution. Within these fields, he was also the leader of several R&D projects. |
Today, end users often expect subsecond response time and 100% uptime, often for applications dealing with terabytes of data. Reactive systems can address these requirements, as they are more flexible, loosely coupled, and scalable, making them easier to develop and amenable to change. They are also significantly more tolerant of failure, and when failure does occur, they meet it with elegance rather than disaster. Reactive systems are highly responsive, giving users effective interactive feedback. In this session, you learn how users adopt reactive patterns for their high-performance applications and have a look at typical, well-architected implementations on AWS.
architecture
performance
reactive-systems
aws
About the speaker...Sascha MölleringSascha Möllering has been working as Solutions Architect and Solutions Architect Manager at Amazon Web Service EMEA SARL, Germany branch for more than 5 years. Previously, he worked as Team Lead and Software Architect at zanox in Berlin. He regularly shares his expertise with a focus on automation, infrastructure-as-code, distributed computing, containers, and JVM in articles of various IT magazines in German-speaking countries. |
||||||||||||||||
16:30
Invalid Time
Invalid Time
|
KEYNOTE
Rapid, reliable, frequent and sustainable software development requires an architecture that is loosely coupled and modular. Teams need to be able complete their work with minimal coordination and communication with other teams. They also need to be able keep the software’s technology stack up to date. However, the microservice architecture isn’t always the only way to satisfy these requirements. Yet, neither is the monolithic architecture. In this talk, I describe loose coupling and modularity and why they are is essential. You will learn about three architectural patterns: traditional monolith, modular monolith and microservices. I describe the benefits, drawbacks and issues of each pattern and how well it supports rapid, reliable, frequent and sustainable development. You will learn some heuristics for selecting the appropriate pattern for your application.
architecture
modular-monolith
architectural-patterns
microservices
About the speaker...Chris RichardsonChris Richardson is a developer and architect. He is a Java Champion, and a recognized thought leader in the microservice. Chris is the creator of Microservices.io, a pattern language for Microservice, and is the author of the book Microservice Patterns, which is available from Manning. He provides Microservices consulting and training to organizations that are adopting the Microservice architecture and is working on his third startup Eventuate, an application platform for developing Transactional Microservices. |
Day 2: Sessions & Keynotes
The Leading International Conference for Software Architecture
Track | Room 1 | Room 2 | Room 3 | Room 4 | Room 5 | |||||||||||||||
08:00
Invalid Time
Invalid Time
|
KEYNOTE
To seasoned software architects, it sometimes seems as if our discipline is more alike to the fashion industry than we’d like, and the hype cycle might be the best-known (pseudo-)mathematical graph in our community. Is everything new really only old stuff in new disguise, or is that just old folks yelling at the cloud? How do we distinguish genuine innovation from lipstick on a pig? And will we be able to get through this keynote without even more cliché-ridden puns? Find out and join me for a look at some examples and an attempt to draw useful conclusions. |
|||||||||||||||||||
09:00
Invalid Time
Invalid Time
|
Compared to some of the IT industry’s more imaginative job descriptions, “software architect” appears to be a clear-cut role with a generally accepted set of duties and responsibilities. Upon closer inspection, however, this seems to be one of those things that everyone agrees on until one starts looking for a common consensus on the delineation of the role, tasks, and responsibilities of software architects. For one thing, the day-to-day work of software architects is often characterized by having to fill other roles as well, such as project manager, requirements engineer, or lead programmer. On the other hand, there are organizations that actually strive for a clear differentiation between persons responsible for different architectural levels or domains. Lack of clarity about the role and responsibilities of software architects not only leads to risks in projects and reduced job satisfaction, it also implies different expectations about the training and skill set required for architects. This presentation will explore and analyze the various perceptions of the role of software architects, based on current literature as well as feedback from practitioners and training participants. Its objective is to make an informed contribution to the ongoing debate on relevant issues, such as: What is the actual core set of tasks and responsibilities? What are typical deviations from this and what are the reasons behind them? Which consequences does this have for the work of architects, their integration into the organizational context and their training?
team-structure
organizational-context
architecture
software-architecture
About the speaker...Alexander LorzDr.-Ing. Alexander Lorz is a freelance software architecture trainer, IT consultant and developer. As active member of the iSAQB and the Foundation Level Working Group he contributes to the evolution of the foundation curriculum. Alexander studied computer science at the Dresden University of Technology and worked as a researcher, educator and PhD student at the Heinz-Nixdorf Endowed Chair for Multimedia Technology. During this time he participated in a wide range of academic research and industry-founded projects, e.g. on improving cooperation and job satisfaction in virtual teams and corporations, and on end user-driven composition of applications and user interfaces. In 2010 he received his PhD on the topic of adaptable and adaptive questionnaires for virtual organizations. After working as research group coordinator, he joined the Dresden-based intecsoft group as a software architect, developer and technical project manager. Projects he contributed to were located in the fields of electromobility, document and transaction processing as well as digitalization of business processes. Since 2016 he has been working as a coach and trainer in software architecture for course participants from various sectors, e.g. automotive suppliers, fintech companies, public authorities, automation technology, telecommunications and IT service providers. |
A clean architecture is for greenfield projects is relatively easy. However, we usually work on legacy systems and an architecture must adapt in an evolutionary manner – otherwise it will also become legacy very quickly. This talk will show different approaches how to improve legacy systems with domain-driven design. It will focus on different techniques for introducing bounded contexts and assessing where improvements are needed. In this way, Domain-driven Design becomes possible where it is needed most – in existing systems that are often very successful and critical from a business perspective, but were originally developed with no regard to DDD.
architecture
legacy-systems
domain-driven-design
About the speaker...Eberhard WolffEberhard Wolff has 15+ years of experience as an architect and consultant - often on the intersection of business and technology. He is a Fellow at INNOQ in Germany. As a speaker, he has given talks at international conferences and as an author, he has written more than 100 articles and books e.g. about Microservices, Technologies for Microservices, and Continuous Delivery. His technological focus is on modern architectures – often involving Cloud, Continuous Delivery, DevOps, or Microservices. |
These days, many teams favor loose coupling, isolation and autonomy of services and therefore typically opt for event-driven and reactive architectures, using a communication pattern known as choreography. While choreography is beneficial in some situations, it is far from the holy grail of integration. In some scenarios, it increases coupling, often accidentally and to a dangerous degree. Orchestration is a better choice for some situations, but is often bashed for introducing tight coupling. I will debunk some of these myths and show how orchestration can even reduce coupling in some situations and totally work in an asynchronous, message-driven fashion. TLDR: Choreography vs. orchestration is NOT about choosing THE right approach. In real life, you need to balance both, so it is about choosing wisely on a case-by-case basis. In order to help you with that, I will walk you through the differences and give you some concrete guidance on decision criteria, backed by examples collected in various real-life projects.
architecture
orchestration
choreography
About the speaker...Bernd RückerThroughout Bernd's 15+ years in software development, he has helped automating highly scalable core workflows at global companies including T-Mobile, Lufthansa and Zalando. Bernd has contributed to various open source workflow engines. He is co-founder and developer advocate of Camunda, an open source software company reinventing workflow automation. He co-authored "Real-Life BPMN," a popular book about workflow modeling and automation. He regularly speaks at conferences and write for various magazines. Bernd is currently focused on new workflow automation paradigms that fit into modern architectures around distributed systems, microservices, domain-driven design, event-driven architecture and reactive systems. Bernd tweets at @berndruecker and his GitHub can be found here. |
|||||||||||||||||
10:00
Invalid Time
Invalid Time
|
In various communities, several methods for the collaborative modeling of business requirements have been established in recent years. Well-known examples are EventStorming or Domain Storytelling. These approaches are based on achieving a better shared understanding of the business requirements in an interdisciplinary way. But what about the requirements for the quality of the software being developed? This is where Quality Storming comes in, trying to bring together a heterogeneous set of stakeholders of a product or project to collect quality requirements. The goal is to gain a shared understanding of the real needs for the quality characteristics of a product. To achieve this goal, Quality Storming uses some techniques from various already existing collaborative modelling approaches. It is not the claim to produce perfectly formulated quality scenarios with the help of Quality Storming. Instead, the method aims to create a well-founded, prioritized basis for later formalization, which is understood across different stakeholder groups. The more often teams work with the technique, the better the quality of this basis becomes over time. Advanced teams are quite capable of creating very well-formulated scenarios within the framework of such a workshop. In this talk I will introduce the workshop and the ideas behind it. You will also learn many hints for facilitating such workshops and how to proceed with the learnings generated in Quality Storming workshops.
architecture
quality-storming
collaborative-modelling
About the speaker...Michael PlödMichael works as a Fellow for INNOQ. He has over 15 years of practical consulting experience in software development and architecture. His main areas of interest are currently Domain-driven Design, Event Sourcing, Microservices and presentation techniques for developers and architects. Michael is the author of the book “Hands-on Domain-driven Design — By Example” on Leanpub. |
Large financial institutions are at a crossroads: from the nineties, the industry invested massively in first-class reliability and resilience, but modern tech is putting pressure, pushing innovation at breakneck speed, creating a fluid transaction ecosystem, and churning out ever-evolving sets of products and tech talent. In this talk, we will cover our experience liberating the data in the mainframe with a hybrid serverless/containerized solution built on AWS. It’s an architecture with tens of Java serverless functions that live-stream mainframe data to the cloud, using a suite of services capable of operating at hundreds of rps: DynamoDB, Lambda, API Gateway, Fargate. We will do a deep dive on various integration patterns and AWS services that can be used to support them. We will dedicate a special section at performance optimizations done to reduce the cold start problems and support aggressive performance targets. In the last section, we’ll use Lake Formation to create a data platform that can enable a host of new value-add activities for the entire company.
architecture
cloud
aws
mainframe
containers
serverless
fintech
About the speaker...Federico FregosiExperienced engineering leader with a strong interest in distributed, highly-scalable and cloud-based systems. Currently at Contino as Principal Consultant, responsible for the swift completion, mentorship and technical leadership of transformation projects in large, regulated enterprises. Worked for years in DevOps/SRE Lead roles, focused on infrastructure management and Cloud on the 3 major public cloud providers, recently focused on AWS & GCP. Experienced in the finance sector, specifically on high-performance payment platforms and systems compliance. Specialties: Engineering and Delivery Leadership, Team management, DevOps, Kubernetes clusters, System Architecture, digital transformation, large scale microservices systems and Golang development. Federico holds an MSc in Software Engineering from City University London. |
Not taking into account what a piece of software represents in real life can lead to higher complexity, additional development costs, difficult refactorings, and ultimately, a software that no longer scales. If it gets far enough out of hand, at some point, new features cannot be implemented if they’re not compatible with the current architecture, because they would be too expensive to implement. In this session, we’ll look at some real-life examples and at some of the things to keep in mind in order to avoid the above-mentioned issues.
architecture
complexity
refactoring
About the speaker...Yara MayerYara Mayer is a freelance consultant and full-stack software engineer with 15 years of experience in various industries and companies of different sizes. After working with many parts of the software development lifecycle, she’s passionate about optimizing the bridge between business and technology in order to improve processes (be it on the user side or on the development side) and make software more scalable. |
Research shows that on average developers spend about 58 percent of their time on reading code! However, we are not explicitly taught reading code in school or in boot camps, and we rarely practice code reading too. Maybe you have never thought about it, but reading code can be confusing in many ways. Code in which you do not understand the variable names causes a different type of confusion from code that is very coupled to other code. In this talk, Felienne Hermans, associate professor at Leiden University, will firstly dive into the cognitive processes that play a role when reading code. She will then show you theories for reading code, and close the talk with some hands-on techniques that can be used to read to any piece of code with more ease and fewer headaches!
code
learning
programming
About the speaker...Felienne HermansFelienne heads the PERL research group, focused on programming education. She also works at the Vrije Universiteit Amsterdam one day a week, where she teaches prospective computer science teachers. Felienne is the creator of the Hedy programming language, and was one of the founders of the Joy of Coding conference. Since 2016, she has been a host at SE radio, one of the most popular software engineering podcasts on the web. Felienne is the author of “The Programmer’s Brain” a book that helps programmers understand how their brains work and how to use it more effectively. In 2021, Felienne was awarded the Dutch Prize for ICT research. Felienne is a member the board of I&I, the Dutch association of high-school computer science teachers, and of TC39, the committee that designs JavaScript. In her spare time, Felienne teaches a bunch of kids programming, and she loves playing board games, video games, running and dancing Lindy Hop. |
Autonomous teams are something we often strive for in software projects. Moreover, autonomy itself is often considered a value without defining what it actually is. The talk will look at the question of team autonomy from the perspective of organisations. Can there be autonomous teams? What does autonomy mean within an organisation? Why does it happen that teams are considered as non-autonomous? And why is the absence of autonomy still valuable? What is the connection between decisions and autonomy? And why does more autonomy inevitably lead to higher communication costs?
devops
agile
organizational-autonomy
organizational-structrue
autonomous-teams
collaboration
team-autonomy
teams
About the speaker...Gerrit BeineGerrit is a trainer and consultant at INNOQ. He has been working in IT since 1998 and with agile methods since 2001. He was a software architect in large projects for many years. After 10 years of agile coaching, he quit coaching in 2020 and will now increasingly build bridges between organizational structures and long-lasting software architectures in the future. Gerrit studied computer science, is the author of numerous professional articles, and is a regular speaker at conferences on the topics of software architecture and agile. |
|||||||||||||||
11:00
Invalid Time
Invalid Time
|
In this presentation, I will talk about my experiences, successes and failures with the arc42 architecture template in a DevOps team in a corporate environment with a product development focus. Product development is often characterized by short iteration cycles and is therefore often operated in an agile manner, as in the speaker’s team. There the existing unstructured documentation was transferred to the arc42 template and stored in a wiki. In the course of time, it turned out that tooling plays a decisive role for the quality of the documentation and therefore switched to Docs-as-Code. In the course of the presentation, the most important decision points for the current iteration of the technical software architecture will be discussed. These include the handling of “developer prose”, outdated documentation and the architecture decisions that are particularly important for a DevOps team. The integration into the methodical procedure Kanban was made possible with arc42 and a microsite based on AsciiDoc. Not left out are the mistakes made, such as missing quality assurance of created documentation or the mixing of business and technical topics.
architecture
documentation
arc42
About the speaker...Johannes DienstJohannes Dienst is a passionate softwarecrafter at DB Systel GmbH. His work focuses on content management, DevOps and software quality. |
Software architecture emerged in the 1990s, and has been evolving ever since, from a directive, up-front activity, where a single architect created the architecture, which was then implemented by others, to today’s team based adaptive architectural approaches where architecture is a shared activity owned by the entire team. In this talk we’ll explore the architectural practices that deliver architecture as a “shared commons” which supports the Agile+DevOps ways-of-working needed for success in the digital age.
architecture
continuous-architecture
About the speaker...Eoin WoodsEoin is based in London, responsible for capability development and technical direction. In previous professional lives he has developed databases, created security software and designed way too many systems to move money around. Outside his day job he is a regular conference speaker, he is interested in software architecture, software security and DevOps, and has co-authored a couple of books on software architecture. His web site is www.eoinwoods.info. |
Microservices, and especially the event-driven variants, are at the very peak of the hype cycle and, according to some, on their way down. Meanwhile, a large number of success stories and failures have been shared about this architectural style. In this session, Allard elaborates on how to achieve the benefits of Event-Driven Microservices by not focusing on the Event-Driven aspect and avoiding Microservices, to begin with. He will discuss how a different way of looking at Messaging allows a system to gradually evolve, maybe with microservices as an end result. And maybe, after all, there is something about events that drives these services…
architecture
messaging
event-driven-architecture
microservices
About the speaker...Allard BuijzeAllard brings a vast amount of knowledge and experience to this role. As a former software architect specializing within the field of "scalability" and "performance", he has worked on several small and large projects, where performance is often a recurring theme. Allard is convinced that a good domain model is the beginning of contributing to the overall performance of an application. From this conviction, he has developed the Axon Framework. He regularly gives workshops and trainings in frameworks, best practices and architecture. He also regularly speaks at conferences, seminars and meet-ups. Find Allard on Twitter at @allardbz. |
The clean code principles are well-known in modern, agile software development. But what has become the default for our business code, unfortunately by no means applies to our infrastructure code. Instead, we find badly crafted, complicated and highly tangled code that is manually tested using a trial and error approach. However, for modern cloud based systems the infrastructure code plays a crucial role. So it’s about time we being to treat it as a 1st class citizen! In this hands-on session we show several useful patterns, practices, tools and frameworks that help to write and craft clean infrastructure as code.
architecture
clean-infrastructure
infrastructure-as-code
About the speaker...Mario-Leander ReimerPassionate developer. Proud father. #CloudNativeNerd. Leander works as a principal software architect at QAware. He’s continuously looking for innovations in software engineering and ways to combine and apply state-of-the-art technology in real-world projects. As a speaker at national and international conferences he shares his tech experiences and he teaches cloud computing and software quality assurance as a part-time lecturer. |
As software developers, we spend most our time maintaining existing systems – under time and budget pressure. Building new business functionality tends to get more difficult, expensive and risky over time due to increasing size, growing complexity and lack of overview. Although we complain about technical debt, lack of innovation and the architectural deficits of historically grown software, we often patch, fix or hack symptoms instead of curing the root causes of these problems. In this talk you’ll get an overview of the systematically improving or modernizing your system. The approach shown here is based upon the established idea of identifying the specific problems first, before changing or modifying a system. We will take a closer look at different areas of investigation, such as architecture, code, technology, quality requirements, application data plus development and rollout processes, in an iterative breadth-first analysis. For each area of investigation I give examples and show methodical tools for effective and practical use. Afterwards you’ll get an overview of strategical and tactical approaches to specific improvements, based upon the problems and risks found during analysis. The presentation is aimed at software development teams, architects, product owners and technical management. Everything I present in this talk has been proven in software and system projects and reviews I conducted over the last couple of years in various industries – so expect some (anonymized) practical examples!
architecture
legacy
About the speaker...Gernot StarkeDr. Gernot Starke, innoQ fellow, works as coach and consultant for software development and architecture. He co-founded and maintains the open source software architecture projects arc42 and aim42, book author and sometimes conference speaker. |
|||||||||||||||
12:00
Invalid Time
Invalid Time
|
Break |
|||||||||||||||||||
13:00
Invalid Time
Invalid Time
|
Most modern software teams strive for Continuous Delivery of business impact with a DevOps mindset: you build it, you run it. With short iterations and continuous feedback loops, teams deploy new software to production daily. But how about the role of a software architect in such a fast-paced world? With daily deployments, is there even time for software architecture? As an architect, how do you prevent being a delaying factor to the pace and success of a team? And how do you keep up? In this session, I’ll share my experiences as a software architect in the DevOps world. I’ll talk about “just enough” architecture and moving from up front design to evolving architecture. After this session, you’ll have practical insights and tips in how to work as an architect with a DevOps team.
architecture
devops
continuous-delivery
About the speaker...Bert Jan SchrijverBert Jan is CTO at OpenValue and focuses on Java, software architecture, Continuous Delivery and DevOps. Bert Jan is a Java Champion, JavaOne Rock Star speaker, Duke’s Choice Award winner and leads NLJUG, the Dutch Java User Group. He loves to share his experience by speaking at conferences, writing for the Dutch Java magazine and helping out Devoxx4Kids with teaching kids how to code. Bert Jan is easily reachable on Twitter at @bjschrijver. |
Many software-developing organisations adopt DDD and apply strategic design to map out bounded contexts based on domain understanding to build services and applications within those contexts. Teams have come to appreciate hexagonal architecture as a great approach to isolating the domain within a microservice or an application. But that cannot be the end of the story – successful applications grow, people learn and the world changes. Bounded contexts will require adjustment, be split or abandoned – and that requires modularity within their domain cores. I want to show an example of how hexagonal architecture and domain-driven modules go together and how such an architecture can be visualized and organized.
architecture
modules
domain-driven-modules
hexagonal-architecture
About the speaker...Richard WallintinRichard wants software to just work. He believes that this is best achieved by independent teams that seriously measure the success of their products. As an architect, consultant and coach, he values passion, courage and technical excellence. And of course, Richard always writes the test first. |
Today it is the world of Data Science. Ample amount of data is available which when utilized at right time in right manner can help to forecast as well as predict in advance any untimely failures/disasters that can cause serious and fatal losses. Out of many, one area where such predictions and Predictive Analytics Software can be of great use is, manufacturing/process industries like power plants, oil and natural gas and many such more. Predictive Analytics Software not only has components like main stream software-intensive systems, but it also has statistical algorithms, tools, techniques, mathematical components for pattern recognition as well as other techniques like machine learning, artificial intelligence, modelling etc. It also has diverse stakeholders and other connected systems. Software Architecture is well practiced in main stream software-intensive systems like web, embedded, enterprise applications etc. However, Predictive Analytics being emerging branch, there is a lot of scope for research and enhancement in Software Architecture concepts with respect to such software systems. With my experience working with Predictive Analytics Software for power plants, in this paper I will talk about following 3 points:
architecture
predictive-analytics
About the speaker...Hiral Vyas DaveMs. Hiral Dave, known as Hiral (Vyas) Dave on social media, is from Ahmedabad, Gujarat, India. She is an Independent Software Consultant having more than 13 years of core experience working on diverse projects and products using various software technologies with globally acclaimed clients at different locations in and out of India. She is MCA [Masters in Computer Applications], PMP [Project Management Professional certified by Project Management Institute, USA], C# specialist, CPSA-F [Certified Professional for Software Architecture-Foundation Level] and a data science aspirant. She is the first “Independent Software Consultant” from India who is iSAQB [International Software Architecture Qualification Board] Accredited Trainer and Training Provider for CPSA-F [Foundation Level] training. She trains and consults software professionals and software companies in and outside of India to develop more sustainable quality software. She represents herself as a technical expert, excellent communicator, avid learner and trainer, project strategist and manager, who is passionate about designing, developing and managing software with an appropriate software development life cycle. She is a person with an appropriate blend of technical and management skills, which is most desirable in today’s challenging world. As a strong believer of organized life, she puts into practice those values at the professional front as well. Personally, having a liking towards travel and exploring new things, physical fitness, and also an apt towards art helps her balance the thought process in worst situations. Being passionate to learn and teach helps her leverage the management and technical skills. Teaching and training are in-born qualities she inherited from her parents being educators. She started her journey in the software industry as a trainer for MSOffice and HTML while she was still pursuing her studies for post-graduation. In 2004 she moved to core software development work and that took its own heights. During her tenure working in the core software development industry, she realized the distinctions and gaps in the implementation of software architecture in the mainstream designing of software. This is where in 2018 she decided to get more insight on the software architecture field and leverage the knowledge to train aspiring software architects. She started working as an independent consultant from 2018. And the journey is still going on. |
In this session, we want to take a relaxed journey through the challenges of a software architect in everyday project life and look at different forms in which the skills of a software architect can support us – both technically and professionally – to put an executable system into production. Some impulses and tips on further topics from the software architecture are given.
architecture
software-architecture
About the speaker...Holger TiemeyerResponsibility, pragmatism, domain expertise, and professionalism. These are the fundamental values and attributes that characterize successful software architects. Based on many years of project experience, Holger Tiemeyer imparts these skills and acquirements in his training courses, speaks about them at conferences, and publishes articles in professional magazines. As a computer scientist who minored in psychology, Holger Tiemeyer represents the financial interests of the association as well as the social aspects concerning the people who design software architectures in his role as Vice Chairman and Treasurer of the iSAQB e. V. |
||||||||||||||||
13:25
Invalid Time
Invalid Time
|
Leading indicators are the metrics providing us hint on the product quality during development cycle. Question is can we get them more accurate? we try to answer this question with Orthogonal Defect Classification (ODC) which is an important data set, that can provide insights into weak process areas of SW development, design areas requiring attention. The talk will focus on how ODC parameters can help in improving leading metrics of SW quality.
architecture
About the speaker...Nagesh Shenoy30+ years experience in Embedded systems product and platform development primarily in the area of Automotive, Consumer Electronics and Avionics Built , managed highly technical competent global teams and managing the technology across the multiple geographic locationsAssociated with U-nextMasters Degree in Digital Electronics and Advanced communication. |
The package structure you choose has a great influence on the architecture and maintainability of your software system. It lays the foundation for whether your application remains manageable in the long term or becomes a big ball of mud. In this talk, we will show what matters. The package structure is the basic structure of object-oriented software systems. It is not only the way of grouping classes, but also relevant for every developer in the course of their daily work. Package structures help to quickly grasp and understand structures within the application. Is it possible to derive the functionality based upon the package name and to talk about the system on the functional level? A meaningful structuring of the application helps in the daily work, in the implementation of new requirements and in maintenance. This is due the fact, that a higher implementation speed can be achieved. In many projects, the package structure is based on the stereotypes of classes such as controllers, services or factories. This technical structuring is an intuitive procedure in smaller software systems, which leads to considerable disadvantages in larger software systems like an increase of technical depts. Reasons for that are the resulting lack of system understanding which leads to unclear responsibilities, undesired dependencies, cycles and high complexity. Finally, this causes applications to erode unnoticed resulting in a reduction of productivity. An alternative way of system decomposition helps to avoid the listed negative effects. Focusing on the mental model of the user and the developer, leads to a functional system decomposition. This will be discussed looking at use cases, which everyone can understand, and which illustrate real business transactions.
architecture
package-structure
maintainability
About the speakers...Matthias EschholdiSAQB Accredited Trainer Novatec Consulting GmbH Managing Consultant for Software Architecture Deutsche Automobil Treuhand GmbH Lead Developer for Architecture and Security Allianz Deutschland AG Software development and architecture consulting, IT project manager Steve WalterParticipated in several projects including insurance, university hospital and construction financing as software developer and architectural consultant. Contributed with knowledge about software modernization, microservice development and agile software development. Works since 2014 for Novatec Consulting GmbH as Senior Consultant for software architecture, test & quality. Graduated MSc. Informatics Technische Universität München. |
Team diversity refers to differences between members of startup team. Those differences can include demographic differences (like age, race, sex, ethnicity), personality (extrovert, introvert, and differing Myers-Briggs types) and functional (as in skill sets, like engineering, design, copywriting, and marketing). How does team diversity impact your customers’ experience from the moment they learn about you through their journey with you? You will attract and relate to customers who look like you. They will understand your messaging and you will understand their needs. If you don’t represent the right dimensions of diversity, you are leaving an amazing experience behind.
diversity
startups
About the speaker...Melissa JurkoicMelissa has worked in the tech industry for over 20 years in roles ranging from Junior Software Engineer to her current role as the Chief Customer Experience Officer at addapptation. She holds a Bachelor’s in Computer Science from the University of New Hampshire, an executive certification in Management and Leadership from MIT and a SAFe Program Consultant (SPC4) certification. Always driven by her passion to have a positive impact on the decline of women in STEM education and careers, she has volunteered with organizations around the world including ChickTech, Everwise, WITI, NH Tech Alliance, Microsoft DigiGirlz, wiseHer and AnitaB.org. This passion led her to co-found Diversify Thinking, an initiative focused on moving inclusion from conversation to action. Melissa organizes mentoring programs and creates opportunities for collaboration among diverse thinkers through their Rise & Diversify Event Series. |
As a growing number of industries turn their focus on climate change, innovating in order to do their part on the journey to Net Zero – how does software engineering fit into this picture, with the industry handcuffed to its consumption of resources? In this talk we will dive into the various resources required to develop and host modern software, as well as the ways in which we can reduce our impact on the environment through architectural choices.
sustainability
climate-crisis
About the speaker...Kyle JonesKyle is a vegan polyglot software engineer at Made Tech, where he builds sustainable cloud-based applications that improve society. Kyle holds an MComp degree in Computer Games Development from the University of South Wales. |
||||||||||||||||
14:00
Invalid Time
Invalid Time
|
As the worlds of RESTful APIs and asynchronous events converge, it is clear that organizations struggle with understanding and designing highly-integrated, highly-distributed systems. This session will teach attendees a new, visual approach to integration design and analysis that includes synchronous APIs, asynchronous events, and other integration methods such as batch and streaming.
architecture
distributed-systems
About the speaker...Matt McLartyMatt McLarty is the Global Leader of API Strategy for MuleSoft, a Salesforce company. He works closely with organizations to define digital strategies, as well as design and implement enterprise-grade API and microservices solutions. An experienced software architect, Matt has worked extensively in the field of integration and real-time data distribution. He is the co-author of the O’Reilly books Microservice Architecture and Securing Microservice APIs. He co-hosts the APIs Unplugged podcast along with Mike Amundsen. |
Embedded Real-Time Systems, especially such with specialized hardware, pose a lot of additional architectural challenges compared to commercial software architectures: Technology trade-offs between hardware and software, qualities like availability that can only be solved in conjunction between hardware and software, hard real-time requirements, … Using an industrial system (called Traffic Pursuit System, mounted in police cars to trace traffic offenders) as an example, this talk demonstrates hardware/software-codesign and its documentation in the proven arc42 template. We will demonstrate how the template can be used to capture both, hardware and software design (and their alignment), how hardware and software interfaces can be modeled and how system design decisions can be captured. Special emphasis will be put on demonstrating architectural decisions to fulfil specific quality requirements (like accuracy of the measurement, robustness of the overall system and ease of use for police officers).
architecture
embedded-systems
arc42
About the speakers...Peter HruschkaPeter Hruschka is a partner of the Atlantic Systems Guild, an international think tank that has significantly influenced the systematic development of IT systems through its publications. He is co-founder and enthusiastic user of the (open source) arc42 documentation template for architecture communication and documentation as well as co-founder of the corresponding req42 template for agile business analysts and requirements engineers. Wolfgang ReimeschWolfgang Reimesch has more than 30 years experience in the area of software development. He cofounded and raised a company in the area of embedded systems development, with special focus on data radio communication. Currently he teaches courses in Software Architecture (CPSA) and Requirements Engineering and offers software architecture consultancy services. |
What if what we think makes a great leader is all wrong? When you ask people to think of leadership qualities, they tend to choose words like bold, powerful, and fearless. But if you ask people to name traits of the leaders they would like to emulate and/or follow; you get a different list. In fact, from my research, bold, powerful, and fearless don’t break anywhere near the top of the list. So, you have to ask yourself, are you trying to adapt the traits you think will make you a great leader or do you want to cultivate the qualities that people are looking for in a leader they want to follow? Based on my last couple of years of research across many demographics, I’ve compiled a list of qualities others look for in leaders. My message is that because you already possess the traits to be a great leader, you can unleash the power to do great things. This past year and half have presented the world with many challenges that I think we can overcome with strong, genuine leadership. Revolutions and significant changes always start with an individual. We all have a role to play and becoming a genuine leader is the start.
leadership
About the speaker...Jenn DonahueJenn Donahue PhD is a civil engineer and US Navy Captain who works on large scale, high profile geotechnical projects. Over her 25-year military career, Jenn has built a bridge across the Euphrates river in the midst of the Iraq war, commanded an 800-personnel Battalion in Afghanistan, and constructed combat outposts in the middle of deserts filled with insurgents. Jenn has led earthquake and tsunami reconnaissance missions in places like Samoa and Japan; designed the seismic plans for a bridge over the Panama Canal; and built roads in the coldest climes of Ketchikan. Along the way she mentored scores of young leaders and facing down bullies in her own command structure. Today Jenn runs JL Donahue Engineering. She also lectures at UC Berkeley and UCLA. |
|||||||||||||||||
15:00
Invalid Time
Invalid Time
|
“Big design up front is dumb. Doing no design up front is even dumber.” This quote epitomises what I’ve seen during our journey from “big design up front” in the 20th century, to “emergent design” and “evolutionary architecture” in the 21st. In their desire to become “agile”, many teams seem to have abandoned architectural thinking, up front design, documentation, diagramming, and modelling. In many cases this is a knee-jerk reaction to the heavy bloated processes of times past, and in others it’s a misinterpretation and misapplication of the agile manifesto. As a result, many of the software design activities I witness these days are very high-level and superficial in nature. The resulting output, typically an ad hoc sketch on a whiteboard, is usually ambiguous and open to interpretation, leading to a situation where the underlying solution can’t be communicated, assessed, or reviewed. If you’re willing to consider that up front design is about creating a sufficient starting point, rather than creating a perfect end-state, you soon realise that a large amount of the costly rework and “refactoring” seen on many software development teams can be avoided. Join me for a discussion about the lost art of software design, and how we can reintroduce it to help teams scale and move faster.
architecture
software-design
About the speaker...Simon BrownSimon is an independent consultant specialising in software architecture. He is the author of “Software Architecture for Developers” (a developer-friendly guide to software architecture, technical leadership and the balance with agility), the creator of the C4 model for visualising software architecture, and the creator of the Structurizr tooling. Simon is a regular speaker at international software development conferences, and travels the world to help organisations visualise their software architecture. |
Many companies focus on technological questions when transitioning from traditional IT infrastructure to cloud computing. Yet, not all practices, processes, and policies fit cloud-related concepts like DevOps, DevSecOps, PaaS and serverless, zero-trust networking, etc. In this session, Rainer Stropek shares his views on organizational aspects that are crucial for larger organizations that want to benefit from cloud-native software development in hyper-scale public cloud environments.
architecture
public-cloud
cloud-native
cloud
About the speaker...Rainer StropekRainer Stropek is co-founder and CEO of the company software architects and has been serving this role since 2008. At software architects Rainer and his team are developing the award-winning SaaS time tracking solution “time cockpit”. Previously, Rainer founded and led two IT consulting firms that worked in the area of developing software solution based on the Microsoft technology stack. Rainer is recognized as an expert concerning .NET development, software architecture and databases. He has written numerous books and articles on C#, database development, Microsoft Azure, XAML, and web development. Additionally he regularly speaks at conferences, workshops and trainings in Europe and the US. In 2010 Rainer has become one of the first MVPs for the Microsoft Windows Azure platform. In 2015, Rainer also became a Microsoft Regional Director. 2016, Rainer also got the MVP award for Visual Studio and Developer Technologies. Rainer graduated the Higher Technical School Leonding (AT) for MIS with honors and holds a BSc (Hons) Computer Studies of the University of Derby (UK). |
Anti-Patterns are like patterns, only more informative. With anti-patterns you will first see what patterns reoccur in “bad” retrospectives and then you will see how to avoid, or remedy, the situation. Based on her experience with facilitating retrospectives, join Aino for an entertaining and informative presentation on the anti-patterns she has seen and how to overcome the problems. This talk is focused on retrospectives, but will be interesting for everyone facilitating any kind of meeting.
agile
antipatterns
retrospectives
collaboration
About the speaker...Aino Vonge CorryAino Vonge Corry is a teacher, a technical conference editor and retrospectives facilitator. She holds a masters degree and a PhD in computer science. She has 12 years of experience with patterns in software development, and 10 years' experience with facilitation of retrospectives. She also teaches computer science teachers how to teach computer science, thus living up to the name of her company: Metadeveloper. In her spare time, singing, spending time with family and walking are her favourite things to do. Follow her on Twitter @apaipi. |
|||||||||||||||||
16:00
Invalid Time
Invalid Time
|
KEYNOTE
Evolutionary Architecture is a natural culmination of both the maturing of Agile software development and the increasing role of patterns in architecture. This talk will describe the evolution of evolutionary architecture, examining the role of patterns, I will then review the various principles of evolutionary architecture, focusing on the integration of these principles into enterprise systems.
architecture
enterprise-architecture
evolutionary-architecture
About the speaker...Rebecca ParsonsDr. Rebecca Parsons is ThoughtWorks’ Chief Technology Officer. She has more years’ application development experience than she cares to admit. She has extensive experience leading in the creation of large-scale applications, services based applications and advising architecture teams. Before coming to ThoughtWorks she worked as an assistant professor of computer science at the University of Central Florida where she taught courses in compilers, program optimization, distributed computation, programming languages, theory of computation, machine learning and computational biology. She also worked as Director’s Post Doctoral Fellow at the Los Alamos National Laboratory researching issues in parallel and distributed computation, genetic algorithms, computational biology and non-linear dynamical systems. Rebecca received a Bachelor of Science degree in Computer Science and Economics from Bradley University, a Masters of Science in Computer Science from Rice University and her Ph.D. in Computer Science from Rice University. |
-
The Future of the Past – Legacy will Stay with Us
Featuring Carola Lilienthal
We've been building software systems for 60+ years, and they continue to grow in size and complexity. All this legacy code drives up costs and makes us reluctant to touch old systems. Is this inevitable? Or is there also good legacy? What can we do to get our Legacy into shape and keep it...
legacy-systems architecture -
Essential Architectural Thinking – Why, How, What, When, and How Much?
Featuring Uwe Friedrichsen
We see a lot of confusion regarding architectural work these days. When? How much? Who? Tons of heated debates and nobody asking the essential question: Why? But without asking Why, all the other questions are futile.
software-architecture architecture -
From Dax Company to Church: Experiences from 10 Years Analyzing Complex Software Systems
Featuring Nils Göde
In our audits we identify major challenges for the future-proofness of software systems. In this talk we share our experiences from analyzing more than 100 systems during the last ten years. The challenges include inscrutable code organization, vintage technology stacks, architectures without...
automated-analysis vizualisation architecture -
Modern Architecture
Featuring Ted Neward
Software architecture is a soft term. One would think that by this time in our industry’s lifecycle, we’d have nailed some of this down by now, so let’s do that — let’s nail down what software architecture looks like in the modern software development age.
software-architecture architecture -
2
"But the New System Must be Able to do the Same as the Old One!" "No!" – Modernize Systems Properly
Featuring Dominik Rost and Matthias Naab
Software modernisation projects, a simple requirement is often given: "The new system must be able to do the same things as the old one". This talk explains why this simple requirement is nonsensical and provides experience, guidance, and best practices for modernization projects where...
software-modernisation architecture -
A Change-Data-Capture Use-Case: Designing an Evergreen Cache
Featuring Nicolas Fränkel
You may have read about Change-Data-Capture — it’s been described by Martin Kleppmann as turning the database inside out — however, CDC is quite in its early stage, and implementations are quite specific. This talk covers an easy-to-setup architecture that leverages CDC to have an evergreen...
cdc change-data-capture evergreen-cache architecture -
"Speak" Your Architecture: From Domain Language to Well-Named Components
Featuring Matthias Bohlen
Teams who write software often give rather technological names to the components they write. In this talk, Matthias suggests we show more respect to the language that the users and other domain experts speak using business-friendly and technology-neutral naming conventions.
naming business-friendly-naming user-experience domain-driven-design architecture -
Event Driven Architecture @ Allianz Advisory
Featuring Annegret Junker
The talk discusses, if event-driven architectures can be used in an advisory software as a form of reactive architectures. To do so, business requirements as well as technical implementations are covered.
event-driven-architectures advisory-software reactive-architecture architecture -
2
Does Culture Impact Software Design?
Featuring Avraham Poupko and Kenny Baas-Schwegler
One objective of software architecture is the understanding and communicating complexity. Communication is complicated by our language and cultural baggage. Assuming that everybody in the room wants to communicate effectively, what aspects can we define that impact our design?
culture software-design communication collaboration architecture -
Stress Driven Development, and How to Avoid it
Featuring Dmitry Vinnik
Famously work-life balance is often non-existent in many organizations. With stress, your creativity shrinks and innovative approach dies in a busy work you do. It doesn't have to be that way. This talk explores ways how to relax and avoid “Stress Driven Development”.
people health productivity architecture -
Sustainable Design for a Better Tomorrow
Featuring Frank Pientka
IT is characterized by innovations and rapid changes. Unfortunately, sustainability has not been as much of a focal point so far. However, in order to achieve the ambitious climate targets, the IT sector, as an important driver of digitization, has to make its contribution as well.
sustainability energy-consumption climate-footprint architecture -
The Indisputable Structure for Backends and Frontends
Featuring Adam Bien
What is the internal structure of your cloud-native Java microservice? How do you organize your frontend? Is there a relation between the frontend and backend design? This talk introduces a consistent, feature-driven, standards-based structure called BCE and apply it to microservices and SPAs.
frontend backend bce microservices spa architecture -
Wunderkind Natural Language Processing – Opportunities, Challenges, & Limits
Featuring Jannik Fischbach
Natural language processing (NLP) has made incredible strides causing an increasing demand for NLP-based development. This talk takes an honest look at NLP based on 8 years of experiences building NLP-based systems in production.
natural-language-processing architecture -
Architecture & DevOps – How to Deliver Sustainable Quality in an Ever-Changing Environment
Featuring Peter Götz
How can Software Architecture and DevOps successfully fit together? This talk uses real-world examples to explore general strategies agile teams can use to build and foster a DevOps culture while at the same time ensuring high-quality and sustainable software delivery.
devops architecture -
Beyond the Known Knowns
Featuring Kevlin Henney
This talk looks at the relationship of knowledge to software, the codification of knowledge in architecture, the acquisition of knowledge to development process, and how we can make progress in the presence of known unknowns, unknown unknowns and unknowable unknowns.
knowledge knowledge-acquisition development-process architecture -
Building Reactive Systems on AWS
Featuring Sascha Möllering
Today, end users often expect subsecond response time and 100% uptime. Reactive systems can address these requirements. In this session, you'll learn how users adopt reactive patterns for their high-performance applications and have a look at typical, well-architected implementations on AWS.
... aws reactive-systems performance architecture -
Compression, Dedupe, Encryption, Conundrums in Cloud
Featuring Tejas Chopra
Cloud storage footprint is in exabytes and exponentially growing. In this talk, we will cover some of the space and time optimizations, which have historically been applied to on-premise file storage, and how they would be applied to objects stored in Cloud.
compressions dedupe encryption optimization cloud architecture -
D.A.R.E. More, F.E.A.R. Less – How Journaling Puts Leadership in Action
Featuring Cosima Laube
During my career in IT and people development I had several turning points where journaling techniques helped me successfully tackle the next challenge. Over the years I reflected why those ‘written self-reflection’ techniques are so powerful and – at the same time – they are still quite rarely...
journaling people-development leadership -
2
Architecture Meets Artificial Intelligence
Featuring Andreas Rausch and Christoph Knieke
In development and implementation of AI-based systems, the main challenge is not to develop the best models/algorithms, but to provide support for the entire lifecycle. In this talk we will show the different aspects of a Software Architect has to master to integrate AI-based technologies.
machine-learning artificial-intelligence architecture data -
Software Architecture, Team Topologies, and Complexity Science
Featuring James Lewis
Recent research summarised in the book Accelerate points to a set of practices that lead to high software development organisation performance. Simultaneously, research from the Santa Fe institute on Complex Adaptive Systems over the last 20 years seems to point to a grand unified theory of...
teams software-architecture team-structure complexity-science architecture -
Metrics for Architects
Featuring Alexander von Zitzewitz
Software metrics can be used effectively to judge the maintainability and architectural quality of a code base and as an early warning sign about architectural and technical debt. This talk introduces key metrics that every architect should know and introduces a new metric to measure...
metrics maintainability architecture -
2
Legacy Supplantation Patterns
Featuring Ian Cartwright and Rob Horn
In this talk we describe several of the legacy supplanation patterns that we found to be successful as well as some of the “anti-patterns” that more often than not lead to failure. For each pattern, we describe a particular approach, the context where it’s effective and explain how and why you...
legacy-code legacy-supplantation-patterns anti-patterns software-modernisation architecture -
Beyond Micro Frontends: Frontend Moduliths for Enterprise Solutions
Featuring Manfred Steyer
Micro Frontends are not the only solution and – unsurprisingly – not always suitable. Hence, in this session, I present an alternative frontend architecture that we have successfully used in numerous enterprise projects in recent years: the Frontend Modulith.
frontend-modulith architecture -
Architectural Patterns for Rapid, Reliable, Frequent and Sustainable Development
Featuring Chris Richardson
In this talk, I describe loose coupling and modularity and why they are is essential. You will learn about three architectural patterns: traditional monolith, modular monolith and microservices. I describe the benefits, drawbacks and issues of each pattern and how well it supports rapid,...
microservices architectural-patterns modular-monolith architecture -
Why a Diverse Team is Crucial to Startup Success
Featuring Melissa Jurkoic
How does team diversity impact your customers’ experience? You will attract and relate to customers who reflect your team. If you don’t represent the right dimensions of diversity, you are leaving an amazing experience behind.
startups diversity -
Architecture, Babies, and Bathwater
Featuring Stefan Tilkov
To seasoned software architects, it sometimes seems as if our discipline is more alike to the fashion industry than we’d like, and the hype cycle might be the best-known (pseudo-)mathematical graph in our community. Is everything new really only old stuff in new disguise, or is that just old...
software-architecture architecture -
Domain-Driven Design & Legacy: Evolution Not Revolution
Featuring Eberhard Wolff
This talk focuses on techniques for introducing bounded contexts and assessing where improvements are needed. In this way, Domain-Driven Design becomes possible where it is needed most – in existing systems that are often business critical, but were originally developed with no regard to DDD.
domain-driven-design legacy-systems architecture -
That's Not in my Job Description
Featuring Alexander Lorz
Compared to some of the IT industry’s more imaginative job descriptions, “software architect” appears to be a clear-cut role with a generally accepted set of duties and responsibilities. Upon closer inspection, however, this seems to be one of those things that everyone agrees on until one starts...
software-architecture architecture organizational-context team-structure -
Balancing Choreography and Orchestration
Featuring Bernd Rücker
Choreography vs. orchestration is not about choosing the RIGHT approach. In real life, you need to balance both, so it is about choosing wisely on a case-by-case basis. This talk walks you through the differences and offers concrete guidance on decision criteria, backed by examples.
choreography orchestration architecture -
The Myth of Team Autonomy: Why it is an Illusion and We Still Need It
Featuring Gerrit Beine
Autonomy is often considered a value without defining what it actually is. The talk looks at the question of team autonomy from the perspective of organisations. Can there be autonomous teams? What does autonomy mean within an organisation? Why does it happen that teams are considered as...
teams team-autonomy collaboration autonomous-teams organizational-structrue organizational-autonomy agile devops -
Mainframe & Serverless Integration – How to Liberate the Data and Stay Competitive
Featuring Federico Fregosi
Financial institutions are at a crossroads: modern tech is putting pressure on reliability and resilience, pushing innovation at speed, and churning out ever-evolving products and tech talent. This talk covers our experience liberating the data in the mainframe with a hybrid...
fintech serverless containers mainframe aws cloud architecture -
Quality Storming: Collaborative Modelling for Quality Requirements
Featuring Michael Plöd
This talk provides an intro to Quality Storming, a collaborative modelling technique which brings together a set of stakeholders of a product or project to collect quality requirements. The goal is to gain a shared understanding of the real needs for the quality characteristics of a product.
collaborative-modelling quality-storming architecture -
How to Read Complex Code?
Featuring Felienne Hermans
In this talk, Felienne Hermans, associate professor at Leiden University, will firstly dive into the cognitive processes that play a role when reading code. She will then show you theories for reading code, and close the talk with some hands-on techniques that can be used to read to any piece of...
programming learning code -
Why Software Should Reflect Real Life
Featuring Yara Mayer
Not taking into account what a piece of software represents in real life can lead to higher complexity, additional dev costs, difficult refactorings, and ultimately, a software that no longer scales. This talk looks at some real-life examples and at things to keep in mind to avoid these issues.
refactoring complexity architecture -
Lessons Learned Using ARC42 in a Real DevOps Team
Featuring Johannes Dienst
In this talk Johannes Dienst discusses his experiences, successes and failures with the arc42 architecture template in a DevOps team in a corporate environment with a product development focus.
arc42 documentation architecture -
The Art of Improving Software: Legacy Evolution, Done Right
Featuring Gernot Starke
Although we complain about technical debt, lack of innovation and the architectural deficits of historic software, we often patch, fix or hack symptoms instead of curing the root causes of these problems. In this talk you’ll get an overview of systematically improving or modernizing your system.
... legacy architecture -
Event-Driven Microservices – Evolution, Not Revolution
Featuring Allard Buijze
In this talk Allard explores how to achieve the benefits of Event-Driven Microservices by not focusing on the Event-Driven aspect and avoiding Microservices. He discusses how a different way of looking at Messaging allows a system to gradually evolve, maybe with microservices as an end result.
microservices event-driven-architecture messaging architecture -
Clean Infrastructure as Code
Featuring Mario-Leander Reimer
Clean code principles have become the default for our business code — unfortunately by no means applies to our infrastructure code. In this hands-on session we show several useful patterns, practices, tools and frameworks that help to write and craft clean infrastructure as code.
infrastructure-as-code clean-infrastructure architecture -
Continuous Software Architecture for the Digital Age
Featuring Eoin Woods
Software architecture has evolved from an up-front activity, where a single architect created the architecture, to today’s team-based adaptive approaches where architecture is a shared activity. In this talk we’ll explore the architectural practices that deliver architecture as a “shared commons”...
continuous-architecture architecture -
Is software architecture an end in itself?
Featuring Holger Tiemeyer
In this session, we want to take a relaxed journey through the challenges of a software architect in everyday project life and look at different forms in which the skills of a software architect can support us – both technically and professionally – to put an executable system into production.
software-architecture architecture -
Modules are Underrated
Featuring Richard Wallintin
Many organisations adopt DDD and apply strategic design to build services and apps within bounded contexts. But that cannot be the end of the story – successful applications grow and the world changes. Bounded contexts will require adjustment – and that requires modularity within their domain...
hexagonal-architecture domain-driven-modules modules architecture -
Software Architecture in a DevOps World
Featuring Bert Jan Schrijver
Most modern software teams strive for Continuous Delivery with a DevOps mindset: you build it, you run it. But what is the role of a software architect in such a fast-paced world? With daily deployments, is there even time for software architecture?
continuous-delivery devops architecture -
Software Architecture in Predictive Analytics Software
Featuring Hiral Vyas Dave
Based on Hiral's experience working with Predictive Analytics Software for power plants, this talk explores the benefits and challenges of practicing Software Architecture in Predictive Analytics Software.
predictive-analytics architecture -
2
Package Structures of Software Systems
Featuring Matthias Eschhold and Steve Walter
The package structure you choose has a great influence on the architecture and maintainability of your software system. It lays the foundation for whether your application remains manageable in the long term or becomes a big ball of mud. In this talk, we will show what matters.
maintainability package-structure architecture -
Building Greener
Featuring Kyle Jones
As a growing number of industries focus on climate change and their part on the journey to Net Zero – how does software engineering fit into this picture, with the industry handcuffed to its consumption of resources? This talk dives into the ways in which we can reduce our impact on the...
climate-crisis sustainability -
Orthogonal Defect Classification Data for Improving Leading Metrics
Featuring Nagesh Shenoy
Leading indicators are the metrics providing us hint on the product quality during development cycle. Question is can we get them more accurate? We try to answer this question with Orthogonal Defect Classification (ODC).
architecture -
A Visual Language for Systems Integration
Featuring Matt McLarty
As the worlds of RESTful APIs and asynchronous events converge, it is clear that organizations struggle with highly-distributed systems. This talk shares a new, visual approach to integration design and analysis that includes synchronous APIs, asynchronous events, and other integration methods.
distributed-systems architecture -
Cloud Security Beyond Technology – Organizational Challenges on the Way to Cloud Native
Featuring Rainer Stropek
In this session, Rainer Stropek shares his views on organizational aspects that are crucial for larger organizations that want to benefit from cloud-native software development in hyper-scale public cloud environments.
cloud cloud-native public-cloud architecture -
Debunking What Makes a Great Leader
Featuring Jenn Donahue
What if what we think makes a great leader is all wrong? Do you want to adapt the traits you THINK will make you a great leader? Or do you want to cultivate the qualities that people are actually looking for in a leader?
leadership -
2
Embedded Systems Architecture
Featuring Peter Hruschka and Wolfgang Reimesch
Embedded Real-Time Systems, especially with specialized hardware, pose a lot of additional architectural challenges compared to commercial software architectures. This talk demonstrates hardware/software-codesign and its documentation in the proven arc42 template.
arc42 embedded-systems architecture -
Retrospecitves Antipatterns
Featuring Aino Vonge Corry
Anti-Patterns are like patterns, only more informative. With anti-patterns you will first see what patterns reoccur in “bad” retrospectives and then you will see how to avoid, or remedy, the situation. Based on her experience with facilitating retrospectives, join Aino for an entertaining and...
collaboration retrospectives antipatterns agile -
The Lost Art of Software Design
Featuring Simon Brown
Join Simon Brown for a discussion about the lost art of software design, and how we can reintroduce it to help teams scale and move faster.
software-design architecture -
Evolutionary Architecture: Principles and Patterns
Featuring Rebecca Parsons
Evolutionary Architecture is a natural culmination of both the maturing of Agile software development and the increasing role of patterns in architecture. This talk describes the evolution of evolutionary architecture, focusing on the integration of these principles into enterprise systems.
evolutionary-architecture enterprise-architecture architecture
-
iSAQB Software Architecture Gathering — Digital 2022
Four days - Online Conference
The Software Architecture Gathering is the international conference highlight for all those working on solution structures in IT projects: primarily software architects, developers and professionals in quality assurance, but also system analysts who want to communicate better with their...
architecture-and-design software-architecture architectural-patterns architectural-considerations domain-modeling api-architecture microservices monolithic-architecture