TSP SM /PSP SM at Intuit SEI SEPG 2005 March 7 - 10, 2005 Eileen - - PowerPoint PPT Presentation

tsp sm psp sm at intuit
SMART_READER_LITE
LIVE PREVIEW

TSP SM /PSP SM at Intuit SEI SEPG 2005 March 7 - 10, 2005 Eileen - - PowerPoint PPT Presentation

TSP SM /PSP SM at Intuit SEI SEPG 2005 March 7 - 10, 2005 Eileen Fagan Software Engineering Process Manager Intuit, Inc. Noopur Davis Software Engineering Institute 1 1 1 Agenda Who is Intuit? What is TSP/PSPand Not?


slide-1
SLIDE 1

1 1 1

TSPSM/PSPSM at Intuit

SEI SEPG 2005 March 7 - 10, 2005

Eileen Fagan Software Engineering Process Manager Intuit, Inc. Noopur Davis Software Engineering Institute

slide-2
SLIDE 2

2

Eileen Fagan/Noopur Davis

2

Agenda

Who is Intuit? What is TSP/PSP…and Not? TSP/PSP – Why does Intuit Care?

Intuit Goals TSP/PSP Goals

FY 2004 TSP/PSP Pilots

Pilot Environment Pilot Data and Results Successes Lessons Learned

Shareable Best Practices FY 2005 TSP/PSP plans Elements of Success

slide-3
SLIDE 3

3

Eileen Fagan/Noopur Davis

3

Who is Intuit?

Leading provider of business and financial management solutions for small and mid-sized businesses, consumers and accounting professionals Makers of TurboTax, Quicken, and QuickBooks 2004 Revenue of $1.87 billion Nearly 7000 employees Fortune™ magazine named Intuit one of the 100 Best Companies to Work for!

Intuit’s mission: Intuit’s mission: Transform how people manage their financial lives Transform how people manage their financial lives and small businesses manage their businesses and small businesses manage their businesses

slide-4
SLIDE 4

4

Eileen Fagan/Noopur Davis

4

How is Software Process Quality Measured?

TSP/PSP increases maturity

  • ne project at a time.

Initial Unpredictable & poorly controlled Repeatable Can repeat previously mastered tasks Defined Characterized, fairly well understood Managed Process measured & controlled Optimizing Focus on process improvement Higher probability that Developer will achieve consistently improved project results

slide-5
SLIDE 5

5

Eileen Fagan/Noopur Davis

5

What does TSP/PSP Provide?

Allocates time explicitly for their use Team Reviews/Inspections Not specifically Configuration Management Yes – ensures time allocated for engineering best practices Process and Product QA Yes – TSP tool enables metrics and analysis Measurement and Analysis Yes – ongoing in prescribed weekly meetings Project Management and Control Yes – detailed to 5-10 task hours Project Planning Partial – scripts Requirements Management

Key Process Areas

slide-6
SLIDE 6

6

Eileen Fagan/Noopur Davis

6

What is TSP/PSP… and Not???

It is NOT:

a Silver Bullet solution a radically different approach to development a new programming language a way to invent more task time

It is:

a framework that allows detailed planning and

tracking of project status

a vehicle to collect “in process” metrics to provide

insight and opportunities for improvement

a team building approach a way to protect development steps needed to

“build in” quality

slide-7
SLIDE 7

7

Eileen Fagan/Noopur Davis

7

Project Management

Detailed planning and tracking In process metrics Prescribed weekly meetings to review metrics Task hour monitoring Earned value

Team Building

Shared leadership/Roles Team coach (project mgmt co-pilot) TSP launch (communicate with stakeholders)

What does TSP Provide?

The development process is not fundamentally different… the mindset (managing by data (and judgment)) is different. Mindset Change enabled by…

slide-8
SLIDE 8

8

Eileen Fagan/Noopur Davis

8

What does PSP Provide?

Measurements

Size Time Defects

Best Practices

Task breakdown -> Detailed planning Time allotted to Design (and illustration

understanding of its importance)

