Assumptions

In a perfect agile world we would have all the users who will ever use our software merged into one Zen like being who can concisely describe her wants and needs in poetic prose sitting next to us at all times. In 15 years of software development I have rarely spoken directly to a real end-user, and they seem to be getting increasingly distant. The stream of knowledge from user to developer is polluted with politics, ego, dogma, false constraints and ignorance.

Until we have complete understanding we must make assumptions. Bad assumptions destroy good software. Good assumptions come from empathy and in the absence of face time a good story can help us empathise with the characters.

Without empathy assumptions will come from our desires rather than the users. They may be conveniently simple, ignoring true complexity. They may be inconveniently complex covering every possible eventuality. They may conform to the latest trend or our personal beliefs.

We build software to make  users lives happier/easier/more productive. Everything else just muddies the water. To create great software we must never lose focus of who it’s for.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: