11
Agile Usability An approach to adopt User Experience in Agile MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l l 1 l Introduction In last few years, agile processes are adopted widely for software development projects and have become a mainstream development approach. In 2009, adoption in software industry was 35%, which is growing every year. [1] Though, agile processes bring various benefits on the table, if not implemented correctly they can adversely impact the end User Experience (UX). This paper reviews the current traditional Waterfall-SDLC based user experience methodology and proposes a new methodology, where agile and user experience complement each other to the benefit of the business and it’s end users. The paper is based on practices adopted by our usability experts in various projects on application / product developments. Their experience along with research forms the basis of the content. Though the paper briefly introduces and compares agile methodology with Waterfall, it is expected that readers are aware and well versed with agile terms and methodology. Objective of this Whitepaper In a highly competitive and changing technological landscape, it’s imperative that businesses have the ability to market IT products and applications not only at God Speed, but also with God Quality. And, this quality cannot be achieved without enriching the user experience of this application / product. This paper provides an insight to a pragmatic process to implement agile without impacting user experience. Rather, this paper advocates processes that could help UX professionals, program managers, business and other project stakeholders to implement enriched user experience using agile.

Agile Usability

Embed Size (px)

Citation preview

Page 1: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 1 l

Introduction In last few years, agile processes are adopted widely for software development projects and have become a mainstream development approach. In 2009, adoption in software industry was 35%, which is growing every year. [1] Though, agile processes bring various benefits on the table, if not implemented correctly they can adversely impact the end User Experience (UX). This paper reviews the current traditional Waterfall-SDLC based user experience methodology and proposes a new methodology, where agile and user experience complement each other to the benefit of the business and it’s end users. The paper is based on practices adopted by our usability experts in various projects on application / product developments. Their experience along with research forms the basis of the content. Though the paper briefly introduces and compares agile methodology with Waterfall, it is expected that readers are aware and well versed with agile terms and methodology.

Objective of this Whitepaper In a highly competitive and changing technological landscape, it’s imperative that businesses have the ability to market IT products and applications not only at God Speed, but also with God Quality. And, this quality cannot be achieved without enriching the user experience of this application / product. This paper provides an insight to a pragmatic process to implement agile without impacting user experience. Rather, this paper advocates processes that could help UX professionals, program managers, business and other project stakeholders to implement enriched user experience using agile.

Page 2: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 2 l

Agile Overview

Agile Manifesto • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

The agile manifesto states, “… while there is value in the items on the right, we value the items on the left more” [2] Waterfall vs. Agile

WATERFALL AGILE

Pros

• Detailed documentations • Process oriented & highly structured • Has formally agreed & signed off requirements • Can be delivered using less experienced team • Detailed project plan allows easy progress

measurement

• Incremental releases with real-time reviews and feedback from the customer

• Adaptive requirements can change based on market needs, technological demands and other business drivers

• Highly flexible, can be re-planned, restructured, re-prioritized and re-organized based on circumstances and environmental factors

Cons

• Slow start – often, a large chunk of time is spent on finalization of processes, templates, guidelines, channels etc.

• Enormous time is spent on planning and scoping. And, requirements finalization are often tricky.

• Once the scope is fixed, it’s inflexible and often non adaptive to change. At times, leaving no other option than to abandon the project.

• Highly risky, since it has no visibility of software until development completes

• Changing hands of teams after key milestones often creates a gap in requirements that could result in unnecessary and redundant development.

• Loosing sight of the bigger picture as team gets too involved in low level details

• Requires experience, flexible, friendly and adaptive team with the right skill set.

• Requires a special iteration to get the strategy in place

• Not easy to transition people and team members until a major milestone is achieved

Table 1: Waterfall Vs. Agile methodologies

Page 3: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 3 l

Traditional User Experience (UX) approach

Traditional UX approach works in Waterfall In traditional methodology, all research and design activities are done upfront before even a single code is written. This fits well with the Waterfall method where there are 6 distinct phases (Maintenance is an ongoing phase) for these activities. The next phase starts only after the previous phase completes.

Figure 1: Traditional UX design model in Waterfall

The biggest advantage of the traditional methodology is that the UX designer knows the user requirements in detail and has a good vision of the application / product that will be built. The application / product features, more or less, are decided by the research the designer has unearthed during the analysis phase. This objectivity and clarity is what makes traditional methodology successful and appropriate for the Waterfall method. Traditional UX methodology does not work with Agile Agile environments are different and are more demanding than the traditional Waterfall method. With each sprint lasting only 4-6 weeks, agile demands that research and design activities required for that sprint be complete within a few days to a week or two at best. Agile squeezes the timeline of the traditional process in such a way that there is limited time for an elaborate study and also minimal documentation. Traditional UX approach could take anywhere between a few weeks to a few months as they are designed to understand most, if not all, aspects of the user requirement so that a complete user experience can be designed. A comprehensive research in such a short timeline is not feasible, and if complete research was done than the sprint would be further delayed and the process would no longer be ‘agile’.

