User Stories vs Job Stories

This article talks about a different approach to capturing product requirements and describing the problems a team is trying to solve.  It describes user story as too limiting, perhaps too granular.  The story loses the meat of the problem being solved and the setting in which it is being solved.  The author proposes a new story format called a job story.  A job story intends to capture more context around the user, their needs, and how they’re interacting with the software.

Image source: Alan Klement

This kind of challenge to the user story format is not new – nobody enjoys writing user stories because they’re fairly artificial, often too obvious, and it can feel less than valuable.  The solution certainly addresses aspects of the challenge, but I see the author’s suggestion as overly blunt.  A key part of the agile manifesto for me, is as follows

Continue reading

Mental Models Are Fun

I was in a fairly stressful meeting a couple of weeks back and to break the tension someone put up a YouTube video.  The meeting room had a few very smart and talented engineers in it, one of which put the video up for laughs.  Here’s the video – go ahead and watch it if you haven’t already.  You don’t have to sit through the entire thing, the first minute is enough.

So put aside the fact that their marriage isn’t going to last (because the husband obviously has very little regard for his wife).  Put aside the fact that you’re probably boggled at the idea that the question wasn’t easy to answer.  Take a closer look at what’s going on for the girl struggling to answer the question.  She keeps going back to a frame of reference she’s familiar with in trying to answer the question.

She has a very obvious frame of reference or, in some ways a mental model, of how to think about speed and distance.  It is entirely based on how fast she can run.

I’m not going to say that I didn’t smile when I first saw the video, but after a minute or so of watching her struggle I started to try to understand how she was approaching the problem.  I like to think this was the user-centric analyst in me.  She has a problem she is trying to solve and she has a very strong mental model that she is trying to use to solve that problem.  I’m not going to say that we need to design software for this particular mental model.  What I am going to say is that we, as software designers, engineers, and producers, should never guess at a user’s mental model.  Sometimes their frame of reference turns out to be laughable in our minds.  However if we can tap into it and understand it, then the solutions we design will be so, so much the better for our efforts.

So giggle if you must, but take this as a cautionary tale – sometimes a user’s mental model is extremely unexpected.  The best way to understand our users is to go meet with them and watch them do work.  Don’t assume you know how they think.

Bill C-11 Passed (Pun Intended)

I have one last thing to shout out from the top of my soapbox before leaving the issue alone – Bill C-11 has passed into law.

Democracy seems to have failed me here.  To be more accurate, upon closer inspection, my elected representative seems to have failed me.  I received a reply to my email via snail-mail last week.  Russ Hiebert sure does like to use mail rather than email to communicate.  Must be the lawyer in him wanting to draw things out and spend other people’s money doing so.

What’s that?  Do I sound bitter?  Yes.  Yes I do.  Or more accurately, I’m annoyed at this whole thing.  For years now I have been trying to engage with my elected rep, my Member, as it were, with 0 results.  I don’t get the sense that he is here to represent the needs of his constituents.  Here’s his last letter to me.

Does that sound like he engaged in my letter’s contents?  Nope.  Does it sound like he ignored me and simply restated his party’s official stance?  Yup.  It feels like he’s actually gone out of his way to completely ignore my questions.  If he thinks they’re ridiculous then at least tell me so, engage with me, discuss the issues with me.  This letter just annoys me.

So the law passed, my voice was impotent, and Canada continues to heel to international watchdogs rather than setting a bold course forward, intending to make the country a digital leader.

Bah, humbug.

Soapbox Time: Bill C-11

As a deeply invested and full time participant in the digital economy I try to follow and get involved in matters that will impact the technology world in Canada.  Right now the Conservative majority government is trying to pass Bill C-11, an update to copyright legislation.  In it they have tried to achieve a few goals such as meeting Canada’s commitment to WIPO treaties, supporting Canadian content producer’s rights to protect their investments and property, and also supporting Canadians’ rights to purchase and consume content in whatever manner they wish.  Where it falls down though is the overriding inclusion of an escape clause.  Basically the entire set of rights granted to Canadians can be thrown out the window if the producer uses a “digital lock” on their product.  If someone breaks that digital lock they are breaking the law.  Period.

This topic is near and dear to my heart and I find myself heavily invested in it, as it touches on my belief that technology should serve people and not the other way around.  I have been in contact with my local Conservative MP, Russ Hiebert, to express my concerns numerous times over the past few years (bill C-11 was originally known as bill C-32 years ago).  I find it disconcerting that politicians are making these decisions while ignoring input from specific parties or groups.  These parties vary from people involved in growing Canada’s technological prowess to pretty much every other political party in Canada.

I urge anyone concerned about copyright, digital locks, or content creation and protection in Canada to at least visit Michael Geist’s excellent blog on these matters.  If your hackles rise when you hear the details about how this legislation is going to be passed then please speak up to your MP as soon as possible.

Two months ago (yes 2 MONTHS) I wrote Mr Hiebert an email trying to frame my concerns in a way that any parent today could understand.  For those interested here is the conversation, including his response received today in the mail, and my latest email back to him. Continue reading

Conference Calling Solutions – I think I found a Doozy

As a small business/self-employed bum I need to be able to provide enterprise-class connection options to my customers without paying enterprise-class prices.  What am I talking about?  Well, today I’m talking about conference calls.  Now hold on, don’t roll your eyes.  As a consultant I find it incredibly valuable to have a conference number to allow teams to connect at a moment’s notice.  Not everyone has Skype installed, not everyone uses Google talk.  Everyone has a phone though.  So conference calls are a staple – and I wanted to find the right tool for my use.  Boy did I ever – and it is a doozy: FreeConferenceCallHD.com.

Before settling on this service I did a little research on a number of free conference hosting services.  I ended up giving this service a real go and am completely thrilled with their service.  I’m not being paid for this endorsement, it comes from a genuine desire to share the benefits of this service with others who are looking.  So let’s get to the nitty gritty:

Benefits

  • High call quality.  I have spent tens of hours on the service and have not once heard audio problems beyond those of the people calling in (e.g. mobile phone noise).  They claim it is high quality and I have to agree.
  • Enterprise grade feature set.  Call recording, call hold, caller hold, broadcast mode, call playback number, Q&A queue, caller kicking, configurable entry/exit tones, host vs participant numbers, up to 1,000 callers, up to 6 hours of talk-time … I’m not sure there’s a feature that is lacking – certainly none that I need.
  • Web management interface.  They offer a web interface where you can monitor who is connecting, place people on hold, initiate call recording, replay recorded calls, review call history, place call in broadcast mode … and more.  It is a very nice feature to be able to see the number of someone who joins instead of asking “Who just joined?”  Discussing senstivie topics?  Don’t guess who is on the line.
  • International callers.  Some other services block Canadian numbers from calling in.  Why the hatin’ on the ‘Nucks?!  I’ve had people call in from Canada and the US without a hitch.
  • Call reports.  After each call I get an email that lists out the participants and how long they were connected.  A nice memento of the call … kind of like a roll call without having to do it throughout the call.
  • Price.  I can’t argue with free.
  • Support.  I had some initial questions about the service and connected with their support team.  I was impressed with how quickly they connected with me and talked me through my questions.  I was seamlessly escalated to a technical support person once my questions became overly technical in nature.  The emails were timely, and the support rep followed up once things went quiet for too long.  Simply put, a great customer support experience.
  • Free Skype calling to the conference number.  I put this one last because it really is the clincher for me.  Each conference number has an associated Skype contact created.  This allows me to add this “contact” and simply start a Skype voice call with it, and that will act as my dial in to the call.  This doesn’t use Skype credits or anything, this is the free Skype calling feature.  So I can call into my conference line from anywhere with Skype installed for free, no long distance.  Since I tend to live in Skype for team communication this feature is simply awesome.

Detractors

  • Web console uses Flash.  Boo Flash!  The (optional) web console requires the use of Flash in the web browser.  Bleh.  Please make the Flash pain stop – I’m ready for the HTML5 revolution!
  • Proprietary product.  Imagine how cool it would be if this was a project that released its source code, or revealed the products they’re using underneath the Flash veneer?  Imagine how cool it would be if they opened up the service to allow user-created plugins?  This is all bits and bytes going on here and the Skype integration is a great first step – opening up the project to community contributions might accelerate the rate of feature development/data mashups.

Yes, those really are the only negatives I’ve found after a few months of use.

I am giving this service a strong recommendation to anyone looking for high quality, feature-rich conference call services – free or otherwise.

The Tale Continues – Cross Border Consulting Part Deux

Today I tackled once more the beast that is travelling into the US for work purposes.  In case you missed it, I tried to enter in early Dec 2011 and was “allowed to withdraw my application” at that time.  The agent felt I had insufficient documentation to apply for a TN Visa as a Computer Systems Analyst.  Since then I have had my client write up exactly the letter the agent wanted to see – one that describes my role, salary, and anticipated tasks.  I combed through the online documentation about TN Visas in an effort to prepare for the day that I knew was coming – the day I needed to cross the border to meet with customers.  And today was that day.

So how did it go?  Well, the short version is “not well”.  The longer version is worth a read if you want some insight into how ridiculous this whole thing is.

Continue reading

Peeking Behind the Job Posting Curtain

In looking for contract opportunities I end up reviewing job postings from a number of different sources every day.  In general I have developed a few key “flags” that, when seen, make me move on – no matter how interesting the opportunity sounds.

Take for example this job posted on craigslist for a “User Experience Business Analyst“.  I actually came across this job opportunity through another avenue, though that avenue did not let me know that Fujitsu was involved, nor that the domain was related to transit.  It is not that rare to come across relatively secretive postings on one site only to be able to find additional details about the job on another site.  Sometimes the parallels are relatively obvious like specific position names or the wording of the position’s responsibilities. Other times the positions just “feel” the same. You develop a sense for these things after a while, I suspect.

This position sounds right up my alley – UX is a key component of business analysis. It is nice to see the overt combination of responsibilities in a single role. So how is this an example of a “flag” posting? What about it makes me say “Meh, too bad”, and move on?  Let me quote the posting … right down there at the bottom.

Please address all email inquiries in .doc or .docx (WORD) format…

If your company only accepts applications that require the use of proprietary and expensive software, that in the end does not assure me that my resume, cover letter, and portfolio will look exactly the same on your monitor as it does on mine … well … that actually speaks deeply to a corporate culture that I am not interested in participating in.

Too bad, it looked like an interesting contract ….