Software Development, Rapid Iteration and the RITE Method

Coworkers at a software development office discuss a project while pointing at computer screens.

In 2002, five Microsoft employees presented a research paper and case study that began by looking at usability research in commercial settings. The authors observed that the focus in usability is often about uncovering all the problems instead of the focus of these tests — “shipping an improved user interface as rapidly and cheaply as possible.”

Usability issues are sometimes not fixed. The authors gave four reasons to help explain why this occurs.

  1. Decision-makers for the product don’t think that the issues uncovered are “real” or worthy of a fix.
  2. Fixing problems takes time and resources. Adding features is often prioritized over fixing a “working” feature.
  3. Usability feedback comes too late. Delays can come after product feature decisions are made, making them more likely to be left out.
  4. Teams aren’t sure whether a proposed solution will fix the problem. Difficult or time-consuming fixes are undesirable if there’s uncertainty whether they’ll work.

 

Confronted with these problems, the authors presented a cost-effective and time-efficient alternative. The seminal work established and defined the RITE method, which is based in a process known as rapid iteration.

Rapid Iteration Process

Rapid iteration or prototyping is a process that is used often for software development. Smashing Magazine defines rapid prototyping as an iterative approach to user interface design that quickly mocks up the future state of a system, such as a website or application, and validates it with a broader team of users, stakeholders, developers and designers.

There are multiple iterations of a three-step process.

  1. Prototype: Convert the users’ description of the solution into mock-ups, factoring in user experience standards and best practices.
  2. Review: Share the prototype with users and evaluate whether it meets their needs and expectations.
  3. Refine: Based on feedback, identify areas that need to be refined or further defined and clarified.

Rationale

Why should developers make multiple iterations? There are several steps involved in improving a product, or more generally, developing a solution to a problem. “We need to understand the problem, gather requirements for a potential solution, translate those requirements into a design, build the solution, and test it,” according to IBM. “This order is fairly natural, and generally correct. Problems creep in, however, when we try to scale this up — that is, when we try to gather all requirements, then do all design, then all development, then all testing in a strictly linear fashion.”

Instead, the scientific approach should be integrated into software development. Just like theories are proposed and experiments are designed and performed to test those theories, so too can requirements for a product be tested to gauge whether they should be implemented and if the right solution is defined.

“This leads us to adopt a style of software development where the assertions inherent in the plan are repeatedly challenged and evaluated by the design and development of demonstrable versions of the system, each of which is objectively shown to reduce the project risk and build upon the other to form the finished solution,” IBM added.

Benefits

As a result, the process yields greater insight and accuracy to what changes are made. And this all happens much quicker, and thus, at less cost, to linear usability processes. Additional benefits exist too. Designers often struggle with clients who want proof that their design will succeed, according to author Roger Martin in Harvard Business Review. “They hit a ‘prove-it’ wall: their clients ask for evidence that the design will succeed. The more radical and bold the design, the bigger a problem this is for the frustrated designer.”

However, in rapid prototyping, each iterative test generates data that the client can see and gain confidence from. By being able to see positive reactions from users, the client can trust the design. Rapid iteration and prototyping produce real-world data that can help designers, developers and other professionals who are using this process.

 

Chart will yellow and purple circles representing the rapid iteration method.

The RITE Method

Rapid iteration or prototyping is embedded in the RITE method, which stands for Rapid Iterative Testing and Evaluation. The Microsoft employees who first defined and explored the method formally described it as “very similar” to a traditional usability test.

“The usability engineer and team must define a target population for testing, schedule participants to come in to the lab, decide on how the users’ behaviors will be measured, construct a test script and have participants engage in a verbal protocol (e.g. think aloud),” the authors wrote. “RITE differs from a ‘traditional’ usability test by emphasizing extremely rapid changes and verification of the effectiveness of these changes.”

The method involves implementing changes as soon as a problem is identified and a solution is clear. That can mean within the day or a period of two hours. After each participant, time must be set aside to review results with decision-makers and decide if issues raised warrant changes for the next iteration of the prototype.

Tips for Using the RITE Method

Here are some tips for getting started with the RITE method, according to UX Magazine.

  • Schedule 30 minutes after each session to discuss what people observed, form hypotheses about why users were confused or stuck on certain parts and come up with ideas for improvements.
  • Designate one person as the ultimate decision-maker on what changes should be implemented before the next participant.
  • Have someone on-site who is willing and able to make quick iterations.
  • Be willing to fail early and often. Making decisions quickly before the next participant can help in overcoming any lingering fears.

Pursuing a Career in Development

Employment of software developers is projected to increase by 24 percent by 2026, according to the Bureau of Labor Statistics, which is much faster than the average for all occupations. The median annual wage is $102,280.

With an online computer science degree from Concordia University Texas, you can learn the knowledge and skills needed to pursue a rewarding career in software development or another field. Learn in a flexible, convenient online environment with a schedule that fits your life.