TSP (Team software process)
The Team Software Process (TSP) guides engineering teams in developing software-intensive products. Early experience with the TSP shows that its use improves the quality and productivity of engineering teams while helping them to more precisely meet cost and schedule commitments.
The Team Software Process (TSP), along with the Personal Software Process, helps the
High-performance engineer to
Ensure quality software products
Create secure software products
Improve process management in an organization
Engineering groups use the TSP to apply integrated team concepts to the development of software-intensive systems. A four-day launch process walks teams and their managers through
1. Establishing goals
2. Defining team roles
3. Assessing risks
4. Producing a team plan
After the launch, the TSP provides a defined process framework for managing, tracking and reporting the team’s progress.
Using TSP, an organization can build self-directed teams that plan and track their work, establish goals, and own their processes and plans. These can be pure software teams or integrated product teams of 3 to 20 engineers.
TSP will help your organization establish a mature and disciplined engineering practice that produces secure, reliable software. TSP is also being used as the basis for a new measurement framework for software acquirers and developers. This effort is the Integrated Software Acquisition Metrics (ISAM) Project
The tsp is based on the following principles.
1. The engineers know the most about the job and can make the best plans.
2. When engineers plan their own work, they are committed to the plan.
3. Precise project tracking requires detailed plans and accurate data.
4. Only the people doing the work can collect precise and accurate data.
5. To minimize cycle time, the engineers must balance their workload
6. To maximize productivity, focus first on quality.
What are the benefits of using the TSP?
1. Higher quality
2. On track costs and schedules
3. Reduced cycle time
4. Increased productivity
5. Improved security
1. Provide a simple process framework based on the PSP
2. Use modest, well- defined problems
3. Develop products in several cycles
4. Establish standard measures for quality and performance.
5. Provide detailed role definitions
6. Use role and team evaluations
7. Require process discipline
8. Provide guidance on teamwork problems
Life cycle phases
1. Review course objectives
2. Describe the TSP structure and content
3. Assign student teams and roles
4. Describe the customer needs statement
5. Establish team and individual goals
1. Create a conceptual design for the product
2. Establish the development strategy; decide what will be produced in each cycle
3. Make initial size and effort estimates
4. Establish a configuration management plan
5. Reuse plan
6. Risk management
1. Estimate the size of each artifact to be developed (SRS, SDS, code)
2. Identify tasks to be performed; estimate time to complete each task; assign tasks to team members
3. Make a weekly schedule for task completion
4. Make a quality plan
1. Analyze need statement and interview customer
2. Specify the requirements
3. Inspect the requirements
4. Develop a system test plan
1. Create a high level design
2. Specify the design
3. Inspect the design
4. Develop an integration test plan
1. Use the PSP to implement modules/units
2. Create detailed design of modules/units
3. Review the design
4. Translate the design to code
5. Review the code
6. Compile and test the modules/units
7. Analyze the quality of the modules/units
1. Build and integrate the system
2. Conduct a system test
3. Produce user documentation
1. Conduct a postmortem analysis
2. Write a cycle report
3. Produce peer and team evaluations
What is PSP?
The Personal Software Process (PSP) shows engineers how to
1. manage the quality of their projects
2. make commitments they can meet
3. improve estimating and planning
4. reduce defects in their products
PSP can be used by engineers as a guide to a disciplined and structured approach to developing software. The PSP is a prerequisite for an organization planning to introduce the TSP.
The PSP can be applied to many parts of the software development process, including
1. small-program development
2. requirement definition
3. document writing
4. systems tests
5. systems maintenance
6. enhancement of large software systems
PSP is based on the following planning and quality principles
1. Every engineer is different. To be most effective, engineers must plan their work and they must base their plans on personal data.
2. To consistently improve their performance, engineers must measure their work and use their results to improve.
3. To produce quality products, engineers must feel personally responsible for the quality of their products. Superior products are not produced by accident; engineers must strive to do quality work.
4. It costs less to find and fix defects earlier in a process than later.
5. It is more efficient to prevent defects than to find and fix them.
6. The right way is always the fastest and cheapest way to do a job
CMM AND PSP
In the late 1980s and early 1990s the SEI developed the Capability Maturity Model (CMM) which captured organizational best practices for software development. SEI Fellow Watts Humphrey decided to apply the underlying principles of the CMM to the software development practices of a single developer. The result of this effort was the Personal Software Process (PSP), designed to be a CMM level 5 processes for individual software developers.
CMM AND TSP
It soon became obvious that, while excellent results were possible using the PSP, it was almost impossible to maintain the discipline required for PSP practices if the surrounding environment did not encourage and demand them. Humphrey then developed the Team Software Process (TSP) for the smallest operational unit in most organizations, the project team. TSP was designed to be a CMM level 5 processes for project teams. Recent results of using the TSP to achieve world-class quality levels while meeting cost and schedule estimates are documented in an SEI technical report.
Mapping TSP and CMMI
The SEI released a technical report in 2004, Mapping TSP to CMMI. Early indications from this effort are that, while some of the “new” practices from the SE-CMM and IPD-CMM are not addressed by the TSP, many of them are, whichﾢﾾﾀﾾﾔin combination with the large number of similar practices from the venerable SW-CMMﾢﾾﾀﾾﾔleads to the conclusion that TSP is a practical, accessible method for achieving the benefits of high maturity process on a much accelerated schedule.
By sukumar lakshmanan, On 2/8/08 1:37 PM
Benchmarking improves performance by identifying and applying best demonstrated practices to operations and sales. Managers compare the performance of their products or processes externally with those of competitors and best-in-class companies and internally with other operations within their own firms that perform similar activities. The objective of Benchmarking is to find examples of superior performance and to understand the processes and practices driving that performance. Companies then improve their performance by tailoring and incorporating these best practices into their own operations not by imitating, but by innovating.
Benchmarking involves the following steps:
Select a product, service or process to benchmark;
Identify the key performance metrics;
Choose companies or internal areas to benchmark;
Collect data on performance and practices;
Analyze the data and identify opportunities for improvement;
Adapt and implement the best practices, setting reasonable goals and ensuring company-wide acceptance.
Companies use Benchmarking to:
Improve performance. Benchmarking identifies methods of improving operational efficiency and product design;
Understand relative cost position. Benchmarking reveals a company￢ﾀﾙs relative cost position and identifies opportunities for improvement;
Gain strategic advantage. Benchmarking helps companies focus on capabilities critical to building strategic advantage;
Increase the rate of organizational learning. Benchmarking brings new ideas into the company and facilitates experience sharing.