Resolving technical debts in software architecture

Speaker: Carola Lilienthal, Workplace Solutions GmbH

Abstract: Today programmers do not develop applications from scratch, but they spend their time fixing, extending, modifying and enhancing existing applications. The biggest problem in their daily work is that with time maintenance mutates from structured programming to defensive programming: The code becomes too complex to be maintained. We put in code we know is stupid from an architectural point of view but it is the only solution that will hopefully work. Maintenance is more and more difficult and expensive. Our software accumulates technical debts.

In this talk, you will see how you should improve your architecture and source code to prevent technical debt growing unrestricted. With the proper knowledge about well-structured architecture, refactorings for tangled code can quickly be found. Complex code can be eliminated, and maintenance costs will be reduced.

Bio: Carola Lilienthal studied computer science at the University of Hamburg from 1988 to 1995, and in 2008 she received her doctoral degree in computer science at the University of Hamburg (Supervising Professors: Christiane Floyd and Claus Lewerentz). Today, Dr. Carola Lilienthal is managing director of WPS - Workplace Solutions GmbH and is responsible for the department of software architecture. Since 2003, Dr. Carola Lilienthal has been analyzing architecture in Java, C #, C ++, ABAP and PHP throughout Germany, and advising development teams on how to improve the longevity of their software systems. In 2015, she summarized her experiences from over a hundred analyzes in the book 'Long-living software architectures'. She is particularly interested in the education of software architects, which is why she is an active member of iSAQB, the International Software Architecture Quality Board e.V., and regularly disseminates her knowledge at conferences, in articles and training courses.


Moving towards Evidence-based Software Architecture Research

Speaker: Claes Wohlin, Blekinge Institute of Technology

Abstract: Evidence-based Software Engineering (EBSE) was introduced as a concept into the discipline 15 years ago. However, EBSE does not come for free. We need to think carefully about the interpretation of any empirical data acquired. If misinterpretations are published and then cited, it results in spreading incorrect information. Furthermore, empirical studies are heavily context-dependent, and hence there is a need to state the context of specific studies. Software development has changed dramatically over the years. For example, we have moved from a more plan-driven approach to agile with, in many cases, frequent releases to the market or the customer. Papers are published with similar content, for example, based on the same data, partially the same data or similar research questions. As a result, it becomes hard to extract the actual evidence without it being overrepresented due to the number of publications. The keynote presents and discusses illustrations of issues related to the interpretation of empirical studies, citations of them, distortion of findings, use of data, the need to contextualize our results and to take ageing of data into account, and finally to be very careful when publishing papers reusing data from other publications. In the keynote, it is concluded that if we really would like to be successful in making software architecture research into an evidence-based discipline, we need to continue to improve the conduct and presentation of empirical studies.

Bio: Claes Wohlin is a Professor of Software Engineering at Blekinge Institute of Technology, (BTH) Sweden. At BTH, he has been Vice President for six years and Dean for the Faculty of Computing for five years. Before joining BTH in 2000, he held professor chairs at the universities in Lund and Linköping in Sweden. Claes Wohlin received a PhD in Communication Systems from Lund University in 1991. His research interests include empirical methods in software engineering, software process improvement and software quality. He is the principal author of the book “Experimentation in Software Engineering” that have more than 5000 citations. He was the recipient of Telenor’s Nordic Research Prize in 2004 and elected as a member of the Royal Swedish Academy of Engineering Sciences in 2011. For his 17 years of services as an editor for the Journal of Information and Software Technology, he was appointed Editor Emeritus in 2019. Contact him at claes.wohlin@bth.se or visit his website at http://www.wohlin.eu.


Democratising Software Architecture

Speaker: Eoin Woods, Endava

Abstract: Software architecture emerged in the 1990s, and has been evolving ever since, in response to the the design challenges of each era of software systems. In parallel, the role and practice of the software architect as also been evolving.

At one time architecture was seen as a directive, up-front activity, where a single brilliant architect created the architecture for the system which was then implemented by others - the “single mind” of Fred Brooks’ experience popularised as “architectus reloadus” in Martin Fowler’s well known writing. However the success of agile ways of working has challenged this view and software architecture work has been steadily evolving towards a shared activity owned by the entire team.

Today’s mainstream acceptance of Agile+DevOps as the preferred way of working once again raises questions of what architecture work is and who does it. It simultaneously challenges much of our previously accepted wisdom, preferring architecture to be a “shared commons” across the development organisation, while demanding a sophisticated level of software architecture practice to deliver on the promises of Agile+DevOps.

One way of describing this situation is the need to “democratise” software architecture so it becomes a shared responsibility rather than a centralised impediment to rapid delivery. In this talk we’ll examine the challenges of software architecture in today’s modern distributed teams and ask how we might make the architecture of their systems a shared responsibility to allow them to achieve the software architecture that they need at the speed that they need it.

Bio: Eoin Woods is the CTO of Endava, a technology company that delivers projects in the areas of digital, agile and automation. Prior to joining Endava, Eoin has worked in the software engineering industry for 20 years developing system software products and complex applications in the capital markets domain. His main technical interests are software architecture, distributed systems and computer security. He is a former editor of the IEEE Software “Pragmatic Architect” column, co-author of the well known software architecture book “Software Systems Architecture” and was the recipient of the 2018 Linda M. Northrup Award for Software Architecture, awarded by the SEI at Carnegie Mellon University. Eoin can be contacted via his web site at www.eoinwoods.info.