Author: Dilip Chetan, Senior Usability Engineer - Oracle Applications User Experience
Scrum is an agile software development method characterized by iterative incremental development of product components. The product to be built is broken up into modules. Each module is developed in a short cycle, at the end of which the module is ready to be shipped. This approach can result in major challenges for usability engineers, who are used to having a whole product to test, or at least sufficient pieces to allow a user to simulate an important task.
The concept of Scrum did not originate in the software industry. The term was actually first used to describe an iterative development process used in the manufacturing industry by Takeuchi and Nonaka in a Harvard Business Review article (1986). The word "Scrum" was borrowed from rugby to describe the interplay and the constant interaction (a sort of "huddling together") of hand-picked interdisciplinary team members who work together from start to finish. Takeuchi and Nonaka documented different variations of this process in large companies like Honda, Canon, HP, and Epson.
It wasn't long before Scrum found its way into software development. Ken Schwaber used it in the early 1990's at his company, Advanced Development Methods. Jeff Sutherland, John Scumniotales, and Jeff McKenna used it at Easel Corporation. Ken presented Scrum as a formal process in 1995 (Schwaber). Jeff was one of the organizers of the conference. Today, almost all the major software development companies have multiple teams applying Scrum.
As with any development methodology, Scrum brings with it a set of challenges. There are the usual questions of compatibility with company size. Scrum traditionally works best with small teams in a start-up kind of environment. How will large companies make it work? (Many online articles and blogs, such as the one here equate the combination of Scrum and big companies with oil and water). There are also issues of corporate culture. Developers who are used to the waterfall method will certainly balk at the thought of building a product in weeks instead of months or even years (as it is sometimes the case).
Scrum also presents challenges that are specific to the User Experience community. Scrum has all along been a development process and does not include any room for design cycles or usability testing iterations. The big question confronting User Experience teams is, how does User Centered Design fit into all this?
Smart organizations not only found a way to alleviate some of these concerns, they actually discovered how to make Scrum thrive. For instance, with regard to organizational size, Scrum was actually born in large companies with complex cultures. These organizations found ways to make Scrum work in spite of various obstacles. And that is what Scrum does among other things. It fosters innovation. In fact, any team that wants to make Scrum work has to take a leap of faith and rely heavily on the team's problem solving and innovative abilities.
At Oracle, Scrum has encouraged User Experience (UX) professionals to come up with radical and novel solutions to the challenge of integrating User Centered Design with the Scrum methodology. For instance, our design teams have come up with methods to proactively engage with Strategy and Product teams to prioritize our deliverables. We run our own cycles in parallel with the development sprints. We have also broadened our influence in beyond UX activities. User experience is not just involved in the design stage we also participate in setting functional specifications and high level architecture creation. We are planners as much as executors.
We have found ways to integrate cultures (those barbeques and volleyball games certainly helped!). We have borrowed some best practices from the Waterfall model of Software development and incorporated them into our sprints. As for usability testing, Scrum is compatible with the use of discount usability testing. The usability engineer (UE) needs to be focused on identifying as many issues as possible in a short time and provide quick recommendations. In this context, we have even come up with a new usability testing method (called Spatial Story Modeling) that is tailored specifically to work with Scrum stories.
The innovations made for Scrum can also be ported to other development methodologies. That is probably the biggest benefit in working with Scrum. The new methods of design and usability testing that we came up with can be adapted to any kind of software development process. The spirit of innovation fostered by Scrum is contagious. Who knows, it will not be long before every team (regardless of what development methodology it is following) is involving UX in setting functional specs. Isn't that every User Experience professional's dream?
References:
Schwaber, Ken (1995). Scrum Development Process. Proceedings from the Tenth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, 15-19 October 1995, Austin, Texas, USA, http://jeffsutherland.com/oopsla/schwaber.html.
Takeuchi, Hirotaka, and Nonaka, Ikujiro. (1986). The New New Product Development Game, Harvard Business Review, January - February, pp137-146.
