Tuesday, February 9, 2010

Subscribe to the RSS Feed

Personas in Agile Development: YES we can !

Posted by jc-Qualitystreet on 2009/12/02

“Life is easy with personas” …

 this is what I’ve been told by a client the last time I used the Personas method on an IT project.

A persona is a user-archetype, a fictional representation of target users you can use to help guide decisions about product, features, navigation, visual design…

http://www.slideshare.net/toddwarfel/data-driven-personas Todd Warfel (UPA 2007)

More than a simple artifact or a one-page description, the Personas method is a user centered design technique, initiated by Alan Cooper in 1999. It provides a team with a common and shared VISION of the users of a service or product, in a very engaging format.

Why personas are relevant in Agile contexts?

In agile projects, Personas should be seen as a fantastic tool in the hands of a Product Owner team (composed by the Product Owner, a User Experience specialist, a Business Analyst…) to align the cross-functional team (dev, test …) to a shared and realistic vision of the users of the product to develop.

Personas provide you with the opportunity to integrate real User Experience all along your product development project.

Indeed, they enable the team to stay continuously focused on user primary goals and tasks by emphasizing what they want, their behavior, their needs and expectations but also their potential impediments

Another major benefit is that a specific persona can be easily linked to user stories. The “user voice format” is a good opportunity to place the personas under the spotlight. It makes your user stories more credible, more engaging. It also facilitates CONVERSATION and CONFIRMATION activities associated to each user story.

Personas are a powerful communication tool within and outside of the team. They can be used at the organization level for training, commerce or marketing activities.

How to proceed?

Option 1: Using existing Personas

Personas are ready when you start the project ; just use them !. User research was done previously, and personas are already a key element of the product vision. No need to construct them, but the Product Owner has to introduce the personas to the team when he communicates the Vision. One of the benefits of the personas is that it makes this description easier, both visual and based on storytelling. Based on that knowledge, Elevator Pitch or Product Vision exercises will be more effective with the team.

Then during the sprints, personas are associated to user stories, and help guide decisions on the Product Backlog priorization and UI design. Crucial, don’t you think ?

A classic example with Zylom (not current version):

zylom

Two personas (Maria and Sophia, whose main goals are to play online, download games to play offline and get help if they need it) and their impact on UI Design in terms of color, shape, size, positioning of elements, layout and navigation menu structure.

Of course, Personas can  also be used for testing activities: scenario based testing, usability testing, cognitive walkthrough …

I usually ask the team to include Personas on the Information radiator. It is an important communication act both from an internal and external perspective.

Option 2: Constructing new Personas

Personas don’t exist when the project starts.

Sprint / Iteration 0 is the perfect moment to initiate our “3 steps” process, of course in a collaborative way. This exploration sprint usually lasts from one to four weeks, depending on context.

Unfortunately a short timebox (one week for example) is a real difficulty especially for organizing workshops and planning user interviews. You’ll need to anticipate or to refine ….

Given availability issues, various impediments … “8 user interviews a week” is usually a maximum (actually it’s mine), but it gives you the opportunity to facilitate preparation workshops and to do quick stakeholders interviews in parallel.

You may understand why I like a duration of 3 or 4 weeks for a sprint 0 :)

Here is my process to build personas:

Step 1: Preparation consists in:

  • Organizing one or two workshops with a Product Owner team and various stakeholders in order to be aligned to the objectives and the methodology, to identify data sources, to determine categories of people to interview (for example the core roles)
  • Informing the entire team of the process
  • Collecting data from various sources including user interviews. According to me, 3 interviews by roles or categories identified is a minimum.

Step 2 Construction consists in:

  • Analyzing data: from facts to behavioral variables, then from variables to patterns
  • Establishing Personas skeleton
  • Giving birth to the personas (storytelling and Poster) :  I initiate the work (based on a template and data analysis) but I like doing this task in one or two workshops (this time with the entire team, development included). It’s fun and fosters the appropriation process.

Personas: A template

persona-template-grosjean

  • Validating personas with various stakeholders (a qualitative validation); I only did one time quantitative validation with a large questionnaire sent to hundreds of users.