Size estimation methods Time allotted to Review/Inspection Time tracking Defect tracking Metric analysis Coding standards

slide-9
SLIDE 9

9

Eileen Fagan/Noopur Davis

9

Intuit CTO FY 2004 Goals

Create a vibrant, creative, challenging environment for technical and product management professionals Deliver an exceptional total customer experience to increase the number of promoters and net promoter scores from Intuit customers Select and prioritize the right offering and infrastructure initiatives Deliver and support offerings and infrastructure in a high-quality, predictable, efficient and disciplined manner enabling both short- and long-term BU/FG success

slide-10
SLIDE 10

10

Eileen Fagan/Noopur Davis

10

Intuit TSP/PSP Goals

Improve Quality -> Higher Productivity Predictability Visibility Efficiency Continual Improvement Self-directed Teams Mindset Change

slide-11
SLIDE 11

11

Eileen Fagan/Noopur Davis

11

Intuit TSP/PSP Timeline

All projects complete November 2004 All 3 pilot teams launch! March 2004 2nd set of PSP for Engineers and Intro to PSP classes (San Diego) February 2004 Intro to PSP class offered to product management, QA, UI designers and testers January 2004 1st set of PSP for Engineers classes (Mountain View) December 2003 1st TSP/PSP Executive/Manager Session -> pilot teams selected amongst volunteers November 2003 Watts Humphrey presents at Intuit’s annual Tech Forum September 2003

Complete TSP/PSP training and implementation in one year!

slide-12
SLIDE 12

12

Eileen Fagan/Noopur Davis

12

FY 2004 TSP/PSP Pilots and Goals

Pilots:

QuickBooks “flavor” edition (product

enhancement)

BOB Handshake (infrastructure) QuickBooks Mac

Goals:

< .1 defect/KLOC in shipped product On-time delivery of project LOC estimation within +/- 5% of actual Improved communication with project

stakeholders.

slide-13
SLIDE 13

13

Eileen Fagan/Noopur Davis

13

TSP/PSP Support Infrastructure

Training

All team members and management trained

Coaches

SEI provided Instructor and coach were consistent for each

project

Support/direction during launch Weekly meeting support Coaching “as needed”

Tool

Used SEI tool Crucial element of data collection Difficult to learn/easy to use

Corporate/SEPG Support

Funded training and pilots Observed/monitored pilot progress Internal “TSP Users Group”

slide-14
SLIDE 14

14

Eileen Fagan/Noopur Davis

14

BOB Handshake Pilot Environment

The Management

Project Manager – exceptionally committed Director – committed; had to “keep the wolves at bay” VP – committed, but also under strong pressure to meet

program commitment; swayed by strong team commitment; gave team permission to throw process

  • verboard if it jeopardized project commitments

The Team

Very process focused and experienced Exceptionally committed Large team and then added subcontractors Team members had camaraderie and this enhanced their

team feeling

The Project

“Mission Impossible” Part of a large, complex program spanning BUs Central component Significant time pressure (project started late due to

training and launch)

slide-15
SLIDE 15

15

Eileen Fagan/Noopur Davis

15

Predictability/Visibility:

Phase One: 1 week late

De-scoped some function: Team realized early that de-scoping of functionality was necessary to meet schedule Phase Two: on-time Efficiency:

Tightly managed load balancing allowed for

maximum efficiency

Caused integration issues across functions

...causing late delivery?

BOB Handshake

TSP/PSP Pilot Goals – How did we do?

slide-16
SLIDE 16

16

Eileen Fagan/Noopur Davis

16

Uh-oh!

The data show we are heading off course…

slide-17
SLIDE 17

17

Eileen Fagan/Noopur Davis

17

BOB Handshake: TSP Coach Advice

LISTEN TO YOUR DATA Question: If things continue about the way they are, when will the team finish the July 5th content? Answer1: If things continued at exactly the same rate of historical earned value per week, the team would not finish that content until Mid-November. Answer 2: If indeed the requirements phase is complete and stable, and the rest of the tasks are estimated “perfectly”, and with no extra effort applied, the team would finish about the end of July. Answer 3: So it is most likely somewhere in the middle of these dates.

