- 3.7 HCI and Agile Development
- Introduction to Agile Methods
- The Demand for Rapid HCI
- When to Go Agile
- Application of Agile development in HCI
- Agile HCI in the Design Life Cycle
- Conclusion to Agile Methods
3.8 is the conclusion of 3.1~3.7, so no notes for it.
3.7 HCI and Agile Development
Introduction to Agile Methods
- origins from software development,
- emphasizes earlier delivery, more continuous improvement, and rapid feedback cycles.
- In HCI, it leads to quicker design and feedback cycles
The Demand for Rapid HCI
Costs associated with elements of the design life cycle. Then and now: Then:
- Developing software required a very specialized skill set.
- Software distribution needed a supply chain. The cost of fixing it was enormous.
- user feedback: having users come in for testing.
Quote from Shigeru Miyamoto,
a delayed game is eventually good, but a rushed game is forever bad.
- Development isn’t cheap now, but it is cheaper.
- Distribution and updating for software: now essentially free.
- Feedback: we can gather usage data from live users automatically, and essentially for free as well. usage data, product reviews, error reports, the buzz on the internet.
The entire design life cycle is still important for big websites, complex apps, hardware, interfaces need a high profile first impression and anything high in stakes.
This lesson answers the questions: How do you take the principles we’ve covered so far and applied them to a rapid, agile development process?
Quiz: Exercise: When to Go Agile
My answers: 1,3,5. But 1 is not correct.
- because it has an impact on important work, it’s not easy to update the interface, changes in the interface will have high impact. More rigors design cycle show te applied.
When to Go Agile
When should you consider using these more agile methodologies? Boehm and Turner suggest:
- in an environment with low criticality because agile process lets the users do some of the testings.
- No for Healthcare or financial investing
- Yes for smartphone games and social media apps,
- in a place where requirements change often.
- small teams that are comfortable with change.
Paper Spotlight: “Towards a Framework…”
In 2006, Stephanie Chamberlain, Helen Sharp, and Neil Maiden:
Agile development to user-centered design had a significant overlap: they both
- emphasized iterative development processes building on feedback from previous rounds.
- emphasized on the user’s role in the development process
- emphasized the importance of team coherence
the conflicts between the two are relatively light:
- the importance of documentation
- the importance of doing research before the design work
five principles for integrating user-centered design and agile development.
- high user involvement
- close team collaboration.
- the design life cycle: run a sprint ahead of developers to perform the research necessary for user-centered design.
- strong project management is necessary.
Application of Agile development in HCI
- when constructing the final interface is as easy as constructing prototypes?
- when we make small little tweaks or small revisions,
- When we have a lot of experience with designing interfaces in the first place,
- When the cost of failure is relatively low, and if the possible benefit of success is particularly high.
AB testing is the name given to rapid software testing between typically two alternatives, A and B to get user feedback.
- rapidly testing small changes with real users by rolling out the B version to only a small number of users to get feedback and to make sure a change is positive, or at least neutral
- testing feedback is coming with the real users during normal usage of our tool.
- No added cost to recruiting participants and the feedback is received instantly.
Agile HCI in the Design Life Cycle
taking an agile approach to the design lifecycle just changes the rate at which we go through it, and the types of prototypes, and the types of evaluation that we do. An initial needfinding phase is still necessary
- needfinding by reading user feedback or checking out interaction logs.
- We’re still brainstorming design alternatives. But immediately move them on to prototyping.
- Prototypes work.
- Evaluating by rolling our changes out to only certain participants first to make sure the response is good.
- And the results of that evaluation then feed the same process cycle
5 Tips: Mitigating Risk in HCI and Agile Development
- start more traditional, start with a more traditional needfinding, and prototyping process, and shift to more agile development once you have something up and running.
- focus on small changes.
- adopt a parallel track method. Agile development often uses short two week sprints in development. have the HCI research one sprint ahead of the implementation. The HCI team can do two-week sprints of need finding, prototyping, and low fidelity evaluation and then hand the results to the development team for their next sprint.
- be careful with consistency. Frequent usage, don’t change.
- nest your design cycles. Take all that new information from the agile design process and use it in the context of a broader, more traditional design cycle, aimed at long-term substantive improvements instead of small optimizations.
Conclusion to Agile Methods
HCI can work in a more agile development environment because that they both:
- emphasize feedback cycles,
- emphasize getting user feedback,
- emphasize rapid changes.
HCI traditionally behind the scenes but Agile emphasizes doing these live. And Agile is a more complex suite of workflows and stakeholders.