Page 4: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 4 l

Limitations of the traditional UX methodology Whether the development is agile or not, the traditional UX methodology has the following issues:

1. Research work can take months or even longer, after which the application / product will be developed. This means that by that time user requirements may have changed and what’s going to be developed may not be what users needs.

2. Most usability issues are identified after the application / product is accessible by the Customer (also our End –

User). In traditional waterfall approach, designers are long gone immediately after their design phase deliverables are complete, leaving it to the creativity of the developer or tech lead to resolve this issue.

3. There is no single line of code written or application / product to interact until development begins which could

take months and sometimes years. From business perspective this accounts for a big risk.

Agile Usability In view of the above limitations of traditional UX methodology and the demanding expectations from the agile environment, the traditional UX process needs to be customized to fit in to the agile process to build a desired user experience. To be effective in the agile environment, the Agile Usability approach should satisfy the following criteria:

1. Complement the Agile environment such that all agile benefits are retained and enhanced 2. Result in an equivalent or better user experience compared to traditional methods 3. Reuse most usability techniques, methods and knowledge so that existing knowledge of the team is put into use

from day one Agile Usability Approach To support usability activities in an agile environment we need to have a methodology that can deliver designs & research data consistently, speedily, and in a timely fashion. Moreover, it should fit within the sprint cycles of the application / product development.

Page 5: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 5 l

Sprint 0 It’s necessary to start with a strong foundation. Sprint 0 provides a good foundation for the overall application / product design and development. This is similar to the Requirements Analysis phase of the traditional waterfall model, but is leaner, as the focus is on getting to know what the application / product would be like instead of writing the deliverables. Following diagram explains the Sprint 0 and the initial Agile Kick-off activities:

Figure 2: Sprint 0 Framework Design & Development

Page 6: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 6 l

As a part of scoping, Key Business Scenarios are identified to meet the project goals. These scenarios are high level stories that provide the details on the 4 Ws (What, When, Where and Who). “What is the business opportunity” or “users primary goal” or “What’s the problem that needs to be fixed” – it defines the clear objective of the new application / product development/ product enhancement. When, Where and Who it impacts, provide further insight to the project/ application requirements. These scenarios help in drawing the key Personas who’ll be the beneficiaries of the new system. Above findings help in further drilling down into detailed User Tasks, that are converted and listed as User Stories. Quick research and analysis is done on probable solutions, based on competitive landscape, available facts and any other analytics data. Using rapid prototyping, paper concepts and white boarding with focus groups, several probable solutions are visualized to arrive at a Conceptual Interaction Model. Information Architecture and a high level Site Structure are also drawn to create an approximate boundary of the project. This conceptual interaction model is further converted from Lo Fidelity to High Fidelity and after validation it is provided with various Visual Design Options. These Visual Design Options are based on existing Branding inputs or similar other discussions. An overall Color Theme and Branding is finalized for the new application / product. In parallel Planning, Technical Architecture, Testing & Implementation Guidelines along with a UI Pattern Library and Frontend Framework & CSS is finalized. Once the Framework is ready, regular Sprints can be executed around it. Also, when the Requirements Analysis is done & UX team is ready with one set of conceptualization, they move on to evaluate, analyze and start on the Requirements & Design for the next Sprint in line. Prior experience, knowledge of research techniques and proficiency with rapid prototyping tools using paper and software are necessary for this team to be successful. The Framework Specifications help in creating a comprehensive product strategy, and helps the Product Owners understand user experience priorities; one of the key inputs from framework activities is also identifying the prioritized backlog and user stories. These stories are grouped to be covered within a specific pre-defined sprint cycle and help in planning these sprints. We’ve come up with a CDE Model to bind Agile and UX together; every sprint goes through a CDE cycle.

Page 7: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 7 l

CDE (Conceptualize-Develop-Evaluate) Approach Conceptualize In this phase, the UX designer starts creating prototypes even as he gathers information from the users. The research is done only on a few features that are going to be developed in the current sprint. The research data is continuously shared with developers and business either in standup meetings or scheduled day for research findings. The designer can test the sketches or his low fidelity prototypes created based on the insights received from users so far and incorporate their feedback in future high fidelity prototypes. This ensures that feedback is constantly incorporated in the designs and verified by the users. It’s ok to use internal customer representatives for testing at the early stages of the sprint but as the design progresses actual users need to test the designs. Develop In this phase a design blueprint is created for the specific features in the solution, the solution is developed and integrated with the rest of the system. During this phase, the UX designer monitors, and provides the necessary guidance and support to overcome usability problems. Evaluate In this phase, the design is verified to check if original business objectives are met and identify and fix any usability issues. Usability testing is done using rapid usability methods like RITE (see References for details). RITE enables the UX designer to quickly identify and fix usability issues in a truly iterative manner, thereby increasing user acceptance when the application / product is launched. In case, issues are not fixable in a given sprint they go in to the application / product Backlog and fixed in the next sprint. Benefits of CDE approach