What should the team do?

slide-18
SLIDE 18

18

Eileen Fagan/Noopur Davis

18

BOB Handshake Pilot

Getting back on track…through a relaunch

slide-19
SLIDE 19

19

Eileen Fagan/Noopur Davis

19

Quality:

Met team goal of cutting defects in half (in system

test) of known best (Suez)

Early indicators (120,000 activations), no field

defects

Continual Process Improvement

Ongoing and Postmortem Evaluation of

Data/Processes allows for improvements

Has data for future planning and process

improvements

TSP/PSP Pilot Goals – How did we do?

BOB Handshake

slide-20
SLIDE 20

20

Eileen Fagan/Noopur Davis

20

HOURS PER DEFECT

CR CODEINSP UT ST Process Phase Hours Hours Per Defect

This data was collected during the BOB Handshake TSP project.

SD&S Bob Handshake TSP Data Cost of Defects Found and Fixed

slide-21
SLIDE 21

21

Eileen Fagan/Noopur Davis

21

BOB Handshake Pilot Lessons Learned

The team loved it! Easy to see project progress on a weekly basis Don’t ignore or rationalize away what the data is telling you – optimism is not always as appropriate as realism The tools and processes involved in TSP/PSP provide insight into defect injection and removal rates Data will enable the team to continually improve the

  • verall quality of the products

TSP team roles are generic in nature and need adaptation to fit into an SD&S development team

slide-22
SLIDE 22

22

Eileen Fagan/Noopur Davis

22

BOB Handshake Pilot Lessons Learned

How to be a TSP Pilot in a large Program

Get Program Management Buy-in early

The Handshake Program Office did not have

“shared vision” on the timing/importance of this pilot Timing is (almost) everything Appearance is (almost) everything

Perception is reality

Communicate in development terms, not TSP-speak

TSP/PSP is not “Martian” software development

slide-23
SLIDE 23

23

Eileen Fagan/Noopur Davis

23

QBG Pilot Environment

The Management

Project Manager - committed, but skeptical (will this

work in my environment?)

Director – very committed and convinced of value VP – gave the okay, but not very involved early on

The Team

Not a lot of process experience Skeptical, but willing to wholeheartedly try it out Two remote team members Team members had camaraderie and this enhanced

their team feeling The Project

Four new features Fairly self-contained during development Adding features to a very large complex code base Significant time pressure (project started late due to

reprioritization)

Requirements not well-defined or understood at launch

slide-24
SLIDE 24

24

Eileen Fagan/Noopur Davis

24

Quality:

Highest quality product in QuickBooks release

Efficiency:

Able to continue development for several

additional months (effectively doubling development time) Initial Code Complete date was set for June Quality Assurance accepted incremental deliveries until very late in development cycle due to high quality Continual Process Improvement QuickBooks “Flavor” Edition

TSP/PSP Pilot Goals – How did we do?

slide-25
SLIDE 25

25

Eileen Fagan/Noopur Davis

25

TSP/PSP Pilot Goals – How did we do?

Predictability/Visibility:

Making a number of small “drops” to system test

allowed test team to judge high quality and continue to accept features until very late in cycle Continual Improvement

Performed significant data analysis Team now has own data showing areas of

improvement and for planning purposes Convinced themselves of the value of: –Differentiating HLD and DLD –Greater explicit detail in design –Personal and team reviews/inspections

QuickBooks “Flavor” Edition

slide-26
SLIDE 26

26

Eileen Fagan/Noopur Davis

26

Defect Density – Plan vs. Actual

Defect Density by Phase

D L D R e v i e w D L D I n s p e c t i

  • n

C

  • d

e R e v i e w C

  • m

p i l e C

  • d

e I n s p e c t i

  • n

U n i t T e s t S y s t e m T e s t Phase Defects/KLOC Plan Actual

slide-27
SLIDE 27

27

Eileen Fagan/Noopur Davis

27

Percent Defects Removed by Activity