Step 3: Communication & use consists in:

  • Putting the Personas on the Information Radiator
  • Linking the Personas to User Stories
  • Using the personas for priorization, storyboarding and wireframing activities
  • Making a communication plan dedicated to the Personas

TIPS !

  • Mobilize the entire team around the approach
  • Limit the number of Personas
  • Define a primary Persona
  • Start the personas construction with the Product Owner team, but inform and finish it with the entire team
  • Anticipate three or four workshops in the agenda
  • Bring your personas to life using big cards or posters containing a name, a title / role, a script (the storytelling allowing good back in the character’s life), a picture, goals, triggers, influencers, delighters, features expected …

Another example:

personapiere0grosjean20jc

  • Be careful on the choice of the photo: avoid celebrities, models or people you may know. remain credible.
  • Don’t hesitate to communicate on your Personas: make a buzz !

Agile and UX:Lots in common…

Posted by jc-Qualitystreet on 2009/11/21

and incredible leverages for an effective collaboration !

  • Feedback and tests (the most interesting thing)
  • Human first (essence of UX and UCD  but also the first value of Agile Manifesto !)
  • Personas and user roles
  • Collaboration
  • Simplicity
  • Change

Shared values and principles : an illustration :

AgileUx Grosjean

AgileUx:so close. JC Grosjean

Agile Transformation: how to select the appropriate pilot projects?

Posted by jc-Qualitystreet on 2009/11/19

Even if rare examples of “Big Bang” agile adoption exist, as Salesforce in 2007 (not without a very strong preparation), I am convinced that a successful agile transformation requires two or three (max) pilot projects.

REAL PROJECTS, REAL TEAMS: TWO PREREQUISITES.

First, the selected pilot project is an opportunity to change and to learn but it must be also  sufficiently representative to be usefull and effective in a transformation approach. Do not experiment what could be agility in real life, do not try agile methods in your own organizational context before a general adoption is a mystery to me. You miss an important source of knowledge, refinement and improvement and also a good opportunity to initiate change management.

BUT HOW TO SELECT THE APPROPRIATE PILOT PROJECTS?

This is a recurrent but crucial and challenging question… Mike Cohn answered it recently by proposing 4 attributes to help the choice. His four criteria suit me well:

  • Duration: The ideal pilot project should be neither too short (to be credible, representative and to give a learning opportunity) nor too long (for an effective capitalization and a rapid agile generalization).
    In short : Between 2 and 5 months (max)  with 4 to 7 iterations
  • Size: The ideal pilot project should start with a single, small collocated team. A distributed team or several small teams would add unnecessary complexity during the pilot phase, unless working with distributed teams is the norm within the organization.
    In short: One single, small and collocated team
  • Importance: Unimportant projects will lead to less commitment and won’t be representative and credible… but critical or top priority projects would entail too much pressure for a team in a leaning situation. A good balance must be found for the ideal pilot project.
    In short: Medium importance, not critical but valuable for the organization
  • Business sponsor engagement: The ideal pilot project should have an engaged business sponsor. His commitment is a key to remove any obstacles. He will also be the best ambassador to promote the new methodology.
    In short: One engaged business sponsor

In summary, to launch an agile transformation, the ideal pilot project is both:

1. A real project with a real team

3. A project of a duration of 2 to 5 months (max), for example with 4 to 7 iterations

4. A project with a single, small and collocated team

5. A medium priority and non critical project but valuable for the organization

6. A project with an engaged business sponsor

The prioritized backlog … and Santa Claus!

Posted by jc-Qualitystreet on 2009/11/13

Christmas is coming and kids know it. This is what happened to me last weekend …

My kids “Dad … Dad for Christmas … can we play the sticky notes game
Me: “Okay kids, but this time we’re going to change the rules”

In one year, I had the time to improve the process  :) even if the constraints are almost the same:

  • Santa Claus is very busy
  • His sledge is not expandable
  • The deadlines are tight
  • The delivery date cannot be moved

