Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha...

21
CSc 233/171 Fall 2013 Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman 1 A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts: "Excuse me, can you help me? I promised my friend. I would meet him half an hour ago, but I don't know where I am."

Transcript of Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha...

Page 1: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

1

A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts:

"Excuse me, can you help me? I promised my friend. I would meet him half an hour ago, but I don't know where I am."

Page 2: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

2

The man below says, "Yes, you are in a hot air balloon, hovering approximately 30 feet above this field.

You are between 40 and 42 degrees North latitude, and between 58 and 60 degrees West longitude."

"You must be a programmer," says the balloonist.

"I am," replies the man. "How did you know?"

"Well," says the balloonist, "everything you have told me is technically correct, but I have no idea what to make of your information, and the fact is I am still lost."

Page 3: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

3

The man below says, "You must be a project manager"

"I am," replies the balloonist, "but how did you know?"

"Well," says the man, "you don't know where you are or where you are going.

You have made a promise which you have no idea how to keep, and you expect me to solve your problem.

The fact is you are in the exact same position you were in before we met, but now it is somehow my fault."

Page 4: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

4

Chapter 15 – Completing the Project

1. Managing Requests for Early Release

2. Managing Beta Releases

3. When You Know You Can’t Meet the

Release Date

4. Shepherding the Project to Completion

5. Canceling the Project

Page 5: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

5

Continuous Integration

• Team members integrate their work frequently…

usually each person integrates at least daily - leading

to multiple integrations per day.

• Each integration is verified by an automated build

(including “smoke test”) to detect integration errors

as quickly as possible.

• Many teams find that this approach leads to

significantly reduced integration problems and

allows a team to develop cohesive software more

rapidly.

http://martinfowler.com/articles/continuousIntegration.html

Page 6: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

6

Early Release Methods, but…

• How do you turn a serial life cycle into a staged

delivery cycle?

• How do you manage the coding phase?

• The answer is …

what would you say?

The Sutherland (Scrum) video…

Page 7: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

7

Alpha Testing

A very early version of a software product that may not

contain all of the features that are planned for the

final version.

Typically, software goes through two stages of testing

before it is considered finished.

1. Alpha Testing, often performed only by “users”

within the organization developing the software.

2. Beta Testing, generally involves a limited number

of external users.

Page 8: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

8

Beta Testing

• A test for a computer product prior to commercial

release.

• Beta testing is the last stage of testing, and normally

can involve sending the product to beta test sites

outside the company for real-world exposure or

offering the product for a free trial download over the

Internet.

• Testing to ensure that the product “runs” in the wide

variety of environments in which it is used.

Testing that is not practical to be done “in house”

• Beta testing is often preceded by a round of Alpha

testing.

Page 9: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

9

Managing Beta Releases

• Beta: purpose

• Beta: customer selection

• Beta: entry criteria

• Beta: exit criteria

• Overall Beta: schedule

Page 10: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

10

When you cannot meet the release date!

Review the release criteria (do you have any?)

The “done” criteria (Sutherland video):

Production ready:

• Feature complete

• Code complete

• No known defects

• Approved by product owner

• Production ready

• Decide how long it will take to finish a minimal set of features.

• Change development to one feature at a time:

Develop

Integrate

Test

Page 11: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

11

“Take no small slips.”

Slipping a week each week is hell!

• Find out what is causing the delay!

• You are late… get everyone's attention to make sure

the team is not interrupted & remains focused.

• Replan… back to the stickies!

You want inch-pebble planning (which requires a WBS)

Page 12: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

12

Estimating System Test time

• If you have been using “Test Driven Development”

and have integrated system testing into each iteration,

how much system testing do you have at the end?

• What should you expect for a serial project? Why?

• Also estimate “time to fix”.

A 9-day test and fix cycle

Testing cycle 6 days

Time to fix 3 days

Page 13: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

13

What to do when you don’t have enough time?

1. You can not accomplish the original testing

planned!

2. Develop a plan of attack

Exploratory (but strategic) testing

Rank order what to test

Plan to test the high value parts first

3. Also explain what could go wrong

Critical bugs identified that cannot be fixed

Bugs may be missed that will be found by customers

Bug identified that prevents testing a particular area

Page 14: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

14

4. Evaluate progress each week.

If fixes have been made, plan completion for week 4.

If fixes are not made, continue into week 5.

5. Week 5… if bugs are not fixed continue into week 6

6. Week 6… report status/progress.

“… in a pickle, where you don’t have enough time to test

everything, use timeboxing to … evaluate how little

you can do and still deliver something of value”

Why does system testing takes so long

at the end of the project?

Easy answer…

“… not integrating testing into the project as the project proceeded.”

Page 15: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

15

Managing the “end game”

• Trade-offs… end up taking on “technical debt”.

• Defect Triage – assessing each defect and fixing what

is necessary.

Point Releases

• [common] A minor releases of a software project,

especially one intended to fix bugs or do minor

cleanups rather than add features.

• The term implies that such releases are relatively

frequent, and generally used with respect to Open

Source projects.

Page 16: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

16

The retrospectives

Five step approach:

1. Set the stage

2. Gather the data

3. Generate insights

4. Decide what to do

5. Close the retrospective

A plan!

All involved … plan & pay for the time

http://www.youtube.com/watch?v=qqtPZYigfNI First 18 min (total 51)

Page 17: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Google Tech Talks, January 25, 2007

Project retrospectives help teams examine what went right and

what went wrong on a project. But traditionally, retrospectives

(also known as "post-mortems") are only performed at the end of

the project -- too late to help. In organizations where teams

develop using iterative, incremental methods, Agile

retrospectives at the end of each iteration or increment stimulate

continuous improvement throughout the project. Exceptional

software process and project improvement grows out of solid data

and good planning.

Esther Derby and Diana Larsen, authors of Agile Retrospectives:

Making Good Teams Great, will introduce you to a framework

for effective...

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

17

Page 18: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

18

Plan to celebrate

• Why?

• What does it accomplish?

• What form should it take?

“Celebrations have to fit the people on the project.”

Page 19: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

19

Professional ways to stop work!

1. Explain to the people on the project why you're canceling the

project and what happens to them.

People want to know that you appreciate their efforts. And

they want to know what work they'll be doing now.

2. Give people time to clean up their work before starting on

their new work.

That means checking in the code that's checked out with

comments that explain the state of the code, or noting on a

design which alternatives were under discussion, or which

tests were or were not completed.

Cleaning up work is not the same as finishing up work… this

step should take less than a day to perform.

Page 20: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

20

It’s all over…

3. Cancel all meetings associated with the project.

Once people clear their schedules of these project-related

meetings, they'll see other time they have available for the

new work.

4. Assign someone to handle the inevitable questions about the

canceled project, preferably someone high up in

management.

If a technical person has the project information, he or she

might start working on it again.

If a manager is assigned to be the point person, the manager

is less likely to start working on the project.

Page 21: Chapter 1: Starting a Projectathena.ecs.csus.edu/~buckley/CSc233/CSc233_Chapter15.pdf · Alpha Testing A very early version of a software product that may not contain all of the features

CSc 233/171 Fall 2013

Manage It! Your Guide to Modern, Pragmatic Project

Management. Johanna Rothman

21

Canceled Project…

5. If you're canceling a project that's had some substantial work

(sometimes as little as a few weeks or more), take the time to

perform a project retrospective and see what people learned

from this project.

6. Start people on their new project as soon as they've cleaned

up their work.

7. Appreciate each person for the work they performed.