Duoblog: What is the secret of a great presentation?

Posted June 29th, 2009 by Claudio Perrone

A few days ago, Chris Hedgate asked me to join him in a little experiment that he called duoblog.
A duoblog is about writing on a shared subject in “parallel” with another blogger.
Since the agreed subject is broad and we don’t see each other’s work until we both publish it (@16:00 UTC), we should expect quite different results. These are pure parallel monologues, effectively. In my opinion, this is no different from what happens in a typical conversation: we listen to others so rarely that I suspect that we are all separated by an invisible soundproof glass!

I met Chris at a software architecture workshop in South Africa early last year, and we kept in touch ever since. Every time I visit Sweden he always surprises me with something different. His fearless approach to creativity and love for experimentation is truly inspiring and reminds me that, although we may fail, we ought to really try nonetheless.

claudio-at-oredevI really couldn’t refuse to write a duoblog post with him this week, especially since the question he proposed to develop is so close to my heart:  “What is the secret of a great presentation?”

I have a definite opinion on the matter but, for fun, I did a quick research to see what others say. Among the top Google results, I found gems such as “sustained eye contact” and “be charming and knowledgeable”. Are you thinking what I’m thinking? Yep, rubbish.

If you’ve ever attended one of my presentations in the recent past, you may expect me to take this chance to talk about the importance of Zen design, the need for relevant images and my dislike for bullet points. You would be wrong. As in many things in life, the most visible aspects are not necessarily the most important.

Arguably, many presentations fail simply because have absolutely nothing to say. Like special effects can’t save a movie if the script is poor, pretty pictures won’t save a shallow presentation either.
Presentations that dump mountains of data equally show lack of respect for their audience. People crave meaning. At least I do.

For some time, I thought I could do better. I would research my topic deeply and, assuming that I had something worth saying, I would structure my presentation around a logical outline.  In a typical presentation, I would quickly make my main point (the “lead”) and I would generally follow it by 3 key sections to elaborate on the subject (“supporting details”). Finally, I would conclude my talk by restating my main point (“summary”).

Assuming the subject addressed my audience needs, this structure had a fairly predictable outcome: clarity.

One day, however, I realized that, irrespective of the technology/process/idea I present, my key role is to inspire change.

To succeed, I had to go well beyond clarity. I had to emotionally engage. Why? Because it turns out that people make choices based on emotions (and use data to justify them). If you were really rational and objective, wouldn’t you eat better and exercise regularly, for example?

Some people say that passion is all you need. Passion, however, is like a raw diamond: even if you have it, you need to learn how to make the most out of it. I know I can be really passionate. But how can I focus that passion to truly inspire change?

I found the missing piece while shedding tears watching a movie. Since then, I observed and studied many works able to inspire, influence and persuade; all of them tap into the art of storytelling.

I lost count on the number of books I read on screenwriting and creative non-fiction. I’ve been obsessed by it in the last couple of years. I learned and even developed my own tools to help me leverage the power of Story. I’d have so much to share: structure, dramatic outline, moral premise, character transformation, worse case scenarios, etc.

I now structure my presentations around a dramatic compelling story (not just anecdotes) in which the technology/process/idea plays a key role. The story is a device that I use to engage the audience and introduce the concepts I really care about.

That’s it. Simple but not easy.

Last year I asked a colleague to give me feedback on a script (based on factual events) for a 1-minute presentation teaser I was about to develop over the weekend. Since I communicated with him through instant messaging, I had no special effects to support it. I wasn’t even physically there. He read the text, line by line, as I was typing it. After a short pause he replied: “Wow Claudio, I’m hooked. I want to know more about it.”

This is what I wrote:

you are a talented software developer
your technical skills make you feel invincible
until one day...
everyone turns against you.
your career and self esteem are put in great danger
by the single IT project
you can't run away from.