In addition, my kids as good Product Owners have understood two important things making them realize the importance of priorities:

  • You cannot have everything (even if you always want more),
  • Being good (or not) can potentially impact on what you’d receive

Scrum / XP from … Home!

Or how we set priorities to write the letter to Santa Claus :)

Step1 : Brainstorming, data collection and workshops
Passionate reading for weeks, intensive research from several sources, and interviews with the little brother to finally cut in the magazines the images of the toys they like

 

Step 2: Backlog Initialization
The images are cut. In case of several kids, ask them to place their images in an envelope. Use one envelope by child then one image by sticky note. The backlog is initiated.

 

Step 3: Backlog Prioritization
Notes are laid on the ground. Ask the kids to rank in order of preference by placing on the top toys they want most, the most important to them…

… ..

….

 

Step 4: Backlog Display
Notes are now prioritized on the ground. We had to find a wall or a door to display them vertically (visual management …).

My daughter’s wall (not very reasonable):

 

My son’s wall (moderate …)

 

Retrospective: We had a good time and kids were very happy !

My wife and I’ll take care of the estimation (points/ euros) :)

User Stories: hear the User Voice !

Posted by jc-Qualitystreet on 2009/11/12

User stories are increasingly used on Agile projects. This popularity is a very good thing. Goal and business oriented, their simplicity and a immediate focus on acceptance criteria make them terribly effective on design projects.

Once the 3C described (Card, Conversation and Confirmation) and INVEST criteria well understood, when the team and Product Owner start to discover their own stories, they often ask me if the “User Voice” format must be respected …
This format is the following:

As a <User Role>
I can <Goal>
So That <Business Value>

A sentence in which,

  • The role is the one that makes the action and who benefits
  • The goal is the action executed
  • The Business value represents the benefits that emerge from the action

So, should we use this format ? My answer is definitely YES!

  • The “User Voice” gives meaning to the feature … why and for whom the team will develop the product
  • It is a step closer to a user experience approach, especially to the Personas method.The role is often a Persona, representing a concrete realistic and shared vision of the end user.
  • It is clearly ACTION and  GOAL oriented (so efficient to design products)
  • It justifies all the functionality of a business point of view, and requires the Product Owner and teams to systematically examine the value of each feature

My advice:
Give a  concise and significant title  to the User Story and then describe the user story using the “User Voice” format.

Agile Risk Board

Posted by jc-Qualitystreet on 2009/07/23

Risk management is crucial on any IT projects.

It is a core activity of project management discipline, already well documented in Prince 2, PMBOK or CMMI (thus it is an essential part of an Agile CMMI model, expected by some of our client).

Unfortunately agile teams tend to abandon risk management considering applying agile practices is enough to avoid problems.  We need to change it and reintroduce a risk management approach …
In an Agile-CMMI context, it’s a must !

The Good News … with adjustments, risk management is clearly more powerful with Agile methods. It is a great strength (often ignored or hidden). Monitored on a daily basis, the Agile Risk Board  becomes a key element of the Information Radiator (with Task Board, Burndown chart, and User eXperience artifacts).

Agile Risk Board by Grosjean (based on De Marco - Lister)

Agile Risk Board by Grosjean (based on De Marco - Lister)

IS AGILE RISK MANAGEMENT DIFFERENT ?

Yes it is ! Our Agile risk management :

  • Is less formal and done in a Lean spirit (in terms of value, decision making and waste elimination…)
  • Is collective and owned by the Team
  • Is facilitated by an Agile project Manager (ScrumMaster, Coach XP)
  • Is above all qualitative
  • Is ubiquitous and continuous
  • Is “action-oriented”
  • Is improved by Agile values, principles and practices
  • Provides us with much more control and monitoring points

HOW DO WE DO AGILE RISK MANAGEMENT ?

  • Beginning of the project

I plan the Risk management activities, and invite the team to determine how to best manage risks (depending on the context, Agile only, Agile-CMMI …). This is a short exercise that describes how agile management will be done in the specific project. Required, process oriented but useful and no time consuming.

  • Sprint 0

