This year, I will again have the pleasure of going at NDC Oslo 2015. This time I will talk about the demo-driven approach and the importance of storytelling in software engineering.
Here is the abstract of the talk:
Feedback is the central source of agile value. The most effective way to obtain feedback from stakeholders is a demo. That is what reviews are about. If a demo is the means to value, shouldn’t preparing the demo be a significant concern? Shouldn’t the preparation of demos not be left for the last minute? Should it not be part of the definition of done?
Good demos engage. But, there is more to a good demo. A good demo tells a story about the system. This means that you can tell the story. And it also means that the system is made to tell that story, too. Not a user story full of facts. A story that makes users want to use the system.
Many things go well when demos come out right. Your system looks different. Stakeholders are in sync. Marketing does not have to lie. And even sales can sell better.
This talk tells stories of successful demos and distills demo-driven lessons from both working in research and in industry. These lessons are meant to be used in every day projects.
Pharo 4.0 is here!
Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.
Many things have changed in Pharo. Here are some highlights:
- Inspector/Playground/Spotter are new moldable development tools for inspecting, coding and searching objects.
- Slots model instance variables as first class entities and enable meta-programming on this level.
- ShoreLine reporter introduces a way to report system errors and collect statistics, that we will use for future improvements
- Dark theme.
These are just the more prominent highlights, but the details are just as important. We have closed 1700 issues in Pharo 4. Take a moment to go through a more detailed recount of the progress: ChangeLogs.
Pharo is improving on many fronts, but one of the most prominent changes is the addition of moldable tools for inspection and search. These tools provide extension mechanisms that allow every object to define ways in which it can be understood effectively. To provide an idea of the impact of the already existing extensions, the map below shows the Pharo classes grouped in packages, highlighting in red those parts of the system that have at least one such custom view coming with the main distribution. The spread of these extensions shows that moldability is powerful mechanism that can be used in many contexts.
Remember that Pharo is your platform. We thank all the contributors of this release:
Clara Allende, Jean-Baptiste Arnaud, Jean-Christophe Bach, Philippe Back, Clement Bera, Alexandre Bergel, Torsten Bergmann, Vincent Blondeau, Noury Bouraqadi, Santiago Bragagnolo, Johan Brichau, Sven Van Caekenberghe, Damien Cassou, Nicolas Cellier, Guido Chari, Dimitris Chloupis, Andrei Chis, Ben Coman, Bernardo Contreras, Tommaso Dal Sasso, Jan Van De Sandt, Christophe Demarey, Sean DeNigris, Marcus Denker, Martin Dias, Stephane Ducasse, Stephan Eggermont, Luc Fabresse, Johan Fabry, Hilaire Fernandes, Jerome Garcia, Tudor Girba, Thierry Goubier, Jigyasa Grover, Kris Gybels, Norbert Hartl, Dale Henrichs, Pablo Herrero, Nicolai Hess, Pavel Krivanek, Juraj Kubelka, Jan Kurs, Laurent Laffont, Jannik Laval, Kevin Lanvin, Max Leske, David Lewis, Diego Lont, Esteban Lorenzano, Tim Mackinnon, Attila Magyar, Esteban Maringolo, Stefan Marr, Max Mattone, Martin Mc Clure, Eliot Miranda, Alain Plantec, Guillermo Polito, Damien Pollet, Stefan Reichhart, Mark Rizun, Udo Schneider, Ignacio Sniechowski, Henrik Sperre Johansen, Igor Stasenko, Aliaksei Syrel, Ciprian Teodorov, Camille Teruel, Sebastian Tleye, Yuriy Tymchuk, Peter Uhnak, Andres Valloud, Sven Van Caekenberghe, Thomas Vincent, Jan Vrany, Martin Walk, Richard Wettel, Dmitri Zagidulin
And all those who contributed indirectly, by reporting bugs, participating in discussion threads and providing feedback.
Pharo 4.0 is another big step. And, the best is yet to come.
The Pharo Team
We are happy to announce version 5.0 of the Moose Suite: http://moosetechnology.org/#install
This is by far the most extensive Moose release to date. Just take a look at these two trailers:
The key highlights are:
- It is based on Pharo 3.0.
- Roassal2 is a complete reimplementation of the core visual engine of Moose.
- Roassal2 replaced Roassal, EyeSee and Graph-ET, and it features many new things including smooth animations, new composeable builders and several new layouts.
- All built-in Moose visualizations use Roassal2.
- Glamour has been extended with a Pager browser and with Rubric as the main text editor.
- GTSpotter is a new tool that makes it possible to find objects fast.
- GTInspector saw major usability improvements based on the Pager browser, and it now comes with many object specific extensions.
- GTPlayground provides a new way to handle scripts and when combined with GTInspector, it can replace the dedicated easels and editors.
- Moose Finder has been extended with the ability of handling in place visualizations.
- GTDebugger has been strengthen and was made more robust.
- PetitParser has been extended with the notion of context which enables elegant island parsing.
A list of issues addressed in this release can be found on the issue tracker.
The Moose Suite 5.0 comes for each platform as a separate bundle:
The Moose Suite 5.0 can also be loaded in a Pharo 3.0 image either from the Configuration Browser, or by executing the following script:
smalltalkhubUser: 'Moose' project: 'Moose';
The Moose team
A couple of weeks ago, I had the pleasure of giving a one-day course to PhD students on the topic of Demo-driven innovation. The course was organized as a CUSO (Conférence universitaire de Suisse occidentale).
I got to work with highly motivated students and argue my way through the demo-driven philosophy.
We started from debating what innovation is and what role it plays in both research and engineering. We agreed that innovation is less about discovering the fantastic, as it is about revealing the obvious.
Then we tackled the problem of the process of research. Finding a complete process to such a complex problem is difficult, but focusing on the most basic problem is a doable first step. We concluded that the most important research challenge is not the fight against nature, but against our own entrenched assumptions.
The argumentation went on: To fight our own assumptions we have to expose them and get feedback. But, feedback comes only from interested people. And it is hard to get people interested in a subject that is not their own. The most effective way to capture the attention and later on the imagination is through stories.
Not fairy tales. Stories. Stories make facts valuable. They capture attention and spark imagination. And the more palpable they are, the better their impact is. In other words, we should strive to demo our story. Especially in a field such as computer science, making stories palpable is both accessible and beneficial.
When demos tell stories, magic things happen. On the one hand, the audience gets more involved. On the other hand, the very implementation of the demo provides a tremendous feedback. We are syntactic creatures, and the look of ideas matters a great deal to us.
And no, there is no such thing as an un-demoable topic.
Next week, on December 13, I will have the pleasure of giving a keynote and tutorial around humane assessment and Moose at the Be Fast & Curious event in Cluj, Romania.
The event is organized by 3Pillar Global. This is the first time that I am talking about these topics in Romanian, so this will actually pose a little challenge. But, considering the fact that the event poster has my head on it, I will certainly enjoy it.
If you are in the neighborhood, come and join us (the registration is free).