Learning to love the rain

From the attic: I’ve written this years ago but didn’t publish it for one reason or another. It’s not recent, but worth a thought or two anyways… Whatever, here comes:

The other day, I had a very interesting discussion with a friend-colleague-mentor about unpopular truths in large corporate environments.

Continue reading Learning to love the rain

by-nc-nd

The truth about the truth, and why it matters for software development

Ever wondered why there is so much friction between software developers and product managers? I wouldn’t claim to have found the philosopher’s stone, though I’d offer the following partial solution, partly rooted in philosophy. In a nutshell: they are using different types of truth, and once these two are distinguished consciously, everything becomes a lot easier.

Continue reading The truth about the truth, and why it matters for software development

by-nc-nd

The Universal Yardstick: Creating a Vision – Software Development by Oral Tradition

One of my favorite terms about software projects is the notion of “progressive elaboration”: software development, as a knowledge-acquiring activity, requires an approach where we over and over again refine what we do: what we do in development, how the UI looks, which languages and locales to support, how to handle roll-out and documentation and testing and a hundred other things. In order not to end up in an infinite loop, the first thing we need in any software project is a vision that guides everything else we do. Of course, that vision should not just be in one head, it should be shared across the entire project team so that it can guide and coordinate all the activities of the entire team.
Continue reading The Universal Yardstick: Creating a Vision – Software Development by Oral Tradition

by-nc-nd

Software Development by Oral Tradition

One of my favorite quotes about software development is that “software development is not a product-producing activity, it is a knowledge-acquiring activity” (Phillip G. Armour, “The Five Orders of Ignorance”, CACM 10/2000).

One of the consequences is that there are fundamentally two types of “bugs” or defects: (1) “we” know how it should work, but have messed up reflecting that knowledge in the software, and (2) the software accurately reflects our knowledge, but our knowledge is in some way “defect”. Plus, there is another one: Practically all relevant software is developed in teams, and there is a chance for misunderstandings between the individuals comprising the teams.

A lot has been thought and written and invented around getting rid of these misunderstandings. So far, none of it works reliably: at the very least, the task at hand and the people on the team should determine the choice of method (and, especially in large corporations, doesn’t).
Continue reading Software Development by Oral Tradition

by-nc-nd

Brainstorming with an Anecdote

Time to kick off a brainstorming session. How to do that? – Reminding everybody about how brainstorming works? Focussing people on the topic at hand?
Fortunately, I ran across this nice article “Twitter Strangers” just in time. I re-told the article (admittedly in a creative interpretation), roughly with the following key content: about the tendency to get stuck in the same associations, about the challenge to be really creative and about a simple experiment that shows the value of unexpected contributions. It was just the material I needed to wake everybody up, establish some cliff-hangers and so on to bring some spice back into the heads.
In the workshop summaries, the resulting brainstorming was repeatedly highlighted for its energy level 🙂
For me, this proves once again: The success of any kind of group activity is determined by the ability to put everybody into the same frame of mind.

Image Credit: kevindooley / Flickr

by-nc-nd

Functional Fixedness: Real-world examples

You may remember the candle experiment from the recent post “Motivation 2.0: Daniel Pink on the surprising science of motivation“. The whole point of the candle experiment is to demonstrate that overcoming functional fixedness can not be accelerated with carrots and sticks – on the contrary.

Here, I’d like to give three real-world examples for overcoming functional fixedness. Or actually… one example for, two examples against it.
Continue reading Functional Fixedness: Real-world examples

by-nc-nd

Twitter beyond the Tornado?

Every once in a while, I get delusions of grandeur and think I can understand the world.
Given the latest major pieces of news about Twitter, I get the impression it’s that time again.

The other day, I was studying “Inside the Tornado” once again. (See Inside the Tornado: Strategies for Developing, Leveraging, and Surviving Hypergrowth Markets)

With that fresh in my mind, latest news about Twitter seem to ring a bell…

Continue reading Twitter beyond the Tornado?

by-nc-nd