Collectively during a workshop we seek to identify risks and prioritize them according to conventional parameters (probability of occurrence and potential impact). Taxonomy, check lists and brainstorming ! Classic.

  • At each sprint

 The beginning and the end of each sprint are important milestones. Risks are formally included in the agenda of the Sprint planning meeting and Sprint Review. They are discussed with the team. A good thing if the Agile Project manager needs to report.

Risks are identified during all Scrum meetings (Planning release  + Planning meeting, Daily Scrum, Sprint review and Retrospective)

Risks are assessed and managed with strategies for addressing them during all Scrum meetings. Strategies (Mitigate, avoid, transfer, accept ), associated risks and actions are written on the risk board (as the example above).

Risks are continuously monitored on the Information radiator, mainly through the Risk board but also with the Task board and BurnDown Chart (immediate visible result of good or ineffective risk management strategies). Risk management is now collective and HIGLY VISIBLE.

IS THE AGILE RISK MANAGEMENT CMMI / PMI COMPLIANT ?

Yes it is  !Concerning risk management, PMI, the Project Management Institute (via PMBOK) and SEI, the Software Engineering Institute (via CMMI) have almost  the same approach.

Risk Management (RSKM, Maturity Level 3) is the process area dedicated to risk in CMMI (Capability Maturity Model Integration). “The purpose of Risk management is to identify potential problems before they occur so that risk-handling activities may be planned and invoked as needed across the life of the product or project to mitigate adverse impacts on achieving objectives”. Through RSKM, CMMI requires you answer three specific objectives:

  1. Prepare for Risk Management => Yes
  2. Identify and Analyze Risks => Yes
  3. Mitigate Risks => Yes

The agile risk management and its specific practices described above enable you to answer these three objectives and to get direct or indirect evidences needed in appraisal contexts (SCAMPI).

Project Risk management Is one of the nine knowledge areas described in the PMBOK guide (Project Management Body of Knowledge). “The objectives of Project Risk Management are to increase the probability and impact of positive events and decrease the probability and impact of events adverse to the project”

Project Risk management contains 5 processes:

  1. Risk Management planning => Yes

  2. Risk identification => Yes

  3. Risk Analysis => Yes

  4.  Risk response planning => Yes

  5. Risk monitoring and controlling => Yes

One more time, the 5 processes map very well with Agile Risk management practices, even if the Agile Project Manager acts more as a facilitator.

THE BENEFITS: risk management is highly visible, monitored on a daily basis and is everyone’s business.

The KANO model… so good for User Experience

Posted by jc-Qualitystreet on 2009/05/06

 

And a tool so valuable :

  • To understand user’s needs
  • To benchmark services
  • To identify usages
  • To prioritize your product backlog and your development
  • To drive your vision and your strategy
  • Or just to know your product.

The Kano model has almost 25 years … but you can still easily apply it  to your own Projects (IT or not).
The strengths of the model : simplicity, and the user feedback  (questionnaire).

Thus, the Kano model is both a precious User Centered Design tool and a precious decision-making aid tool.

 Kano model

 

The Kano  model seeks to connect requirements (response to needs, product attributes) and customer satisfaction, and classifies 3 types of requirements, that will influence the final customer satisfaction. Very useful and very efficient.

 

Must Have ( “Basic needs”)
These basic requirements are not always expressed but they are obvious to the customer and must be met.  If you don’t do it, “you’re dead !”
These requirements are not a source of satisfaction but can cause major disappointment.  They’re not the priority in term of development but must be there the D day.

E.g. brakes of a car; a bed in a hotel room …

 

Performance needs (”Linear”)
The need is expressed and customer satisfaction is proportional to the level of performance (and quality) of what is implementedIt is a strong source of customer satisfaction and a priority for Development.
It must be shown as soon as possible to the Users.

User feedback on these functions is crucial.

 

Delighters ( “exciters “)
These requirements are not necessarily expressed.  Sometimes they’re unconscious. 

This is the happy surprise that can make a difference, and an important source of satisfaction. If not there, no dissatisfaction, no frustration: they’re not expected.
Thus  in terms of development, they are usually not a priority, except if it is your product or firm strategy.