• Agile offers many opportunities for overcoming problems with traditional development methods that have long impeded usability. CDE framework leverages benefits of Agile to overcome these problems.

• Provides missing Agile Usability framework that’s scalable and adaptable to all kinds of iterative and agile methodologies.

• Based on proven successful patterns on project experience, provides a roadmap for new projects wishing to follow agile.

• CDE can promote confidence in other teams working with UX in initial phases of agile projects.

Figure 3: CDE Model - Ongoing UX with Agile Development

Page 8: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 8 l

Agile Usability Framework The following diagram shows how usability and agile can work together to achieve business and user objectives.

How Usability Fits with Agile Development

1. Parallel track for UX framework: A parallel track of UX activities is executed along with the actual Sprints of the development. The initial Framework design & development can be visualized as Sprint 0, and is started before any sprint begins. Sprint 0 will include all Framework creation that’ll create UI design & interaction patterns. This is often created around the features expected to be built for this application / product. It’s recommended that a dedicated UI Governance Team should constantly work on evaluating & reviewing CDE outputs along with updating the framework as the application / product matures. UX framework activities should be planned such that they are complete before the sprint begins. The insights and

Page 9: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 9 l

patterns from the UX framework are continuously fed to the team working on development sprints, thus reducing the overall time required for UX activities in a given sprint.

2. UX activities in a Sprint: Within each sprint, the UX designer will go in to details of the requirement for that particular sprint. The UX designer will also share the research done by the UX framework team with the development and business teams. While some research and UI patterns may be readily sourced from the UX framework, the designer may need additional information for which he will carry out a collaborative research and create new UI’s for those features. Prototypes are created using the UX framework and new UI elements are tested with users using agile usability testing methods like RITE. This approach enables a continuous refinement of the design while working within the sprint timelines.

3. Managing the UX Framework: The UX framework is re-assessed at regular intervals by the UI governance team to include new UI patterns passed on by the UX designer from each sprint. This re-assessment also helps updating the current patterns due to new user insights and changing technology needs. When the old framework is updated it is launched as a new framework version (say Framework 2.0) and all new sprints start utilizing the research and patterns from this new framework.

Key features of Agile Usability:

• Parallel track for research activities • Focus on few key features • Preference of quicker usability studies over elaborate ones • Efficient use of internal customer representatives, especially during initial starting phases of the sprint • Consistently and timely communication of research findings to business and developers

Page 10: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 10 l

Conclusion Agile methodology is the current demand, mainly in the area of product development, web application development, and mobile app development. Realization of investment and time to market is becoming critical to sustain the growth of these applications / products. A very good example is APPs for iOS and other Mobile Platforms, the initial APP is released and then the APP developers with continuous enhancement efforts provide regular updates. Apple has organized Web as the delivery medium, making it easy for all updates to be plugged in easily, even without restarting one’s machine. They use the term “Delta Updates” for these. This is an excellent example of Agile development and delivery mechanism. UX is an essential part of product, mobile app, web app or web design. It’s the soul of the application that keeps the end-user (customer) engaged and satisfied. It has been a challenge in past to involve UX in Agile Methodologies, the steps proposed here help overcome these challenges and provide a recommendation for all development activities in the Agile environment.

References 1. Forrester Research: Agile Development: Mainstream Adoption Has Changed Agility

http://www.osp.ru/netcat_files/18/10/h_d8eddd303b6cf0c38c23601c4363bee4 2. Agile Manifesto http://agilemanifesto.org/ 3. RITE: http://download.microsoft.com/download/5/c/c/5cc406a0-0f87-4b94-bf80-dbc707db4fe1/mgsut_MWTRF02.doc.doc 4. Wikipedia - http://en.wikipedia.org/wiki/Agile_software_development

Page 11: Agile Usability

Agile Usability An approach to adopt User Experience in Agile

MphasiS Internal l Agile Usability – An approach to adopt UX in Agile l March 7, 2012 l

l 11 l

Authors & Contributors

# Employee Name Role Organization

1 Rohitashwa Jain Usability Consultant Mphasis Corporation, USA

2 Haresh Karkar Associate Information Architect Mphasis BFL Ltd., India

3 Vivek Deshmukh Sr. Information Architect Mphasis BFL Ltd., India

4 Sudhir Kulkarni Usability Consultant Mphasis, UK