some other oopsla nuggets

I ran across a poster at OOPSLA about PARSEWeb, a tool that can provide software developers with documentation about how to construct the objects they need given examples of open source code available on the web. The central idea of this tool is that developers know the types of objects that they need to construct, but it’s not always clear how to get there. If you’ve ever programmed an application using a large, complicated framework, you’ve probably experienced this.

I attended a practitioner’s report on domain-driven design that described experiences in implementing a domain-driven design approach at a foreign exchange house and a large oil company. At the foreign exchange house, the advantages of refactoring software using a domain-driven approach were clear, especially in the “So We Thought We Knew Money” report. Most interestingly, when asked what aspect of domain-driven design most improved their development experience, both presenters said that the “ubiquitous language” that results from a domain-driven approach to design was most influential. Users, analysts, testers, managers, and developers were all speaking the same language. Savvy users were even creating test cases and handing them to developers to implement because they were able to talk about the domain in the same language! A former professor of mine, James Hoover at the University of Alberta, referred to this language as making up a part of a project’s “ontology.” It seems that domain-driven design might be useful in developing this ubiquitous language in a similar fashion to how design patterns offer designers a common language for talking about their designs.


About this entry