Dirk Riehle's Industry and Research Publications

Category: 2. Building Products

  • Every Complex System that Works Started Out as a Simple System that Worked

    The title of this blog post is my paraphrasing of a “law” from the tongue-in-cheek but nevertheless somewhat serious book “Systemantics” by John Gall. I tracked it down through Grady Booch’s original OOAD book and it had been pointed out to me by Ralph Johnson. What’s so special about this quote? Well, it frames an…

  • Open Collaboration: Self-Organizing Innovation in Large Corporations

    Author: Dirk Riehle, SAP Research, SAP Labs LLC Reference: Steven Fraser (editor). “Escaped from the Lab: Innovation Practices in Large Organizations.” In Companion of the 2008 Conference on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA ’08). ACM Press, 2008: Pages 787-790. Available as a PDF file; my part follows as HTML below. Position statement…

  • End-User Programming with Application Wikis

    Title: End-User Programming with Application Wikis: A Panel with Ludovic Dubost, Stewart Nickolas, and Peter Thoeny Author: Dirk Riehle Abstract: Wikis empower users to collaborate with each other using prose. Users imprint data structures and processes onto wiki pages using social and technical conventions. Application wikis enhance wiki engines with lightweight programming features that aid…

  • Bringing Open Source Best Practices into Corporations Using a Software Forge

    The pre-publication version of this paper has been superseded by the final copy-edited version.

  • Design Pattern Density and Design Maturity

    JUnit is a widely-adopted unit testing framework for Java, developed by Kent Beck and Erich Gamma. In their discussion of JUnit 3.8’s design, the authors state: Notice how TestCase, the central abstraction in the framework, is involved in four patterns. Pictures of mature object designs show this same ‘pattern density’. The star of the design…

  • Object-Oriented Software Design Documentation

    Software researchers need case studies to validate new tools and methods of object-oriented software design. A good thing to do is to standardize on a set of open source frameworks and libraries that are known and available to everyone. Basically, a benchmark set for new tools and methods in object-oriented software design. JUnit and JHotDraw…