E.g. The glass of champagne when you arrive at the restaurant, the wifi on the plane or in your hotel room, the mobile touch screen…
Exciters are the keys to Innovation.
 
Obviously, the model is not fixed and a specific function tends to go to” “the Must have”).  The mobile world is the perfect illustration.

 

HOW DOES THE KANO MODEL WORK ?

The model is very simple:  select a representative panel of users (20 … 30), pass them a questionnaire, analyze the responses and make the right decisions.

 

Step 1

Survey users (mostly by questionnaires) on each function through a pair of questions (functional and dysfunctional)
Functional question :  “How would you feel if the product had feature X ?”
I like it
I expect it
I’m neutral
I live with it
I dislike it
 
Dysfunctional question : “How would you feel if the product didn’t have feature X ?”
I like it
I expect it
I’m neutral
I live with it
I dislike it

 

Step 2

Analyze responses for each function and each user questioned.
You have 6 possible categories (I = Indifferent; Uncertain Q = R = Reverse, and the top 3)

 

 Kano model
 
Step 3

Communicate final results for each function :

  • The function x is a “Must Have”
  • The function is a need expressed “Linear”
  • The function z is a requirement attractive “Exciter”
    … 

SCRUM + UX + LEAN philosophy + Engineering practices = SUCCESS

Posted by jc-Qualitystreet on 2009/02/13

Forget SCRUM failure debate for a minute…

What is really working on Agile projects ?
What kind of activities enable your team to deliver as fast as possible an outstanding product ?
Well, I’d say SCRUM; I’d say SCRUM practices but not only…

SCRUM is (too) popular now: latest statistics (2008) from Version One  show that 71 % of agile teams are using it, with or without XP.
Great ! SCRUM is the best framework for project collaboration. It is also a simple process based on feedback and adaptation, ensuring high visibility and velocity.
SCRUM respects people and seeks to provide the highest value to the customer through powerful and mature practices: Integrated Team, Daily Scrum, Retrospective, Iteration planning, Short Iterations, Information radiators

SCRUM is for sure the agile foundation of your projects, but this fantastic framework doesn’t cover everything :

  • No recommendations on User Experience, Agile testing, Development practices, all so crucial on IT projects
  • Partial and insufficient recommendations on Process Improvements and Cultural Changes (organization level)

My conviction : ADDITIONAL KEY ELEMENTS are required to succeed (their relative importance is contextual and depends on the nature of the project):

  • User Experience activities (Interaction Design, Usability, Information architecture have proved their efficiency to support Team work and to facilitate project progress); and UX is directly linked to business value !
  • Appropriate Agile Testing strategy, based for example on Brian Marick,  Agile testing Quadrants (a great model)
  • Lean thinking  (Long term Philosophy and other management principles from the TPS or LSD, eliminate waste, amplify learning, deliver fast, …) applied to processes and organization
  • XP Development best practices (still extreme in 2009?)

Anything else for you ?

Use cases - User Stories: so precious but not the same !

Posted by jc-Qualitystreet on 2009/01/23

Use cases and user stories are two popular ways to capture functional requirements. They’re both goal-oriented (a very good thing), can be discovered during user / customers workshops, can be easily combined with UX activities, and are used in Agile contexts.

Use cases and user Stories look similar; actually, they’re different. Here is the list of 14 major differences I’ve noticed:

  1. A user story is a brief description of functionality as viewed by the user (Role → Goal); it doesn’t model the interaction between the actor and the system, what the use case does. A user story is not a sequence of actions.
  2. A user story is short and consist in one or two sentences written in the language of the user (example: As a recruiter, I can submit job vacancies). A role and a goal, then it is discussed. A use case is heavier, richer in information: goal, summary, actor, precondition, trigger event, main success scenario and extensions (alternative paths, errors …). Use case is (too much) detailed.
  3. A user story is smaller and can finally be seen as a part of a specific use case: the main success scenario or an extension
  4. User stories are used for planning. They play a major role in project estimation and planning (via story points and velocity). Use cases are not used for planning, even if you can use “use cases points” technique to estimate project size.
  5. User stories emerge faster than use cases; use cases require more time for analysis and writing
  6. User stories are more readable than use cases; use cases usually belong to a large word document, often poorly written and difficult to read even in a structured template
  7. User stories are easier to maintain than a 150 pages Use cases Document
  8. User stories are based on verbal communication and rely on collaboration, discussion and proximity to clarify details. Use case is a textual model (associated with diagrams): every thing is written !
  9. User stories are in theory written on cards (remember the 3 C rule: Card, Conversation, Confirmation): they’re not intended to be archived unlike use cases.
  10. A user story must be implemented and tested in one iteration; a specific use case can be implemented in several iterations: main success scenarion on iteration 1; extensions in Iteration 2 and 3 …
  11. User stories can be more easily written by a user or customer; most of the time use cases are written by user proxies (BA, Consultants …)
  12. User stories contain acceptance tests (validation criteria) written on the back of the story card; use case not: tests cases are created in a separate documentation
  13. Use cases provide a more holistic view of the system: precondition, UC diagram, sub use case. Linking user stories is less obvious. This is also a reason why UX and IxD activities are so important in agile contexts !
  14. Finally, Use cases and user stories are usually associated with two different methodologies (Unified Process vs eXtreme Programming). But you can do user stories in a Unified Process environment !

My preference:

I have almost a ten years experience with use cases. Alistair Cockburn’s book “Writting effective use cases” used to be my bible for years… but now, my preference definitely goes to user stories model. And this is usually my recommendation to Agile Teams.

Why ?

  • User stories focus on what is really important
  • User stories are more appropriate for collaboration
  • User stories can perfectly be combined with UX activities (Personas, Storyboard, Wireframes):
    User stories + UX artifacts = Just enough

12 best practices to integrate UX into agile process …

Posted by jc-Qualitystreet on 2009/01/18

12 best practices compiled by Jeff Patton that have proven their efficiency with multiple teams.

Here is the list of the emerging practices with a quick review.

1 Drive: UX practitioners are part of the customer or product owner team

MUST User Experience activities support analysis and prioritization tasks carried out by of the Product Owner (scrum) / Client (XP). This can go up to write User Stories and even play the Product Owner role. This position does not harm our cooperation with the development team. In one of my recent projects, we had a Product Owner Team (speaking one voice) working with the UX consultant to facilitate understanding and putting User Stories into context.It was very efficient.

2 Research, model, and design up front - but only just enough

MUST Sprint 0 offers us a good opportunity to do our job, but timeframe is diiferent … UX must go straight to the point: personas, quick modeling…Sprint are short (2, 3 or 4 weeks) and people expect expertise from us.

3 Chunk your design work

MUST No choice but not an easy thing. During the first iteration, it is a real difficulty.

4 Use parallel track development to work ahead, and follow behind

MUST It is a real challenge but it is also the most exciting part of the job in an Agile context. During a specific iteration (n), UX practionners have to:

  • design the content of next iterations (n+1, n+2)
  • collaborate with developers on the current iteration
  • evaluate results of the previous iteration (n-1)

5 Buy design time with complex engineering stories 

CAN Very contextual.

6 Cultivate a user validation group for use for continuous user validation

CAN It helps and it is great if the pool of users is the target (but the pool must be large enough). It could be also a way to initiate change…

7 Schedule continuous user research in a separate track from development

CAN A question of time and resources but impossible if there is only one UX guy in the organization…

8 Leverage user time for multiple activites

SHOULD OK, but do not forget that visiting users for nterviews, questionnaires, card sorting, screen reviews requires time for preparation, analysis and restitution…

9 Use RITE to iterate UI before development

MUST Feedback and adaptation are the keys. Teams do not want to wait; they don’t care about a  formal and standard usability testing reports.

10 Prototype in low fidelity

MUST Paper, PPT, Visio, whiteboard … everything is OK if you give value to the team and the project.

11 Treat prototype as specification

MUST Always ! High level Storyboard + User Stories + Wireframes : a magic potion

12 Become a design facilitator

MUST It is my conviction : facilitation is  the future of our profession !