670 likes | 1.57k Views
Team Software Process (TSPi). CS4320 Fall 2002. TSP Strategy. Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop products in several cycles. Establish standard measures for quality and performance. Provide detailed role definitions.
E N D
Team Software Process (TSPi) CS4320 Fall 2002
TSP Strategy • Provide a simple process framework based on the PSP. • Use modest, well-defined problems. • Develop products in several cycles. • Establish standard measures for quality and performance. • Provide detailed role definitions. • Use role and team evaluations. • Require process discipline. • Provide guidance on teamwork problems.
TSP Process Cycle 1 Launch Strategy 1 Plan 1 Requirements 1 Design 1 Implementation 1 Test 1 Postmortem 1 Cycle 2 Launch Strategy 2 Plan 2 Requirements 2 Design 2 Implementation 2 Test 2 Postmortem 2 Cycle 3 Launch Strategy 3 Plan 3 Requirements 3 Design 3 Implementation 3 Test 3 Postmortem 3
Life Cycle Phases • Launch • Strategy • Plan • Requirements • Design • Implement • Test • Postmortem Appendix D - Script DEV (p. 363)
Cycle Descriptions • Launch • review course objectives • describe the TSPi structure and content • assign student teams and roles • describe the customer needs statement • establish team and individual goals • Strategy • create a conceptual design for the product • establish the development strategy: decide what will be produced in each cycle • make initial size and effort estimates • establish a configuration management plan • Reuse plan • Risk Management
Cycle Descriptions (Cont’d) • Planning • estimate the size of each artifact to be developed (SRS, SDS, code) • identify tasks to be performed; estimate time to complete each task; assign tasks to team members • make a weekly schedule for task completion • make a quality plan • Requirements • analyze need statement and interview customer • specify the requirements • inspect the requirements • develop a system test plan
Cycle Phases • Design • create a high-level design • specify the design • inspect the design • develop an integration test plan • Implementation • use the PSP to implement modules/units • create detailed design of modules/units • review the design • translate the design to code • review the code • compile and test the modules/units • analyze the quality of the modules/units
Cycle Phases • Test • build and integrate the system • conduct a system test • produce user documentation • Postmortem • conduct a postmortem analysis • write a cycle report • produce peer and team evaluations
Motivation (Teamwork) The success or failure of a project is seldom due to technical issues. You almost never find yourself asking “has the state of the art advanced far enough so that this program can be written?” Of course it has. If the project goes down the tubes, it will be non-technical, human interaction problems that do it in. The team will fail to bind, or the developers will fail to gain rapport with the users, or people will fight interminably over meaningless methodological issues. -- Tom DeMarco
Common Team Problems • Ineffective Leadership • Failure to compromise/cooperate • Lack of participation • Procrastination • Poor Quality • Function Creep • Ineffective peer evaluation
Teams – An aside from the text • Motivation • How to get best from people. • Study of quality goals vs final product • Teamwork • How to get best from team. • Team Structure • Organization Matters
Team Project • Pick either: • Change Counter • Program Analyzer • Go through 1 cycle • Plan for all cycles
TSPi Teams • Five People • Defined Roles (Read 384-393) • Team Leader • Development Manager • Planning Manager • Quality/Process Manager • Support Manager • Project Bid Table 3.3
LAUNCH!!! Script LAU1 • First Team Meeting • Use Meeting Script • Meeting Goal: • Gather and analyze team data on project • Update Personal Task/Schedules prior to meeting • Produce Weekly Report • Start Project Notebook
TSP Planning Overview STRAT Produce Quality Plan Make Size Estimates Produce Team Plan Develop the Strategy STRAT SUMS TASK SUMQ Produce Conceptual Design SCHEDULE Make Team Member Plans Produce Final Team Plan Make Personal Plans Balance Team Workload SUMP SUMQ SUMS TASK TASK TASK SCHEDULE SCHEDULE SCHEDULE
Development Strategy • Plan the flight, fly the plan. • Gain common understanding of work • Basis for tracking work • Non-artificial project date
Script STRAT1 • Conceptual Design • How will I build this product? • What are principle components? • What functions do components provide? • How big are components? • This is a planning design—not THE design!!
Cycle Planning (418 Strat Form) Cycle LOC Cycle Hours
Risk Assessment • ID significant risks • Rate High , Medium, Low according to : • Likelihood of occurrence • Impact on project • Team members track all risks not LL • Risks entered on form ITL (page 405)
Change Management • Copies of each version of product • Record of all changes made • Who made change • When change was made • What change was • Why change made
Development (This cycle) Make Size Estimates Produce Quality Plan Produce Team Plan Develop the Strategy STRAT SUMS TASK SUMQ Produce Conceptual Design SCHEDULE Make Team Member Plans Produce Final Team Plan Make Personal Plans Balance Team Workload SUMP SUMQ SUMS TASK TASK TASK SCHEDULE SCHEDULE SCHEDULE
Development Script (PLAN Script) • SUMS (Page 433) • Include not just code, but all work products • TASK (Page 438) • From individual PROBE estimates • 10 Hour Individual Threshold • SCHEDULE (Page 417) • Map from TASK forms • Use Estimate of Weekly Hours for Team • Quality Plan (Page 426-429) • SUMP, SUMQ
Load Balancing • Use whole team • Produce Plans first • Next produce work matrix • Balance work using matrix
Homework #3 Details • Teams work to plan entire project • Work on cycle 1 • Try to do some amount of coding • SRS – Addendum to Needs Statement • Design – Templates or UML or ??? • Code – Try to deliver some code, so you can do the implementation/test scripts • You have 3 weeks. • May use excel tool, or do manually with forms. • Turn in all artifacts except source code itself.