For your convenience, I put a link to the teaser as well (http://vimeo.com/1825440 ), but I would like you to think hard on the power of text alone.

My dear Chris and readers, were you “hooked” like my colleague was? I’m curious to read your reactions and opinions.

Next time I will introduce the key elements of a dramatic story and show you a simple but effective device I created to design captivating scenarios.

By the way, this is a duoblog post, remember? I’m looking forward to read Chris’ view on the same subject here.

ALT.NET Dublin is born!

Posted February 8th, 2009 by Claudio Perrone

With unconcealed trepidation, I’m counting the days until Thursday, when the first official gathering of the newborn ALT.NET Dublin group will take place (go here for details).

How does it feel to take part in a local user group right at its launch? New people come together for the first time, full of curiosity, enthusiasm and hope for what lies ahead. Imagine what it could be to combine our experiences, to study and explore together what it takes to design and develop superb software.

I always loved the idea of a local study group, where peers meet monthly in a quiet venue, discussing ideas and sharing knowledge in a non-threatening environment.
I find this format attractive, albeit simple in concept and aspirations, probably because I’ve been subjected to formal sermons for too long. I seek interaction, different points of view, real-world experiences… and a decent pint!

altdotnet_dublin

Like in other parts of the world, I must confess that the need for an ALT.NET group in Dublin has grown out of frustration: although it is common to be lectured on most of the latest Microsoft products and technologies nowadays (e.g. Silverlight, SQL Server, SharePoint, etc.), there are too many key areas that are completely neglected by the mainstream circuits. Have you ever wondered about how to employ the above technologies to design for maintainability, for example?
How about alternative tools and frameworks on top of the .NET platform? Any methodologies, patterns and principles? What have we learned from other platforms?
It seems like no one ever attempts to answer the hard questions. Silence. Nothing. Complete dark. Scary eh?

I may be too harsh but sometimes I get the feeling that too many community speakers live in a sealed cubicle, too busy polishing their valuable badges, diligently regurgitating their school homework. Not surprisingly, evangelists and product groups also have their own not-so-hidden agendas, a natural consequence of the extreme fragmentation of a company as large as Microsoft. It is rare to hear from competent practitioners these days, developers in the trenches willing (and able) to speak in public. I need more than superficial product demos to help my team in writing the sustainable, non-trivial applications that our business needs.

Few citizens of the ALT.NET community believe that there is a deliberate conspiracy, a “system” designed to control the mainstream by keeping people somewhat ignorant.
For as much as I would like to “rebel” to such system, I doubt that there is any oppressor or secret plot; studies on the way humans learn (e.g. Dreyfus model of skills acquisition) tell us that, if we consider each skill separately (from cooking to object-orientation), most of us are novices or, at best, advanced beginners. In other words, for most skills:

  • we follow ready-made recipes (novice)
  • we perform our own tasks by seeking reference information quickly, as needs arise (advanced beginner).

It appears that we rarely reach a stage where we can be more resourceful and form our own conceptual models of how things work (competent), we seldom seek the big picture and reflect to improve the way we do things (proficient) and are unable to filter irrelevant details and consistently rely on intuition and pattern recognition to perform our tasks (expert).

So, we are complacent ignorant beasts, often confidently unaware of it.

Rather than keep complaining about what is wrong with the world though, I’m more interested in moving forward. Raising awareness seems like a decent starting point. We are learners in need of each other.

Ireland is a strange little country. The population is small and yet so resourceful. To accomplish greatness (or even survive) we need to seriously change the way we tackle problems, particularly since the worldwide economy is threatening our jobs and families. If you live in Dublin and you are a developer with a genuine interest in improving your craft (and marketability), what are you going to do next? More of the same stuff that you have been doing until now? Maybe it is time to try something different and consider joining us.

ALT.NET Dublin is an experiment, one that can easily fail without your help. To take part you don’t have to be an expert, you just need to overcome your inertia and show up. Be open and ready to share. This coming Thursday, if you choose so, you’ll make a difference.


Tags:

Agile Tales video from Øredev 2008!

Posted January 11th, 2009 by Claudio Perrone

The organizers of my beloved Swedish conference have released the full video of my Agile Tales presentation. The audience appears to be really quiet, but it is purely because the audio comes from my “Britney Spears”-style microphone only. In other words, people laughed at my silly jokes, honest!

Last week, I also presented at the Irish Java Technology Conference and I really enjoyed the brief discussion afterwords.
We talked about styles and the role of stories in technical presentations. I read about 50-60 books on screenwriting and creative nonfiction in the last few months. I know things now that I would have never suspected even just a couple of months ago. 
My thoughts on the matter are in continuous evolution, and I keep finding pleasant surprises at every corner.

I’ll be discussing some of those ideas at Jimmy Nilsson’s Software Architecture Workshop in Austria at the end of this month and, soon or later, I will write something here.


Tags: , ,

Øredev? The best conference ever.

Posted November 30th, 2008 by Claudio Perrone

Øredev, the largest technical conference in Sweden, has left a profound impression on me. I’ve never felt such a sense of community and purpose in an event of these proportions before.

The constant exchange of ideas and points of view was incredible. I loved seeing attendees and exhibitors taking as much of an active role as the speakers (check Chris‘ article, for a brilliant example of creativity at work). It was like witnessing 900 people putting aside their differences and fulfilling their social responsibility to share their experiences with everyone else.

Photo by Chris Hedgate

I am truly honored to have played even a tiny part in this fantastic event. My Agile Tales session went really well, at least judging by the warm feedback and the emails that I’m still receiving!

The organizers made a recording of all talks and I can’t wait to see them published at the oredev.org website. Of all the sessions that I’ve seen, I particularly loved Aslam’s content and presentation style. I’m definitely going to dissect and steal some of his ideas in the future ;-)

In many ways, the moments I treasure the most, however, happened outside the session rooms; I spent a lot of quality time meeting many interesting and diverse people in the corridors, at the local pub in the evenings, or even in the hotel at breakfast. Inevitably, nobody recorded those precious fragments, but never mind.

I was also particularly pleased to see Aspects of Leadership, Agile, Alt.NET and Domain-Driven Design being treated as first-class citizens, with dedicated tracks and great speakers.

Is Øredev the best conference I have ever been to? Quite possibly.

Frankly, I’m growing tired of product/vendor-driven conferences that are almost exclusively versed into a single technology platform. Don’t get me wrong. They play an important role but, unfortunately, they hardly attempt to address any of the most fundamental issues that we face in our industry. As my awareness grows, so are my pragmatic needs for better and broader education.

Thanks so much to Michael Tiberg, Emily Holweck and their entire crew for organizing such a sophisticated and enjoyable conference. I hope I will be there again next year.


Tags:

MisBehave 0.1: Oslo’s MGrammar for BDD Executable Specifications

Posted November 9th, 2008 by Claudio Perrone

While people are still debating about the reasons behind Oslo, the forthcoming modeling platform officially disclosed at PDC a couple of weeks ago, I thought it would be useful to share with you how, this weekend, I used MGrammar to parse plain text stories and scenarios using the Behavior-Driven Development (BDD) language originally devised by my good friend Dan North.
One of the main ideas around BDD is that we can adopt a simple language for expressing business requirements that is ubiquitous among “customers” (business analysts), testers and developers.
At the simplest level, a story may be expressed using this template (emphasis on bold is mine):

Story: <title>
As <role>
I want <feature>
So that <business reason>

In other words, a customer may write something along these lines:

Story: View music chart
As a music fan
I want to browse a list of popular songs
So that I can be motivated to buy something from the catalog

One of the immediate benefits of using this convention is that high-level requirements can be described and manipulated consistently and succinctly.
I’m particularly fond of the So that step: if well written, it often highlights the actual customer needs.
Once a need is identified, it becomes much easier for the development team to find further (and often cheaper) alternatives to the requested feature!

In the example above, “browse a list of popular songs” is the request, but being “motivated to buy something from the catalog” is the actual need. Can you imagine other features that would motivate customers to buy more? I certainly do.
The lesson here is that, almost invariably, customers request a longer antenna when they actually need a better reception. Trust me, this kind of deliberate creative thinking on finding alternatives can save you days, weeks, or even months of work.

Identifying the need is so important, in fact, that others proposed the following alternative convention, so that you can force users to put the reason of the requirement at the beginning:

In order to be motivated to buy something
As a music fan
I want to browse a list of popular songs

Are you still with me? Good. Let’s move on and discuss scenarios.
Differently from conventional, “fully dressed” use cases that I used years ago, a user story is usually written on a small card which acts as a placeholder for a subsequent conversation with the development team.
When the conversation takes place, the team would ask the customer questions such as: “what do you mean by that exactly?” To express and clarify the details of each story we write down a few scenarios:
Here, BDD can help us again with another template:

Scenario: <title>
Given <some initial context>
And <some more context>

When <some event occurs>
Then <ensure outcome>
And <some more outcome>

For example, customers, testers and/or developers could write and discuss the following:

Scenario: Browse chart
Given visitor is logged in
And visitor is on home page
When visitor clicks on chart page link
Then page should display title “Top charts”
And page should display list of top songs

These scenarios can be used as both documentation and as acceptance criteria.
If you are new to BDD, there is a little twist. Each single step in the scenario is sufficiently small to be “automated”.

Indeed, there are already several frameworks (some more mature than others) that have story runners able to relate the intention (expressed by customers) to some code (written by developers), often using a simple naming conventions (e.g. a Given step can run an equivalent Given method). The list is growing fast: JBehave, RBehave, NBehave, RSPec, Cucumber, and so on.
At InnerWorkings, we experimented for a long time with various frameworks (including our own) but we now use a Ruby-based framework called Cucumber (a brilliant rewrite of the RSpec story runner, now deprecated).
Great stuff, you will say, but I don’t want to use Ruby. Your loss, I would reply :-). We love .NET too, but we use Ruby as well.

Although I’m sure many plain-text story runners based on .NET will emerge soon (if they are not there already), this weekend I started my own pet projet. Since it uses the new language ‘M’ (MGrammar, specifically) I decided to call it MisBehave.
I haven’t bothered building a story runner yet, but you may find this picture quite interesting:

intellipad.gif

It shows Intellipad, one of the tools provided with the Oslo CTP.

On the left column, I have an instance of the language. On the central column, I have the grammar I wrote, and the third column, shows the projected tree structure. So far, I have plain text converted into a structure that will be further processed by a program. Hopefully you can see where this is going.

I haven’t tested the grammar extensively. I will clean it up, add support for scenario reuse (GivenScenario), add FIT-style tables, improve the error notifications, and refine the projections.

A few people said that writing languages is difficult. Well, it is difficult indeed if you write general purpose languages.
For simple domain-specific languages though, the task is much simpler. I wish I could say it is really trivial, but I won’t ;-)

For educational purposes, you can download my grammar here (useful if you have the Oslo SDK).
Any feedback is more than welcome.
Now I’ll better stop toying around and start preparing for my presentation at Øredev!


Tags: , ,

Microsoft Oslo: Is it the end of XML?

Posted November 2nd, 2008 by Claudio Perrone

I’m just back from the Professional Developer Conference (PDC) in Los Angeles. I feel so jet-lagged that I don’t even know what time it is anymore. It’s dark and surely I should sleep, but my fingers keep typing on the keyboard as if they were taking on a life of their own.

Thanks to “Oslo“, the new platform for model-driven applications, I’m creating a simple textual Domain Specific Language (DSL). It’s a throwaway project, but I know my next one will be more ambitious.

I take another glance at the MGrammar language specification and I’m ready to code again. I expand my running example a bit to explore a potential scenario. Intellipad’s dynamic parser evaluates my language on the fly and duly reports some errors. No problem. I extend my grammar a tiny little more until I have no further warnings. I figured I can design my language interactively by example: it’s fun and totally test-driven!

I stare out my window for a moment, dreaming about a possible future. Writing DSL parsers is becoming such a trivial job that the need for many pesky visual DSL designers, noisy XML configuration files, and messy code-generation solutions may soon fade. With the exception of few notable scenarios (e.g. data transmission), I may very well enjoy the end of XML’s supremacy as a default file format.

I know, it’s just a dream. I’ll better go back to my task and write some more code.


Tags: ,

Notes from PDC: Windows Azure improves agility

Posted October 28th, 2008 by Claudio Perrone

It is a cold winter day in Dublin. A good friend of mine, an excellent software architect and entrepreneur, is finally ready to deploy his application. The last few months had been the toughest. He had spent almost 3 years building his dream. Being a perfectionist is not easy.

Dealing with those new damned servers was the hardest part. High scalability, reliability and availability do not come cheap, he thinks. Although they are essential concerns to his business however, they are not core.

Sometimes, during the process of building his application, I politely challenged his views. My Agile attitude screams for a “build cheap and fail fast” approach: build incrementally, release, see what works, and adapt.

Way too many startup companies waste tons of energy upfront setting up expensive hardware infrastructures. One day, their applications will handle all the extreme scalability problems that success will bring. Sadly, for most startups, that day will never come.

On the other side of the ocean, the Microsoft Professional Developer Conference (PDC) is taking place. I’m there, in a huge room with thousands of other developers. Ray Ozzie announces Windows Azure, the new “operating system” for cloud computing. People beside me take pictures, clap, and type on their keyboards frenetically. By now, many will have already twitted or blogged about Azure’s capabilities and features: automated service management, service hosting environment, load balancing, cloud storage, rich developer experience, and so forth.

Listening to the announcement, I begin to realize that it has never been so easy to attain load balancing, massive scalability and availability for any of my applications. Ever.

Expensive data centers will be completely replaced or augmented by “the cloud”, a set of pay-per-use configurable servers that companies won’t have to maintain directly. Microsoft is not the first company to provide a cloud computing solution but, for what I have seen so far, Windows Azure raises the bar to a whole new level.

In the next few months, Microsoft will evolve the product based on community feedback and, even more importantly, will disclose the pricing model and service level agreements. Windows Azure may allow us to affordably defer important decisions about how many servers we need to reliably support and scale our applications to the very latest responsible moment: when the popularity and needs of our applications will justify it. I have great hopes.


Tags:

Check my Øredev presentation teaser!

Posted September 28th, 2008 by Claudio Perrone

As I have started doing some serious work on refining the structure of my Agile tales of creative customer collaboration presentation, I thought it would be a good idea to create a 1-minute movie trailer to break the ice and remind you of the Øredev 2008 conference in Sweden in November.
So here it is! Put on your headphones and enjoy.


Øredev Presentation Teaser from Claudio Perrone on Vimeo.

So, what do you think? Do you like it? I certainly loved being the screenwriter, director, sound engineer and producer for exactly one minute of moving pictures! I now keep playing the soundtrack in my head though…mmm…I can’t get rid of it.

Let me share some trivia with you:

  • The soundtrack is based on the popular classical piece “Carmina Burana (O Fortuna)”.
  • I edited this work twice. I used iMovie ‘08 on my Mac at home initially, but I found its lack of features (e.g. a timeline) too frustrating. I then switched to my old Sony Vegas on Windows, finally overcoming my fears due to the complexity of its interface. Although I am a very casual user, I’ll probably consider trying Final Cut Pro in the future.
  • The first picture (yeah, that’s my big face, attached to that even bigger nose) is part of a great shot taken by the fabulous Martin Fowler at a recent software architecture workshop.
  • After I finished my first draft, my colleagues gave me a lot of very constructive feedback; my wife Irene, however, has been my biggest fan and most methodical reviewer. The other evening, she gave me a dense list of comments and then rushed me to go upstairs and fix the trailer, mainly so that she could watch one of her beloved TV shows in peace!

Anyway, the whole point of the teaser is to remind you that my talk is going to be on Friday morning, November 21st and it is going to be… oh, well, you’ll see. Mark it on your calendar and miss it at your peril ;-)

As you may have guessed already, I’m really looking forward to speaking at the conference and hopefully I’ll have the privilege to see you there.

The number and quality of speakers lined-up for the event is so impressive that, besides catching up with many good friends, I will avidly attend as many sessions as possible myself.


Tags:

Crafting memorable technical presentations

Posted August 11th, 2008 by Claudio Perrone

I have an embarrassing confession to make. I can easily shed a tear while watching a well-crafted movie. I really do. Someone in my family once teased me, saying that I’m so oversensitive that I would probably cry watching Daffy Duck.

There, I said it. Join my close friends and make fun of me. I’m a victim of the power of story to persuade and influence. My defenses are lowered, my disbelief is suspended and I’m vulnerable.

Not long ago, I was preparing for a technical presentation when I started wondering why movies can be so engaging and memorable while most presentations are comparatively dry and unremarkable.

Mainly thanks to Garr Reynolds and his magnificent Presentation Zen approach, I learned how to create slides with strong visual appeal: dense text and worn bullet points were replaced by a careful combination of words and images, creating a fertile ground for powerful metaphors and anecdotes.

keyWow. I suddenly realized I entered the world of visual storytelling.

I also recognized, however, that my early work was somewhat episodic, like a movie with great special effects but a weak story.

It was then that I became almost obsessed by one single thought: could I learn the craft of screenwriting and adapt it to elicit emotions in my own technical presentations?

I wanted to become a better visual storyteller, going beyond my self-limiting goal of giving “right” recommendations delivered in a clear fashion. I realized I had a chance to find my own voice and give meaning to facts with my experience, passion, and subjective interpretation.

To my greatest surprise, I uncovered a fascinating world that is affecting my journey through life to no end.

Next week, I’m going to share some of my findings at the legendary Software Architecture Workshop in Crested Butte (Colorado), where some of the most renowned thought leaders of our industry will gather.

This adventure has just begun.
The rest of it will unfold in time.


Tags:

Public speaking? Like a great movie!

Posted May 5th, 2008 by Claudio Perrone

I have really enjoyed doing some public speaking this year. I’m just back from the DDD Community Event in Galway and, once again, the feedback on my talk has been very positive. I always feel the responsibility of fulfilling people’s expectations, so hopefully I didn’t disappoint anybody. I must be doing something right though: 2 weeks ago I’ve been invited to present at Øredev, a ~1000 attendees conference in Sweden in November!

View SlideShare presentation or Upload your own. (tags: creativity communication)

As promised, I put my slides on Slideshare. If you haven’t had a chance to attend, at least you could get a fair idea of what the session was all about. Let me know what you think! Don’t be fooled however, the slides are just a tiny part of the whole story.

In my exploration of how to design a better presentation, I used key books such as Presentation Zen and Beyond Bullet Points. I loved the ideas and approach of the first, the Hollywood-style methodology of the latter.
In my quest, I also came across Made to Stick, an eye-opener book which gives amazing examples of how simple, unexpected, concrete, credible and emotional stories can make ideas memorable.

So, what is this new presentation style about? While PowerPoint has been fundamentally the same for almost 20 years, our use of it is beginning to change. Slides are finally becoming more visual and essential, with a renewed appreciation of how people learn. I am particularly interested in the focus on stories and movie structures to make our messages more compelling.

It’s a fascinating idea isn’t it? In fact, I want to develop it further. Content matters more than ever. Pretty pictures that don’t carry a compelling story are just (annoying) pretty pictures.

In preparation for my next presentation, I just received 7 books on screen writing and more are on the way (speed-reading is handy, isn’t it?). No, I won’t be the next Stephen Spielberg and I don’t see myself walking down a red-carpet event any time soon. But I want to learn as much as I can from that industry to be better at mine. My challenge will be to present a potentially dense technical topic in a dramatic and captivating fashion. Who said it is going to be easy? It will be my pet project for my next few months, 48 minutes at a time.


Tags: , ,