Applying the Team Software Process Noopur Davis, SEI Bruce - - PowerPoint PPT Presentation

applying the team software process
SMART_READER_LITE
LIVE PREVIEW

Applying the Team Software Process Noopur Davis, SEI Bruce - - PowerPoint PPT Presentation

Applying the Team Software Process Noopur Davis, SEI Bruce Erickson, Intuit SEPG 2005 Seattle, WA 1 1 1 Topics Background Overview of TSP Highlights of standard development processes in QuickBooks division of Intuit


slide-1
SLIDE 1

1 1 1

Applying the Team Software Process

Noopur Davis, SEI Bruce Erickson, Intuit SEPG 2005 Seattle, WA

slide-2
SLIDE 2

2

Noopur Davis/Bruce Erickson

2

Topics

Background Overview of TSP Highlights of standard development processes in QuickBooks division of Intuit Integrating TSP/PSP with Intuit QuickBooks processes Adoption of PSP by individual engineers Key successes of the application of TSP Key challenges to integrating TSP Planned improvements to be adopted by the pilot team for their next project

slide-3
SLIDE 3

3

Noopur Davis/Bruce Erickson

3

Background

The Team Software Process (TSP) promises radical improvements in quality superior project status visibility predictability efficiency a framework for continual improvement

slide-4
SLIDE 4

4

Noopur Davis/Bruce Erickson

4

Questions

How does TSP fit into existing culture and processes? Can TSP promises be fulfilled when working with a complex code base that has evolved over more than 10 years?

slide-5
SLIDE 5

5

Noopur Davis/Bruce Erickson

5

TSP Overview

The TSP is a framework and a process structure for building and guiding self-directed teams. The TSP addresses

team-building team-working

Each phase or cycle of a TSP project starts with a launch

  • r re-launch.

The standard strategy is to

develop in increments use multiple cycles work-ahead

Phase or cycle Postmortem Development phase

  • r cycle

Launch Re-launch Project Postmortem

slide-6
SLIDE 6

6

Noopur Davis/Bruce Erickson

6

Intuit QuickBooks Process Highlights

Requirements development User Interface design and specification Technical designs Release Commit Implementation Code Complete Functional test complete/UI freeze System test complete Beta ready Shutdown begins Manufacturing Release

Note: Phases overlap as needed. Phases shown here apply to software developers, not to systems testers or other functions in the organization.

slide-7
SLIDE 7

7

Noopur Davis/Bruce Erickson

7

Integrating TSP with Intuit QuickBooks Processes

Feature 3 Feature 2 Feature 1 W13 W12 W11 W10 W9 W8 W7 W6 W5 W4 W3 W2 W1 Feature

Implement part 1 Implement part 2 Imp. part 3 Implement part 4 Requirements Implement feature 2 framework Implement feature 2 Implement part 1 Implement part 2 Imp. part 3 Implement part 4

Keys to success:

  • Immediate PD start
  • Extreme parallelism
  • Incremental delivery
  • Radically high quality (TSP/PSP)
  • Aggressive tracking (TSP)
slide-8
SLIDE 8

8

Noopur Davis/Bruce Erickson

8

Integrating PSP with Intuit QuickBooks Processes

Feature 3 Feature 2 Feature 1 W13 W12 W11 W10 W9 W8 W7 W6 W5 W4 W3 W2 W1 Feature

Implement part 1 Implement part 2 Imp. part 3 Implement part 4 Requirements Implement feature 2 framework Implement feature 2 Implement part 1 Implement part 2 Imp. part 3 Implement part 4

PSP applied during implementation

  • Design, personal design review,

design peer review

  • Code, personal code review, code

peer review

  • Unit test
slide-9
SLIDE 9

9

Noopur Davis/Bruce Erickson

9

Adoption of PSP by Individual Engineers

PSP was adopted to varying degrees All engineers kept detailed time logs. All engineers recorded defects, especially defects detected in inspection and test. All engineers kept their task plans up to date. All engineers provided weekly status to the team. Some engineers embraced the principles of the PSP, while others remained lukewarm.

