The best way to fix software problems
Ideally users should be able to test software before any code is actually written. This is usually accomplished using prototyping tools. The catch: to get reasonable result the prototypes take almost as long to build as the real product. But there is a solution. Do this:
- Use an open process to gather requirements. IdeaJam is great to collect and vet ideas from a broad basis of users. You only need to be careful not to run into the say/do or want/need trap.
- Create low-fidelity prototypes. Paper is a good start, but hard to distribute. Balsamiq Mockups or Denim are suitable tools. Denim is good to visualize links between screens and flows, while Balsamiq Mockups shine when it comes to UI creation. In a perfect world Balsamiq would release an add-on for IdeaJam (wink wink)
- Develop Effective Use Cases
to define the interaction users want to complete with the system. (Use Cases have Pattern
too).
- Test the screens!
- Test the screens: Let users interact with the mockups (you want to print them then) using Paper Prototyping (you want to read the book
. or its newer cousin
). The interaction reveals missing or complicated steps. If you find a missing item you can fix it in 3 seconds using a pen. Nothing beats that. It is great fun.




Comments
Also in agile methods, user testing can be performed at the end of iterations and/or release phases. That way the team and product owner can identify areas that might need change earlier rather than later.
If you are only doing UAT at the end of the project (or product roadmap) then you're not really doing agile - more like waterfall.
Posted by Tony Palmer At 10:53:46 On 01/30/2009 | - Website - |
Posted by mark vernon At 14:43:23 On 01/30/2009 | - Website - |