Program me a story

Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

Program me a story

  • Comments 1

I recently came across a blog post titled “Are Storytellers The Best Programmers” and it got me thinking.  A lot of beginning programming courses use tools like Alice, Scratch or Kodu which are programming tools but which also allow and even encourage creating stories. (NCWIT has a nice case study document on storytelling with Alice BTW.) There is even a version of Alice called Storytelling Alice that was explicitly designed for use with middle school students to tell stories. But I am going to ask you to think beyond the storytelling programming environments to the wider world of software development.

For many years developers have created stories about their users to guide them in their planning. They describe “characters” that are basically a profile of the people who have a specific job and what problems they try to solve in their daily work. These are essentially the people in a story that the software is designed to accommodate. Designers can ask themselves “what would this person find easy?” or hard or natural. They can use this story to understand what problems the software can solve for the user they have in mind. These profiles can be very helpful. Of course if the profile is wrong, which does happen, you can wind up with software that works perfectly but that will not be accepted by the target audience.

One of the key writing or presenting tips I have heard time and again is “know your audience.” If you are writing or presenting you have to understand who your audience is, what vocabulary they know or don’t know, what stories/examples will resonate with them and what things are going to turn them off. Software is much the same way. Designers have to know their audience.

I think this is an important concept that some probably understand instinctively but many don’t. many of us write what we used to call “programmers programs.” A programmer’s program is a piece of software that works great for computer geeks. We “get it.” If we don’t we’ll jsut read the code or somehow figure it out. Normal people find these programs unusable and historically programmers have wondered to themselves “what’s wrong with those people?” This is not something we (society, users, programmers, companies who sell software, any of us) can really afford.

I think we need to present some incomplete stories to students. Paint a picture of the problem, the people who have the problem and have students program the holes in the story to make it work. We can then compare the results to the initial pieces of the story and see if everything fits – that it works. Will this result in more useable software? I like to think so. What do you think?

EDIT: I see that Josh Ledgard has a completely different take on using personas (character descriptions) for software development at Ban User Personas in Development & Meet Real People For a balanced view give it a read.



  • I'd like to learn more about it.

Page 1 of 1 (1 items)