Requirements Elicitation on April Fool's Day
-- Good Old Tricks in Modern Software Industry (1)
The story starts by an April Fool's day.
Our protagonist is the hottest model-driven software company, Itemis. The most well-known product of Itemis
is Xtext, a framework and toolkit for generating source code from domain-specific models.
In 2010, the company was not big, only consists of a dozen people. However,
they have contributed the 3rd largest number of lines of code (millions of
them) to the open-source Eclipse community, ranked just after IBM and Oracle.
How was that possible? Well, thanks to the popularity of Xtext framework, adopted by a number of research labs
including OpenOME from University of Toronto (tool supporting for i*), OpenPF from The Open University (tool
supporting Problem Frames), and LTS from Imperial College London (tool supporting for Linear Temporal Logic),
to name a few.
These users of Xtext generate a lot of code! Once these generated code were committed back to the open-source
community, the LOC count of Xtext increases, there is no magic really! :-)
Additionally, the generated code from Xtext framework has quite a few useful functions, such as syntax-guided
text editors and graph editors, graph layout algorithms, printing to SVG or PDF, format converstions, EMF-based
model transformations, etc. These functions come for "free", and provide basic but decent quality, very suitable
to rapid prototyping.
On April 1, 2010, the very April fool's day, the CEO of Itemis, Sven Efftinge posted the following blog, "Bringing Xtext to
In brief, although Xtext could already help generate Eclipse plugins for you,
probably you would also like to generate Browser extensions that can edit the
model directly, without having to wait for the installation of Eclipse.
Now the functionality is here, see the video clip, etc., etc.
As a practitioner of Automated Software Engineering and developer of Eclipse-based software tools, I am one of the
users who need this function desperately, because it would be such a nice feature:
Imagine we create a Problem Frames model in UK, and after informing my
potential colleague in China, it would be great for them to see an editable
model on the Web browser, rather than waiting for me to tell them the URL to
download and install the tool. Perhaps our attention span would not last longer
than the installation, we will waste such a good opportunity
Of course, we know now that Google and other cloud computing companies have
provided such collaborative editing features in their latest product. But back
in 2010, it was a nice feature to have! Plus that Google doc tool then was only
for a few predefined formats, not usable for research prototypes that are user
If only user-defined domain-specific models could be shared and edited using browser-native
tools, that would be cool and extremely useful !
The video link provided by Itemis in the April 1st blog was so real, that it was as if the feature
was already there in the product beta, just before releasing to the public after serious testing.
I subscribed to the blog and monitored its progress, just hoped to be the first to try it out.
Only to found a week later the following post someone asked the question for me:
I was stunned. Although I had a little hunch initially not to trust the news on April Fool's day, I was sold by the
German company's sincereness over the years. Never suspected that this could happen to me!
With additional inquires on the thread, all was explained by the following post finally:
NOW I SEE!
The joke was intentional. Itemis would like to know whether there was any market or real need to have
such a non-functional requirement, by testing the temperature of the water. Such a "social experiment"
served the purpose.
Of course, the technical challenge to deliver these features was huge. It was
not achievable until Eclipse platform had evolved around browser-based
technology, 3 years later...
Although I am not in for this kind of lie-telling games, I could still appreciate the effort for requirements elicitation.
Believe it or not, subsequently I published two articles on the basis of the lessons from this story...
- Yu, Yijun; Petre, Marian and Tun, Thein Than (2011). Miki: a wiki for synchronous modeling of software requirements. In: 4th FlexiTools workshop @ ICSE 2011, 22 May 2011, Waikiki, Honolulu, Hawaii. USA.
- Yu, Yijun; Lin, Yu; Hu, Zhenjiang; Hidaka, Soichiro; Hiroyuki, Kato and Montrieux, Lionel (2012). Maintaining invariant traceability through bidirectional transformations. In: 34th International Conference on Software Engineering, 2-9 June 2012, Zurich, Switzerland.
PS. Only one day in a year you can play this trick without damaging the
reputation! Well, maybe it is better now. The "Kick Start" project is a
dedicated fora for companies to trying out unrealised prototypes to see whether
enough people would buy it or not. Of course, that's already another story ...
Office: +44 (0) 1908 6 55562