slide-10
SLIDE 10

10

Noopur Davis/Bruce Erickson

10

Key Successes of the Application of TSP

Increased visibility into project status Improved quality Longer development cycle Team involvement

slide-11
SLIDE 11

11

Noopur Davis/Bruce Erickson

11

Increased Visibility Into Project Status

Each team member, as well as the team as a whole, has detailed insight into project status

Earned value Quality information from early phases Task hours Tasks completed Tasks remaining

slide-12
SLIDE 12

12

Noopur Davis/Bruce Erickson

12

Earned Value At Project Completion

Cumulative Earned Value

0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 100.0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 Weeks Earned Value Cumulative Planned Value Cumulative EV Cumulative Predicted Earned Value

slide-13
SLIDE 13

13

Noopur Davis/Bruce Erickson

13

Task Hours

Mid-way through the project, people started rolling off.

Planned and Actual Hours per Week Weeks Hours

Planned Hours Actual Hours

slide-14
SLIDE 14

14

Noopur Davis/Bruce Erickson

14

Importance Of Re-Planning

Changes in Total Estimated Effort

500 550 600 650 700 750 800 850 900 950 1000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Week Total Estimated Effort Hours

slide-15
SLIDE 15

15

Noopur Davis/Bruce Erickson

15

Weekly Status -1

Weekly Data Plan Actual Plan / Actual Schedule hours for this week 60.0 51.3 1.17 Schedule hours this cycle to date 361.0 325.0 1.11 Earned value for this week 8.1 8.8 0.92 Earned value this cycle to date 38.8 37.7 1.03 To-date hours for tasks completed 344.4 326.5 1.06 To-date average hours per week 51.6 46.4 1.11 EV per completed task hour to date 0.113 0.116

Some weeks were better…

slide-16
SLIDE 16

16

Noopur Davis/Bruce Erickson

16

Weekly Status -2

…than other weeks!

Weekly Data Plan Actual Plan / Actual Schedule hours for this week 70.0 57.1 1.23 Schedule hours this cycle to date 527.0 480.2 1.10 Earned value for this week 8.1 4.8 1.69 Earned value this cycle to date 56.6 49.2 1.15 To-date hours for tasks completed 449.2 463.3 0.97 To-date average hours per week 52.7 48.0 1.10 EV per completed task hour to date 0.126 0.106

slide-17
SLIDE 17

17

Noopur Davis/Bruce Erickson

17

Plan vs. Actual

Productivity (N&C LOC/Hr) Schedule Effort (hours) Size (N&C LOC) 1.22 1.24 1.27 1.58 Actual/Plan (Final/Re-launch)

slide-18
SLIDE 18

18

Noopur Davis/Bruce Erickson

18

Quality Measures

Percent Defects Removed by Activity

19% 19% 15% 14% 33% Personal Reviews Compile Team Reviews Unit Test Post Development Defects

Percent Defects Removed by Activity (Ignoring Compile Defects)

24% 19% 17% 40% Personal Reviews Team Reviews Unit Test Post Development Defects

Most defects removed during personal reviews

slide-19
SLIDE 19

19

Noopur Davis/Bruce Erickson

19

Component Analysis

Quality Profile for Assembly JobCostsByVendor Reports

0.2 0.4 0.6 0.8 1 Design/Code Time Code Review Time Compile Defects/KLOC Unit Test Ddefects/KLOC Design Review Time Plan Actual

Percent Effort by Activity

23% 38% 16% 19% 4% 0% Design Personal and Team Reviews Implementation Unit Test System Test Other

Percent Defects Removed by Activity

38% 18% 19% 16% 9% Personal Reviews Compile Team Reviews Unit Test Post Development Defects

slide-20
SLIDE 20

20

Noopur Davis/Bruce Erickson

20

Process Yields

Process Yield for Assembly SYSTEM

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% % Before Compile % Before Unit Test % Before Build and Integration Test % Before System Test % Before Acceptance Test Phase Yield Plan Actual

87% of known defects removed before system test

slide-21
SLIDE 21

21

Noopur Davis/Bruce Erickson

21

Longer Development Cycle

Percent Effort by Activity

19% 26% 13% 13% 9% 20% Design Personal and Team Reviews Implementation Unit Test System Test Other

Compare to non- TSP teams who typically spend 50% supporting system test!1

1 Source: The Team Software Process in Practice: A Summary of Recent Results, Davis and Mullaney, SEI Technical Report

CMU/SEI-2003-TR-014, http://www.sei.cmu.edu/publications/documents/03.reports/03tr014.html

slide-22
SLIDE 22

22

Noopur Davis/Bruce Erickson

22

Team Member Involvement -1

Team member comments during the project postmortem

“Beginning to like the process. Makes interaction with

people more efficient. You know what other team members are doing.”

“Liked clear definition of what people are responsible

  • for. Promotes ownership of tasks.”

“Lots of things I liked. The power it gives us at getting

better at estimating and planning. All the fun data it gives us to see how we can improve. There is a shift in the mental sense to accept the fact that there are defects, and where we can improve is what to do about the defects.”

slide-23
SLIDE 23

23

Noopur Davis/Bruce Erickson

23

Team Member Involvement -2

Team member comments (continued)

“It protects us from ourselves. The task plan includes

the things that we always say we will do…and it helps us feel good about them when we do them.”

“Wish requirements were better expressed. Very little

guidance exists for requirements (in the TSP).”

“Logging defects early gives an indication of remaining

defects.”

slide-24
SLIDE 24

24

Noopur Davis/Bruce Erickson

24

Team Member Involvement -3

Team member comments (continued)

“The tool is not flexible enough.” “The tool was my main complaint.” “The TSP creates a lot of interdependencies, but the tool

does not help you track them.”

“Logging every little change I made as a defect was

difficult.”

“Almost an overbearing importance on system test

  • defects. Some system test defects were not very

important at all.”

slide-25
SLIDE 25

25

Noopur Davis/Bruce Erickson

25

Key Challenges to Integrating TSP

The TSP tool could improve for

managing dependencies managing milestones

PSP training Communication

with non-TSP teams with Release Management

Launching using industry data rather than your own Balancing roles

Manager/Team Lead/Coach/Planning Manager Team Roles (Planning Manager, Quality Manager…)

slide-26
SLIDE 26

26

Noopur Davis/Bruce Erickson

26

Planned Improvements -1

Apply TSP to requirements phase.

include personal review include team inspection develop specific checklists log time spent and defects found

Include architects in all design inspections. Include code champions in code inspections. Separate our high-level and detailed designs, with personal reviews and inspections for both. Develop list of QuickBooks-specific assumed

  • behaviors. Use this checklist to help review and

inspect designs.

slide-27
SLIDE 27

27

Noopur Davis/Bruce Erickson

27

Planned Improvements -2

During initial launch, focus on getting detail for requirements and plan for requirements activities. Investigate conceptual design before the launch. Let architects review conceptual design during the launch. Manage expectations so organization understands that re-planning will occur. Full cross-functional participation in the launch.

slide-28
SLIDE 28

28

Noopur Davis/Bruce Erickson

28

Conclusion

What worked well

Team commitment to trying the processes Earned value tracking focused us on our task plans, and

protected our quality assessment activities

What did not work well

Should have had Product Manager more involved during

launch

Need to separate our high-level and detailed designs Want to apply to requirements phase to reduce

downstream defects

slide-29
SLIDE 29

29

Noopur Davis/Bruce Erickson

29

Contact Information

Noopur Davis nd@sei.cmu.edu ndavis@davissys.com Bruce Erickson bruce_erickson@intuit.com Visit the SEI TSP web site at http://www.sei.cmu.edu/tsp