Agile methodology - Humanity
Embed Size (px)
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 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 theyre new to a product, they have an expert attitude
Eg: browse through the mobile phones 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 Dont 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.
Willing to adopt
User Types compared
Real life example
Apples expert customers wanted a flying car.
Apples mainstream customers just wanted an MP3 player that worked.
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 theyd be able to put tasks away and find them again later.Jrgen Schweizer, Things (iOS task management)
They're in ControlUsers want to feel in control of the technology theyre using.
Describing User Experience Use stories to describe problem Unlike a list of requirements, it helps the team understand whats 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 dont 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
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 thats 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 systems 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 users reasonable expectation for how the feature or function that satisfies the story may work.
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
Real life example: Sessions Module
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)