Hasso-Plattner-Institut
 

Software Design in an Exploratory Culture

Toward a Pattern Language to Discover, Learn, and Communicate Exploratory Programming Practices

PI: Professor Dr. Robert Hirschfeld

Abstract

Understanding unfolds only gradually. Because of that, software developers strive for simple and malleable design models and code elements to be able to react to insights and changes swiftly and concisely. While Design Thinking and agile development provide guidance mainly for user-centered and collaborative activities, processes and supporting technologies suitable for exploring complex problem domains and solution spaces have been neglected.
With programming as theory building at the core of software system development, we want to apply the idea of pattern languages to capture and preserve original and modern exploratory programming practices. Based on the concise representation of each individual pattern, such a pattern language for exploratory programming can support developers discover, learn, and communicate best practices to arrive at and maintain a high-quality code base.
We argue that software development will greatly benefit from such a synergy of insights from the Design Thinking and Design Patterns communities to provide means to explore interesting problem domains and propose meaningful software solutions more creatively and effectively.

Team