Argazkiak.org | CodeSyntax usability lab © cc-by-sa: garaolaza
Above and beyond all other things Agility is about scheduling and re-scheduling. Achieving that requires many things such as high quality, finishing one thing before you start on the next etc but above and beyond the items to be scheduled need to be INVEST, ie:
- Independent, so you can re-schedule
- Negotiable, so you can be agile
- Vertical/valuable, so that they are from a customer perspective
- Estimated, so you can schedule
- Small, so you can fit them in sprints
- Testable, so you know when they are done
At least 3 of these properties N, V and T relate directly to the user experience, agree? (Why these properties are not that good after all.)
The next question becomes: How to run ASD projects with the UX in mind? Does it have to be BDUF?
Here are some practical ideas I have applied:
- Do frequent, at least every sprint, usability testing with naïve users.
- Involve the power users early in the sprint while you can still change things. If you are not co-located then go visit with them.
- Use guidelines and frameworks to ease the cognitive burden of designing a good UX.
- Use manual and automated testing of the UX. Google has tools for checking e.g. tab order. WCAG provides guidelines and testcases for accessibility.
- Use LoFi mockups. A mockup should never look like a polished product or the users will be disappointed.
- Document your design decisions for re-use by other team members.
- Always remember that the users are paying for the UX, not the stored procedures on your server.