Top Banner

of 12

Project Management and Testing in an Agile Environment, 7-23-03

Apr 14, 2018

Download

Documents

Ruben Parodi
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
  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    1/12

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    2/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 2

    2003 Johanna Rothman www.jrothman.com [email protected] 3

    What Do Project Managers Do? From the PMBOK:

    Initiate

    Plan

    Execute

    Control

    Close

    Agile Project Managers:

    Initiate

    Plan an iteration

    Plan daily work

    Execute

    Steer/Guide (help the teamorganize and manage their work)

    Close the iteration

    Review effort expended andprogress made

    Until enough iterations are done

    Close

    2003 Johanna Rothman www.jrothman.com [email protected] 4

    What Do Testers Do?

    In traditional projects

    Read documentation

    Develop tests based onrequirements

    Develop tests based ondocumentation

    Develop tests based on API

    Report problems

    Report on state of software

    Frequently, after code is available

    In agile projects

    Develop tests with customer

    Develop requirements for productdocumentation

    Develop tests based on API

    Report problems

    Report on state of software

    Before development

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    3/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 3

    2003 Johanna Rothman www.jrothman.com [email protected] 5

    Agile Projects Make

    Traditional PM Problems Obvious We cant fully plan before we start, because we dont know where

    were going

    We can plan a little and continue to iterate the planning

    When we execute, things will happen

    Risk management is essential

    During the control phase, we need to measure whatshappening, so we have a chance of guiding the project

    What do you measure, so you know where you are and can move to where

    you want to be? If we knew when we were done, wed close

    So if were ready to release at a moments notice, we can close any time

    2003 Johanna Rothman www.jrothman.com [email protected] 6

    Agile Projects Change the Nature of

    Testing

    So far, agile testers look a lot like developers

    Their perspective is different

    Test-first development means the developers wait on the testersfor the requirements

    But not very long. Hours, maybe a day

    Build is always available

    Cycles of testing have to complete quickly (less than a day)

    Changes the nature of how we plan to test and how we developtests

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    4/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 4

    2003 Johanna Rothman www.jrothman.com [email protected] 7

    What Agile Project Managers Do Guide projects

    Negotiate each iterations content

    But cant you fit in one more user story?

    Track iterations progress

    Facilitate 15-minute daily standup meetings to expose progress and obstacles Heres what I finished. Heres what Im working on today. Heres what would

    prevent me from completing it.

    Facilitate customer/team working together

    Agitate for customer involvement

    Use previous iterations completion to plan next iteration

    Use velocity (number of user stories/iteration completed) and prioritized userstories left to predict the next iteration

    Agile project managers require more of the soft skills to be effective

    Negotiation, oral communication, influence

    2003 Johanna Rothman www.jrothman.com [email protected] 8

    Project Initiation

    Question:

    How many of you write project charters?

    How many of you jump directly to the project schedule?

    Project charters can be invaluable

    Why we want this project, return for the project, risks, people

    Especially needed when

    One customer cant represent the entire customer set

    The customer cant/wont sit with the team Youre a pilot project trying out agile methods

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    5/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 5

    2003 Johanna Rothman www.jrothman.com [email protected] 9

    Project Planning Question:

    How many of you plan the whole project at the beginning?

    How many of you plan to replan?

    Agile projects practice schedule and planning iteration, as well asdevelopment iteration

    About planning:

    Planning is not the holy grail of a successful project

    However, without a plan, you cant be successful

    Plan what you need to plan, and dont bother with the rest

    2003 Johanna Rothman www.jrothman.com [email protected] 10

    Steer/Guide an Agile Project

    Daily 15-minute standup meetings

    Measure each iterations velocity

    Earned value at its best

    How many people, how many user stories completed, in how much time

    Monitor fault feedback ratio

    High FFR implies not enough refactoring

    Refactoring is updating the code, not the design

    Tells you whether you need to change pairs or institute other peer reviewtechniques

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    6/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 6

    2003 Johanna Rothman www.jrothman.com [email protected] 11

    Close an Iteration Iteration close criteria

    Did we accomplish all the user stories we thought we could do?

    Is it time to complete an iteration?

    Can the customer use whats in this iteration?

    Can perform a quick retrospective

    2003 Johanna Rothman www.jrothman.com [email protected] 12

    Test Planning

    How many of you develop test strategy documents?

    Release criteria, what you will and will not test

    Which configurations

    How many of you plan for X iterations of testing?

    How many of you plan for test automation?

    Agile projects practice testing iteration, as well as developmentiteration

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    7/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 7

    2003 Johanna Rothman www.jrothman.com [email protected] 13

    Testing in an Agile Project Develop automated tests at the top level

    Developers develop unit tests

    Develop automated tests at the integration level (it depends)

    Refactor the tests

    Agile projects demand automated tests (as the main driver fortests)

    2003 Johanna Rothman www.jrothman.com [email protected] 14

    Completing Testing for an Agile Project

    If youve been testing with the user all along, you dont need useracceptance testing

    Some projects plan for a short iteration with exploratory testingto run through all the system tests and fix problems they missed

    Measure code coverage to see if large holes

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    8/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 8

    2003 Johanna Rothman www.jrothman.com [email protected] 15

    Example of an Agile Project Please arrange yourselves into groups of 10:

    Well debrief together: Observers (PM, Customer/tester, developer): What did you see and hear?

    Project staff (PM, Developers, Customer/testers):

    What stood out for you?

    Where were you challenged? surprised?

    Whats one thing you learned about agile projects?

    Whats one thing youre going to apply when you go back to work?

    1 customer/tester observer1 customer and 1 tester

    1 developer observer3 developers

    1 PM observer1 Project manager

    Observers (3 people)Project staff (7 people)

    2003 Johanna Rothman www.jrothman.com [email protected] 16

    Define Project Quality to Determine

    Which Agile Techniques to Use

    Define quality: Value to someone

    You have many someones, which someones do you care about the most?

    Do you have multiple users, each with their own agenda?

    Make sure you have one customer from each user set assigned to theproject

    Facilitate their discussions

    Why should you care about what quality means for your project

    You wont have time to do everything. Defining quality means you can

    make appropriate choices

    Rank user stories

    You can use agile project management and techniques no matter whatyour customers want

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    9/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 9

    2003 Johanna Rothman www.jrothman.com [email protected] 17

    Assess Your Projects

    Requirements and Constraints Every project has requirements and

    constraints

    What do your customers care aboutthe most?

    Time to market

    Feature set

    Defect levels

    Internal perspectives or constraints:Your customers dont care about these.You do.

    Cost to market People and their capabilities

    Work environment

    Peop

    leandth

    eirc

    ap

    abiliti

    es

    Cost to market

    Work

    environm

    ent

    TimetoMarket

    Feature

    set

    LowD

    efects

    2003 Johanna Rothman www.jrothman.com [email protected] 18

    Different Projects Have Different Customer Focus

    Technology

    Enthusiasts

    BowlingAlley

    Early Market

    MainstreamMarket

    TheChasm

    Tornado

    Main Street

    End of Life

    Visionaries

    Pragmatists

    Conservatives

    Skeptics

    Introduction Early Adopters Mainstream Late Majority Skeptics1. Time to Market 1. Time to Market 1. Low Defects 1. Low Defects 1. Low Defects2. Feature Set 2. Feature Set 2. Time to Market 2. Feature Set 2. Feature Set3. Low Defects 3. Low Defects 3. Feature Set 3. Time to Market 3. Time to Market

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    10/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 10

    2003 Johanna Rothman www.jrothman.com [email protected] 19

    About Iterations Two-six weeks long (2-3 weeks is better)

    An iteration should be as long/short as you are willing to throw theiterations work away

    Team decides what they can accomplish within an iteration

    Team monitors its velocity: number user stories/iteration

    Customer and team develop user story cards (not a formalrequirements document)

    Customer and team work together to understand each user story

    Testers and customer write acceptance tests

    All code is developed test-first (unit tests)

    Use some sort of peer review technique (pair programming,informal review)

    2003 Johanna Rothman www.jrothman.com [email protected] 20

    Choose What to Measure

    Dont be afraid to apply YAGNI to measurement also

    EQF (Estimation Quality Factor)

    FFR (Fault Feedback Ratio)

    Cost to fix a defect

    When people work on the project vs. when they are assigned

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    11/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 11

    2003 Johanna Rothman www.jrothman.com [email protected] 21

    Summary Using agile techniques can help your project management and

    testing

    The project staff have to be ready, as well as your management

    Agile project management requires much more monitoringthroughout the project (and less upfront planning)

    Test first means reporting is easy

    Inch-pebbles and earned value are your friends

    Choose iteration durations so that if you have to throw out anentire iterations work, its ok

    Move from project control to project steering

    Have fun!

    2003 Johanna Rothman www.jrothman.com [email protected] 22

    References and Reading

    Beck, Kent, Extreme Programming Explained: Embrace Change, Addison-Wesley,Reading, MA. 2000.

    Beck, Kent and Martin Fowler, Planning Extreme Programming, Addison-Wesley,Reading, MA. 2001.

    Highsmith, Jim, Adaptive Software Development, Dorset House, New York, 2000.

    Highsmith, Jim. Agile Software Development Ecosystems, Addison-Wesley, Reading,MA. 2002.

    Martin, Robert C. Agile Software Development:Principles, Patterns, Practices, PrenticeHall, Upper Saddle River, NJ. 2003.

    Schwaber, Ken et al. Agile Software Development with Scrum, Prentice Hall, UpperSaddle River, NJ. 2001.

    I have a variety of articles on my website, and in my Managing Product Developmentblog:

    www.jrothman.com/papers.htmlwww.jrothman.com/weblog/blogger.html

    Agile Alliance is at www.agilealliance.org

  • 7/30/2019 Project Management and Testing in an Agile Environment, 7-23-03

    12/12

    Project Management and Testing in an Agile Environment

    2003 Johanna Rothman www.jrothman.com

    781-641-4046 [email protected] 12

    2003 Johanna Rothman www.jrothman.com [email protected] 23

    Questions? If you have questions later, email me, [email protected]