Top Banner
Product Definition Agile Product Development
43
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Agile methodology  - Humanity

Product DefinitionAgile Product Development

Page 2: Agile methodology  - Humanity

What is agile product development?

The Agile methodology is an iterative approach to product development that is performed in a collaborative environment by self - organising & multifunctional teams.

The methodology produces high-quality software in a cost-effective and timely manner to meet stakeholders’ changing needs.

Page 3: Agile methodology  - Humanity
Page 4: Agile methodology  - Humanity

Get into rabbit hole…

Page 5: Agile methodology  - Humanity

UsersWe can divide users in 3 types:

• Experts!

• Willing adopters!

• Mainstreamers

Page 6: Agile methodology  - Humanity

Experts• Happy to explore and to push

the limits of what they can do

• They want never-before-seen technology that is customised for them

• Even if they’re new to a product, they have an expert attitude

• Eg: browse through the mobile phone’s file system and tweak everything

Page 7: Agile methodology  - Humanity

Willing adopters• They probably already use some

similar products or services.

• Tempted to use something more sophisticated

• Not comfortable playing with something entirely new they need to be given easy ways to adopt new features.

• Tolerance for learning is pretty low

• They might be interested in a more sophisticated phone, but only if they can transfer their precious contacts easily

Page 8: Agile methodology  - Humanity

Mainstreamers• Don’t use technology for its own sake -

They use it to get a job done.

• Tend to learn a few key features and never add to their repertoire.

• They say: ”I just want my mobile phone to work.”

• Most people fall into this group.

• It has more to do with their underlying attitude toward technology than the amount of time they spend using a product or service.

Page 9: Agile methodology  - Humanity

Experts

Willing to adopt

Mainstreamers

User Types compared

Page 10: Agile methodology  - Humanity

Real life example

• Apple’s expert customers wanted a flying car.

• Apple’s mainstream customers just wanted an MP3 player that worked.

Page 11: Agile methodology  - Humanity

Result?

As of January 2010, Apple had sold 240,000,000 iPods and no flying cars.

As of January 2010, Apple had sold 240,000,000 iPods and no flying cars.

Page 12: Agile methodology  - Humanity
Page 13: Agile methodology  - Humanity

Build for mainstreamers• Mainstreamers are interested in getting the job done now

experts are interested in customising their settings first.

• Mainstreamers value ease of controlexperts value precision of control.

• Mainstreamers want reliable resultsexperts want perfect results.

• Mainstreamers are afraid of breaking somethingexperts want to take things apart to see how they work.

• Mainstreamers want a good matchexperts want an exact match.

• Mainstreamers want examples and storiesexperts want principles.

Page 14: Agile methodology  - Humanity

User Experience & Emotional needs

“It turned out to be about making the user feel good about putting things off/done. We needed to make the user feel confident that they’d be able to put tasks away and find them again later.”Jürgen Schweizer, Things (iOS task management)

They're in ControlUsers want to feel in control of the technology they’re using.

Page 15: Agile methodology  - Humanity

Describing User Experience

Use stories to describe problem Unlike a list of requirements, it helps the team understand what’s important and why.

A story should sum up the core experience in a few sentences.

Sessions: How would i tell the manager why I am late and where am I? (traffic, outdoor, partial focus)

Page 16: Agile methodology  - Humanity
Page 17: Agile methodology  - Humanity

Simplicity & Mobile FirstDifference between usability and simplicity

Page 18: Agile methodology  - Humanity

Make it simple

How we can make some complex interface simpler and easier to use?

Page 19: Agile methodology  - Humanity

• Remove - get rid of all the unnecessary elements until the device is stripped back to its essentials.

• Organize - arrange the elements into groups that make more sense.

• Hide - hide all but the most important elements so they don’t distract users.

• Displace - create a very simple UI with a few basic features and access the rest via separated screen/section, displacing the complexity from the one place to another.

Page 20: Agile methodology  - Humanity

• We can combine all 4 or we can use one as a primary strategy

• There is no universal solution. Best result is to adapt of current problem and try to find optimal solution

Page 21: Agile methodology  - Humanity

The same techniques are applicable for developers too!

Page 22: Agile methodology  - Humanity

