Agile methodology - Humanity

43
Product Definition Agile Product Development

Transcript of Agile methodology - Humanity

Product DefinitionAgile Product Development

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.

Get into rabbit hole…

UsersWe can divide users in 3 types:

• Experts!

• Willing adopters!

• Mainstreamers

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

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

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.

Experts

Willing to adopt

Mainstreamers

User Types compared

Real life example

• Apple’s expert customers wanted a flying car.

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

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.

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.

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.

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)

Simplicity & Mobile FirstDifference between usability and simplicity

Make it simple

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

• 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.

• 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

The same techniques are applicable for developers too!

Build Measure Learn

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.

Project cycle in IMVU Social Entertainment Company

more than 100 million users

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

• 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

Behaviour Driven Development (BDD)

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

application behaviour by encouraging intense customer involvement

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.

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.

• 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.

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

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..)

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

Workshop

Real life example: Sessions Module

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)