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