Agile methodology - Humanity

download Agile methodology  - Humanity

of 43

  • date post

    16-Jul-2015
  • Category

    Software

  • view

    142
  • download

    0

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!

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

  • Experts

    Willing to adopt

    Mainstreamers

    User Types compared

  • Real life example

    Apples expert customers wanted a flying car.

    Apples 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 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

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

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