Zuzel Vera Pacheco, a Master Student at the University of Toronto under the supervision of Greg Wilson has been working on the Back-annotation of data models at run-time. For a short description of her project see also this presentation on Slideshare.
As part of this work, she has done a very interesting experiment in which she has analyzed the diagrams/notations that programmers use to represent the execution of database queries. Now, she is reporting the first results of the experiment showing that “there is not a single pair that uses the same notation”.
Definitely, something to think about. The next question would be: Are all programmers at least able to understand the representations used by their peers? If so, what’s the importance of standard notations? Do we all have an implicit knowledge that helps us to understand new notations? Is this “knowledge” an important factor when designing a new notation (imagine that our invented notation is counterintuitive and people make the wrong assumptions about it)?. Any opinions?
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
Interesting indeed. The notations differ, I’ve seen that in practise as well (just check random white boards in any development organisation). However, did the experiment include a check on what the perspective (which concepts are key?) of the individual developers – or were they provided with a prescribed perspective?
Some tend to focus more on entities, others on relations etc.
Very interesting, so everything comes to the question you did: “Are all programmers at least able to understand the representations used by their peers?”. Or maybe it is time for some new Booch, Jacobson and Rumbaugh to arise.
This was also touched on by Parnas in CACM: http://amazinnggg.blogspot.com/2011/07/parnas-on-requirements-engineering.html