Percent Defects Removed by Activity

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

86% of defects found prior to system Test

slide-28
SLIDE 28

28

Eileen Fagan/Noopur Davis

28

Time spent fixing defects based upon injection phase

Percent Defect Fix Time by Phase Injected

38% 36% 24% 2% REQ DLD CODE Other Percent Defects Injected by Activity

9% 29% 1% 59% 1% 1%

Requirements Detailed Design DLD Review Code Code Review System Test

59%of Defects Injected During Coding But took only 24% of time To fix Requirements were only 9%

  • f defects injected,

but took 38% of time to fix

slide-29
SLIDE 29

29

Eileen Fagan/Noopur Davis

29

Effort Distribution

Percent Effort by Activity

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

Compare to typical non- TSP teams who spend 50% in system test!

slide-30
SLIDE 30

30

Eileen Fagan/Noopur Davis

30

QuickBooks “flavor” edition Lessons Learned

Task Hours really are difficult to get Easier to handle schedule changes due to requirements changes

Actual LOC was double the initial estimate, but requirements

were unknown/unclear at launch

Without requirements, assumptions made during conceptual

design can be very wrong…need to anticipate this

Able to plan, predict and respond to change more effectively Will include Product Management in future launches

Preparing detailed estimates causes discussion of

requirements specifics early

Product Managers can make more informed choices regarding

features due to earlier size estimates

Using industry data was useful for planning purposes Focus on finding and removing defects early in the lifecycle is significantly less expensive

slide-31
SLIDE 31

31

Eileen Fagan/Noopur Davis

31

QB Mac Environment

The Management

Project Manager – ambivalent and swayed by team Product Dev Leader – very committed and enthusiastic Business Unit Leader – committed and supportive

The Team

Not enthusiastic about TSP/PSP Very skeptical about this working in their environment Team lead was new to the company Little process experience or interest This was a huge leap for them Almost all team members were remote Some of the remote team members and subcontractors

treated as dependencies because they were untrained

Team grew significantly after launch through

subcontractors

The Project

Requirements were not well understood early enough Large platform conversion Changes to very large, complex code base

slide-32
SLIDE 32

32

Eileen Fagan/Noopur Davis

32

TSP/PSP Pilot Goals – How did we do?

  • Pilot aborted

Both project and middle management of pilot team

changed midstream

Due to large increase of scope, team added

subcontractors => 3 of 8 engineers were trained (TSP requires whole team to be trained)

QA continued to use process until project changed direction

Found planning and tracking useful

QB Mac

slide-33
SLIDE 33

33

Eileen Fagan/Noopur Davis

33

Project Launch

Enhanced communication with stakeholders Team building

Detailed project planning

Task level (5 – 15 hours per task) Inspections (participants, conference room, dates) Specific dependencies noted Rolling integration drops Load Balancing

Defect tracking

“In process” and system test and production

Time tracking

Where is development time spent

i.e., design vs. test (defect removal)

Size tracking

Easily measurable Correlated to effort LOC is a best fit for this measurement

PSP/TSP Shareable Best Practices

slide-34
SLIDE 34

34

Eileen Fagan/Noopur Davis

34

Elements for TSP Pilot Success

Focused and willing team Some experience with process or willingness to experiment

No built in antibodies to process and change

Capable and committed project manager Committed and protective senior management

Willing to support change in the context of current

practices

Experienced and enthusiastic Coach Tools in place Training at all levels

slide-35
SLIDE 35

35

Eileen Fagan/Noopur Davis

35

FY 2005 Plans for TSP/PSP

Further rollout in QuickBooks organization Sustain pilot in Shared Development and Services

  • rganization

New pilots in Tax group New pilots in Personal Finance group

Spread shareable best practices throughout Intuit!

slide-36
SLIDE 36

36

Eileen Fagan/Noopur Davis

36

Contact Information

Eileen Fagan Intuit, Software Engineering Process Manager eileen_fagan@intuit.com Noopur Davis SEI, Senior Member of Technical Staff nd@sei.cmu.edu