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]