Build Measure Learn

Page 23: Agile methodology  - Humanity

Basic steps: 1 2 3ELIMINATE UNCERTAINTY Create order not chaos by providing tools to test a vision continuously. Putting a process, a methodology around the development of a product !WORK SMARTER NOT HARDER The question is not "Can this feature be built?" Instead, the questions are "Should this feature be built?" !DEVELOP AN MVP The first step is figuring out the problem that needs to be solved and then developing a minimum viable product (MVP) to begin the process of learning as quickly as possible. !VALIDATED LEARNING When you focus on figuring the right thing to build-the thing customers want and will pay for-you need not spend months waiting for a product beta launch to change the company's direction.

Page 24: Agile methodology  - Humanity

Project cycle in IMVU Social Entertainment Company

more than 100 million users

Page 25: Agile methodology  - Humanity

Project Cycle in Intuit (7 days long)

Thursday Create several A/B tests

Friday Release of the tests

Weekend Run tests

Monday Read the results

Tuesday Rebuild new tests

Project cycle in Intuit Inc. Social Entertainment Company

TurboTax product

Page 26: Agile methodology  - Humanity

• Find Design Issues Early • Iterate More Quickly on a Design Concept • Compare Design Variations Quickly • Gather Design Feedback Better • Be Able to Perform User Testing Early On • Prototypes Encourage Collaboration • Designs Are Increasingly Becoming More Complex • Prototypes Give You a Visual Guide to the Finished Product • Prototyping is Cheap, Fast, and Easy

Prototypes a.k.a. StoryboardsAdvantages

Page 27: Agile methodology  - Humanity
Page 28: Agile methodology  - Humanity
Page 29: Agile methodology  - Humanity
Page 30: Agile methodology  - Humanity

Behaviour Driven Development (BDD)

Software development methodology that takes an outside-in approach to describe

application behaviour by encouraging intense customer involvement

Page 31: Agile methodology  - Humanity

What that means?• Instead of writing tests we should think

of specifying behavior. Behavior is how the user wants the application to behave.

• When our development is Behavior-driven, we will always start with the piece of functionality that’s most important to user.

Page 32: Agile methodology  - Humanity

BDD User StoriesUser stories are the central axis around which a software project rotates.

User stories provide the unit of effort that project management uses to plan and to track progress.

Estimations are made against user stories, and user stories are where software design begins. User stories help to shape a system’s usability and user experience.

User stories express requirements in terms of The Role, The Goal, and The Motivation.

Page 33: Agile methodology  - Humanity

• The Role - manager, employee, customer

• The Goal - what user want to do (purchasing, or ordering, or paying a bill)

• The Motivation - Statement which provides some insight into a user’s reasonable expectation for how the feature or function that satisfies the story may work.

Page 34: Agile methodology  - Humanity

A/B Testing

Commonly used in web & mobile development, online marketing, and other

forms of advertising to describe simple randomised experiments with two variants,

A and B, which are the control and treatment in the controlled experiment.

Learning from users

Page 35: Agile methodology  - Humanity
Page 36: Agile methodology  - Humanity
Page 37: Agile methodology  - Humanity
Page 38: Agile methodology  - Humanity
Page 39: Agile methodology  - Humanity
Page 40: Agile methodology  - Humanity

Analytics + AB testing• Smarter interface - Better UX

• Final destination: Native UIApplication knows user behaviour and adapt to meet his needs (reminder for clock in, suggestion for choosing colleagues for shift trading..)

Page 41: Agile methodology  - Humanity

Conclusion• Learn about users

• Make product simpler (start from small screens first)

• Make smaller batches of work and faster iterations

• Intensively use of A/B testing

• Use analytics to make UI smarter (Native UI)

• Accelerate changed based on valid (tested) results

• Create sustainable process of constant improving product

Page 42: Agile methodology  - Humanity

Workshop

Real life example: Sessions Module

Page 43: Agile methodology  - Humanity

Sprint overview

Defining user stories Sending notifications (Backend)

Research technology Saving messages (Backend)

Storyboards Saving messages (Client side)

Clickable Storyboards : Prototypes Creating groups (Client side)

Making UI Creating groups (Server side)