Can Design Thinking Improve Programming? Exploring Means to Grow a Shared Vocabulary Between Programmers and Domain Experts

PI: Prof. Dr. Robert Hirschfeld


Programmers collaborate continuously with do-main experts to explore the problem space and shape a solution that fits the users’ needs. In doing so, all parties grow a shared vocabulary, which is above all a list of named concepts and their relationships to each other. Nowadays, many programmers favor the object-oriented programming paradigm because it allows them to directly model real-world concepts and interactions in source code. However, classifications in such programs are de-fined in reverse order compared to what intuition suggests: creating a named structure vs. observing a structure and naming it. This mismatch poses constant challenges when programmers talk with domain experts about the system at hand and the next steps to be taken to evolve it. In this project we will investigate new means to extend the object-oriented paradigm to better support shared vocabularies with their intuitive classifications.