Publications

Throughout the last couple of years I've had the chance to write a few books, based on my IT project background. activity. These books present practical expertise and may be useful in your projects too.

Curious? A click on the book cover leads you to a page where the book is presented.
In addition to these books, I wrote several articles, which I'd also like to present here.

Journal articles
  • Lernen von den Kognitionswissenschaften: Praktiken für gute Entscheidungen in IT-Projekten (German)
    Making good decisions is essential for successful projects. Unconcious attitudes and behaviour, however, can impair our decisions. Fortunately, there are different ways to tame these so-called cognitive biases. Integrating these methods into everyday project business is promising especially in an agile context.
    In OBJEKTspektrum 01/2021, SIGS DATACOM, 2021.
  • Von agilen Verfahren lernen: Auf dem Weg zu bedarfsgerechter Dokumentation (German)
    This article gives an overview of how agile principles can be applied to documentation. The article shows how to reduce the amount of documentation to a reasonable level. It also discusses different process topics, such as choosing the right time for documentation in the course of a project.
    In OBJEKTspektrum 03/2011, SIGS DATACOM, 2011.
Conference and book contributions
  • Transform! - Patterns for Data Migration
    When an existing application is replaced by a new one, its data has to be transferred from the old world to the new. This process, known as data migration, faces several important requirements. Data migration must be accurate, otherwise valuable data would be lost. It must be able to handle legacy data of poor quality. It must be efficient and reliable, so as not to jeopardise the launch of the new application. This paper presents a collection of patterns for handling a data migration effort, focusing on both the design of the migration code and on process issues.
    In James Noble, Ralph Johnson (Eds.): Transactions on Pattern Languages of Programming, Vol. 3, Springer, 2013.
    The original article is available on the Springer website.
  • Patterns for Successful Framework Development
    Database access, GUI programming, transaction management: there are plenty of things that keep popping up in development projects. Since reuse is one of the big goals of software engineering, the idea of developing a framework springs to mind. Nonetheless, many projects are reluctant to develop a framework. For very good reasons, since a framework's complexity can easily turn using the framework into a hassle. This book chapter shows you how to develop small, well-targeted frameworks in a project context.
    In Dragos Manulescu, James Noble, Markus Völter (eds.): Pattern Languages of Program Design, Vol. 5, Addison-Wesley, 2006.
  • Insights into Decision Making - Analogies from Other Disciplines
    Making decisions can be difficult, yet is has do be done. There's often some tension between the desire for flexibility on the hand and the desire for a stable process on the other. This paper elaborates on several principles that can help you keep the balance.
    In the proceedings of EuroPLoP 2004 (Ed. Klaus Marquardt, Dietmar Schütz).
  • 2D History - Versioning in the Presence of Retroactive and Future Changes
    Two-dimensional history is a versioning concept that makes a difference between when application data become effective and when they become known. This concept allows you to model things such as retro-active changes which are actually quite common in financial information systems. The paper contains five patterns that introduce the concept as well as implementation techniques.
    In the proceedings of EuroPLoP 2002 (ed. Alan O'Callaghan, Jutta Eckstein, Christa Schwanninger).
  • Managing Class Dependencies in Frameworks
    Frameworks offer a huge degree of flexibility. This, however, can have its drawbacks too, for instance if several hot spots aren't independant of each other and constraints lead to an increased complexity. This paper offers a classification for the techniques that can be used to manage such constraints.
    In Mohamed Fayad, Ralph Johnson, Douglas Schmidt (ed.): Building Application Frameworks. John Wiley & Sons, 1999.
Share by: