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.

I 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?”

claudio-at-oredev

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 key 3 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.

Add this post to: del.icio.us:Duoblog: What is the secret of a great presentation? digg:Duoblog: What is the secret of a great presentation? spurl:Duoblog: What is the secret of a great presentation? simpy:Duoblog: What is the secret of a great presentation? newsvine:Duoblog: What is the secret of a great presentation? blinklist:Duoblog: What is the secret of a great presentation? furl:Duoblog: What is the secret of a great presentation? reddit:Duoblog: What is the secret of a great presentation? Y!:Duoblog: What is the secret of a great presentation? google:Duoblog: What is the secret of a great presentation? technorati:Duoblog: What is the secret of a great presentation? stumbleupon:Duoblog: What is the secret of a great presentation? windowslive:Duoblog: What is the secret of a great presentation?

Nobody is 100% satisfied with their organization’s approach to software quality, right? With the best of intentions, it’s very easy to talk about code quality but it takes a real and ongoing commitment to constantly improve your software applications.

Having pondered this issue over a coffee (or perhaps it was a glass of wine), we decided to do something about it. As a result, you’re invited to attend a complimentary webinar titled How to Prioritize Software Quality from Start to Finish on June 4, 2009 at 11 AM Pacific Time/2 PM Eastern Time.

Join us for a frank discussion on making significant improvements to your organization’s software code quality. This session is hosted by Francis McKeagney, NCoverInnerWorkings CEO, and Peter Waldschmidt, NCover CEO, who will be analyzing the following software industry trends:

  • Increasing importance of software quality as software becomes more ubiquitous
  • Relative maturity of the software industry as a whole
  • Surprising lack of internationally agreed standards for measuring code quality
  • Effects of outsourcing and off-shoring on software quality
  • Critical importance of accurate metrics
  • Implications of code quality issues on margins, profits and revenues

Webcast attendees will also learn how organizations have boosted their bottom line by improving and verifying developer skills before coding, and by measuring code coverage throughout the development lifecycle. Register here to attend this webinar or view the on-demand session at a later date!

Add this post to: del.icio.us:Webinar on Prioritizing Code Quality digg:Webinar on Prioritizing Code Quality spurl:Webinar on Prioritizing Code Quality simpy:Webinar on Prioritizing Code Quality newsvine:Webinar on Prioritizing Code Quality blinklist:Webinar on Prioritizing Code Quality furl:Webinar on Prioritizing Code Quality reddit:Webinar on Prioritizing Code Quality Y!:Webinar on Prioritizing Code Quality google:Webinar on Prioritizing Code Quality technorati:Webinar on Prioritizing Code Quality stumbleupon:Webinar on Prioritizing Code Quality windowslive:Webinar on Prioritizing Code Quality

Do you care about agile development techniques? Worried about crippling project pressures? Nasty hidden agendas? Dysfunctional communication channels? The creeping dread of failed software releases?

If the answer to any of these questions is ‘yes’, and you can bear to continue, then read on… Claudio Perrone, InnerWorkings CTO

Our CTO, Claudio Perrone, is signed up to deliver a lively virtual session on Agile tales of creative customer collaboration.

Hosted by our good friends at the Linked  .NET Users Group, this virtual event is scheduled for Tuesday, June 9th from 10:30 AM - 12:30 PM Pacific Time.

You can sign-up using the details below — don’t miss this one, as it promises to be a great presentation and collaborative discussion:

Hope to see you there…

Add this post to: del.icio.us:Agile tales of the unexpected... digg:Agile tales of the unexpected... spurl:Agile tales of the unexpected... simpy:Agile tales of the unexpected... newsvine:Agile tales of the unexpected... blinklist:Agile tales of the unexpected... furl:Agile tales of the unexpected... reddit:Agile tales of the unexpected... Y!:Agile tales of the unexpected... google:Agile tales of the unexpected... technorati:Agile tales of the unexpected... stumbleupon:Agile tales of the unexpected... windowslive:Agile tales of the unexpected...

We’ve just spent a full week at TechEd 2009 in Los Angeles, meeting and greeting a host of customers, partners, and attendees yet to be enlightened about InnerWorkings! Microsoft’s banner conference went on a crash diet this year, with only 7,000 people in attendance. In these lean times, there’s no doubt that restricted travel budgets and nixed conference requests had an impact on the overall vitality of the show, but it was still a huge conference teeming with developers, software managers,Flashlight Tool and IT professionals.

Our hand-cranked, eco-friendly flashlight giveaway turned out to be a runaway success — so much so that we ran out of “schwag” after the first full day — folks obviously thought it would be very handy when the next big earthquake hits the region and the power grid fails!

In terms of booth conversations with attendees, we got many requests for SharePoint training and strong interest in Microsoft’s developer certifications (see our certification press release live from the floor at TechEd). I also encountered a number of requests from developers and team leads looking to build skills in ASP.NET MVC, a framework that enables developers to easily build web applications using a model-view-controller pattern.Walt Disney Concert Hall

The highlight for me was a VSIP party on Wednesday night in the Walt Disney Concert Hall — it’s always nice to catch up with Joe Marini and the VSIP team, but it was an added bonus to visit such an iconic building that lords it over the towering skyline of downtown LA. The wood panel interior is almost as spectacular as the brushed steel exterior; a late night concert performance would have topped it off!

In terms of show announcements, booth duty meant that I missed the keynotes but caught much of the news from trusted journalists covering the show.  There were many highlights, but the biggest takeaway for me was the slew of new products that Microsoft will be releasing over the coming year.

Check out the following Windows IT Pro article that summarizes the upcoming releases. We can expect to see lots of activity from Redmond in the year ahead, including the following product releases: Windows 7, Windows Server 2008 R2, SQL Server 2008 R2, Office 2010 CTP, and Visual Studio 2010. Busy times in the Microsoft ant colony these days…

Add this post to: del.icio.us:Highlights of TechEd 2009 digg:Highlights of TechEd 2009 spurl:Highlights of TechEd 2009 simpy:Highlights of TechEd 2009 newsvine:Highlights of TechEd 2009 blinklist:Highlights of TechEd 2009 furl:Highlights of TechEd 2009 reddit:Highlights of TechEd 2009 Y!:Highlights of TechEd 2009 google:Highlights of TechEd 2009 technorati:Highlights of TechEd 2009 stumbleupon:Highlights of TechEd 2009 windowslive:Highlights of TechEd 2009

I encourage you to take a look at Scott Berkun’s recent blog on the top 10 reasons managers become great – it’s good stuff, well considered and an interesting read.
Of course, it’s impossible to boil down the characteristics of a good manager into a shopping list of 10 items, and a notable strength in one business context may well prove to be a weakness in another.

Angry Boss Guy

Scott wrote this piece as a counterbalance to his previous blog on why some managers are idiots (or words to that effect). This negative post dips into pop psychology a little too much for my liking, but he’s definitely asking some probing questions about why certain people are just unpleasant to work with.

Scott’s “bad boss” post is inspired by Robert Sutton’s book about Building a Civilized Workplace, which has been on my reading list for about 12 months. Alas, there are about 15 books ahead of it still so I’m not likely to get to it anytime soon.

The challenges associated with managing people (and being managed) are fascinating. Business is all about people — combining variable personalities, motivations, and fears. It’s inevitably personal, often disjointed and messy, but great companies, like great managers, can navigate these choppy seas and strive to get the best out of their staff.

Time and again we’ve seen how spectacular results can emerge when people are aligned to work towards a common business goal. This is particularly true in the world of software startups, where so many stakeholders and disparate skills are blended together to take an idea to its logical conclusion and execute it well. But don’t kid yourselves — despite the shiny workplace awards, there are some bad bosses at Google too!

What kind of manager are you? Have you ever dealt with the angry boss sporting a chip on both shoulders? Share those war stories - we’d love to hear about them…

Add this post to: del.icio.us:Top 10 reasons managers become great digg:Top 10 reasons managers become great spurl:Top 10 reasons managers become great simpy:Top 10 reasons managers become great newsvine:Top 10 reasons managers become great blinklist:Top 10 reasons managers become great furl:Top 10 reasons managers become great reddit:Top 10 reasons managers become great Y!:Top 10 reasons managers become great google:Top 10 reasons managers become great technorati:Top 10 reasons managers become great stumbleupon:Top 10 reasons managers become great windowslive:Top 10 reasons managers become great

SEPGA quick note to let you know that InnerWorkings will be at SEPG North America 2009 next week — if you’re planning to attend the show, drop by our booth where we’ll be talking about all things related to software process.

SEPG will be a big draw for anyone who gets their kicks from discussing the value of a well planned and executed process methodology within software teams — the show will run the process gamut from CMMI, People CMM, TSP, PSP, Agile, Six Sigma, ITIL and ISO standards, and other performance improvement methods.

We’ll be there throwing about our own unique brand of self-paced learning for development teams new to implementing PSP/TSP. As many of you know, PSP was established to improve software quality by providing individual developers with a set of disciplined practices for software development, and is a prerequisite for developers who join a TSP team.

More specifically, InnerWorkings will be making an announcement about a major partnership in the software process field and what that means for organizations looking to implement PSP/TSP in a scalable and cost effective manner. We’ll also be announcing details of our collaboration with a prominent university in Mexico to streamline the implementation of TSP. This development effort stems from Mexico’s nationwide TSP initiative, which aims to train 57,000 PSP software developers by 2013. No mean feat!

Oh, and we’ll be giving away tons of free stuff at the booth…so don’t forget to stop by if you’re in the vicinity.

Add this post to: del.icio.us:InnerWorkings at SEPG Conference in San Jose next week digg:InnerWorkings at SEPG Conference in San Jose next week spurl:InnerWorkings at SEPG Conference in San Jose next week simpy:InnerWorkings at SEPG Conference in San Jose next week newsvine:InnerWorkings at SEPG Conference in San Jose next week blinklist:InnerWorkings at SEPG Conference in San Jose next week furl:InnerWorkings at SEPG Conference in San Jose next week reddit:InnerWorkings at SEPG Conference in San Jose next week Y!:InnerWorkings at SEPG Conference in San Jose next week google:InnerWorkings at SEPG Conference in San Jose next week technorati:InnerWorkings at SEPG Conference in San Jose next week stumbleupon:InnerWorkings at SEPG Conference in San Jose next week windowslive:InnerWorkings at SEPG Conference in San Jose next week

I take it for granted that software development is one of the most knowledge-intensive professions in the world. With new tools, platforms, and technologies being released at breakneck speed, you have to wonder how most developers keep up. Well, in many cases, they simply can’t!

Productivity

It’s far too easy to pay lip service to the skills and productivity of your software teams — I’d be buying barrels of oil if I had a penny for every time I heard “we only hire the best” or “our lead developers go to XYZ conference every year”.

It’s hardly a sustainable or scalable solution to keeping your software team’s performance at its peak, but many companies seem to believe/hope that sporadic ad-hoc approaches to developer productivity and software quality will be enough to carry them along.

If you’re skeptical about this approach to supporting software development, I encourage you to attend this free 60-minute webinar from InnerWorkings. Our CEO, Fran McKeagney, peppers the session with personal war stories that illustrate the challenges and contrasting approaches to building mission-critical software applications, including:

  • Competitive loss of a longstanding multi-million dollar travel software contract due to poor coding skills and recurring code quality issues
  • Failure of an ambitious global web platform release due to crushing performance issues, unforeseen bugs, and lack of skills visibility

Drawing on his own experiences as VP of Research & Development in past roles, Fran also tackles the following issues associated with managing complex software organizations:

  • The need to create a research and learning culture at the heart of your software organization
  • All your software team’s decisions, goals and objectives should be data-driven
  • Building empowered teams of problem solvers
  • Is it OK to ask software teams to be accountable?

We’ll also share some interesting polling data from the live audience and a spirited exchange of ideas comes through in the Q&A session. Be warned that viewing this archive does require a registration (sorry) but hopefully the presentation and discussion give more than enough value to warrant that intrusion. Enjoy!

Add this post to: del.icio.us:Steps to Boost Productivity in Your Software Teams digg:Steps to Boost Productivity in Your Software Teams spurl:Steps to Boost Productivity in Your Software Teams simpy:Steps to Boost Productivity in Your Software Teams newsvine:Steps to Boost Productivity in Your Software Teams blinklist:Steps to Boost Productivity in Your Software Teams furl:Steps to Boost Productivity in Your Software Teams reddit:Steps to Boost Productivity in Your Software Teams Y!:Steps to Boost Productivity in Your Software Teams google:Steps to Boost Productivity in Your Software Teams technorati:Steps to Boost Productivity in Your Software Teams stumbleupon:Steps to Boost Productivity in Your Software Teams windowslive:Steps to Boost Productivity in Your Software Teams

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!

altnet_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:
Add this post to: del.icio.us:ALT.NET Dublin is born! digg:ALT.NET Dublin is born! spurl:ALT.NET Dublin is born! simpy:ALT.NET Dublin is born! newsvine:ALT.NET Dublin is born! blinklist:ALT.NET Dublin is born! furl:ALT.NET Dublin is born! reddit:ALT.NET Dublin is born! Y!:ALT.NET Dublin is born! google:ALT.NET Dublin is born! technorati:ALT.NET Dublin is born! stumbleupon:ALT.NET Dublin is born! windowslive:ALT.NET Dublin is born!

I thought I’d share a little good news with all our friends and followers this afternoon. I’m happy to announce that InnerWorkings was named a winner of the prestigious Bersin Logoannual Bersin Learning Leaders award.  We made our mark in the “Vendor Innovation” category and everyone here is very proud of the accolade, needless to say!

In a world where “astroturfing” or fake product reviews are more common that most web users realize — check out the latest scandal where Belkin’s CEO issues an apology for the shady work of an overzealous employee — it’s nice to get a genuine award that recognizes our hard work in bringing InnerWorkings Developer to market.

Of course, we’ve been saying the product is highly innovative for years (!) but it’s always fun to see some external validation of our unique approach to helping developers learn by doing. Most people remark on our rules-based code judging engine as the most innovative element, but we’ve also pushed the boat out in terms of our SaaS deployment, executive learning dashboards, and web-mediated customer support.

Nor does it stop there — we’re constantly looking at new ways to add value to the software organization and support professional developers who make the wheels go around. With your help and feedback, I’m hoping we’ll be back next year to win another learning award for an innovation yet to be hatched.

Add this post to: del.icio.us:InnerWorkings Wins Bersin  digg:InnerWorkings Wins Bersin  spurl:InnerWorkings Wins Bersin  simpy:InnerWorkings Wins Bersin  newsvine:InnerWorkings Wins Bersin  blinklist:InnerWorkings Wins Bersin  furl:InnerWorkings Wins Bersin  reddit:InnerWorkings Wins Bersin  Y!:InnerWorkings Wins Bersin  google:InnerWorkings Wins Bersin  technorati:InnerWorkings Wins Bersin  stumbleupon:InnerWorkings Wins Bersin  windowslive:InnerWorkings Wins Bersin

Pimped Out Car Performance is a widespread term in our everyday lexicon — people have come to expect immediate results and punish poor performance at every turn. From cars to athletes to local schools, almost everything is measured in the context of “high performance”.

Until recently, terms like “high performance fund” and “top-performing stock” were bandied about by over eager finance pundits on every network TV channel. Today you’re more likely to hear terms like “bail out”, “credit crunch” and “economic meltdown” –  all because of poor performance in the housing and financial sectors!

But what about our world of enterprise software applications? Can the same demand for high performance be said to exist as developers build and deliver software applications? We know that it’s easy to overlook application performance in the rush to craft feature-rich software solutions; failing to test your solution’s performance under stress is a fundamental oversight, but many developers simply aren’t well versed in the skills of optimizing application performance.

Every time we survey our user base about what developer skills are most important, we get flooded with requests for training on application performance and optimization. Not likely to turn a deaf ear to such requests, we have released the following Drill to address key application performance issues:

Intended for intermediate developers and above, this Drill provides tips and techniques for optimizing the performance of your precious .NET applications. It contains lots of performance-related goodies to help your application shine in the eyes of its users:

  • measure application performance
  • create a custom generic cache to improve the performance of a Windows Forms application
  • split a long computation into smaller sub tasks
  • reuse objects that are expensive to create or frequently created
  • defer the execution of expensive calculations until they are required
  • improve performance with AJAX service calls and CSS Sprites

Have you got other suggestions for learning content on the intricacies of improving .NET application performance? If so, let us know as we’d really like to hear about them.

Add this post to: del.icio.us:Improving .NET application performance  digg:Improving .NET application performance  spurl:Improving .NET application performance  simpy:Improving .NET application performance  newsvine:Improving .NET application performance  blinklist:Improving .NET application performance  furl:Improving .NET application performance  reddit:Improving .NET application performance  Y!:Improving .NET application performance  google:Improving .NET application performance  technorati:Improving .NET application performance  stumbleupon:Improving .NET application performance  windowslive:Improving .NET application performance

Next Page »