The Personal Software Process (PSP) and the Team Software Process (TSP) are process improvement frameworks tailored to produce virtually defect free software and deliver it on time.
The main focus of this speed talk is to state some of the similarities and differences between TSP/PSP and Scrum methodologies as well as some Agile practices. Why was there a need to blend these methods (TSP and Agile)? What were we trying to accomplish, or what was the goal here? The goal was to get the best of the TSP and Agile methods/models so that we could develop high quality products in a predictable and repeatable way to successfully tackle projects that are highly unpredictable, rapidly changing, with unknown final client, among others.
There are a few similarities between both management methods (TSP and SCRUM), as well as some differences. There also seems to be a lot of misunderstandings regarding TSP and this presentation will try to debunk some of them. TSP can be Agile too! – Incremental, iterative and adaptive.
Agile Portugal 2012
23 June 2012
[Agile Portugal 2012] TSP/PSP and Agile-SCRUM: Similarities & Differences Study (César Duarte)
1. TSP/PSP and Agile/Scrum: Similarities & Differences Study
Porto, 23 of June of 2012
Innovation in Software Quality
SEI, TSP, PSP, Team Software Process and Personal Software Process are service marks of Carnegie Mellon University
2. About Strongstep
• Strongstep is a company specialized in
software engineering that contributes to the
improvement of software quality in Portugal
and in the world Universities
• We want to induce a positive change in
organizations. This will represent a step with
a strong, sustainable and innovative way - a
strong step Strongstep
• Projects portfolio: Reference
Enterprises
Institutions
• Process improvement with CMMI DEV L2, L3, L5,
CMMI SRV, TSP/PSP, combining agile/CMMI,
Six Sigma, NP4457, Kanban, Scrum, ITIL,
PMBOK, ISTQB, RUP
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 1
3. About César Duarte
• Consultant in Software Engineering at Strongstep
• Software Engineer, holds a Master's Degree in
Informatics and Computing Engineering. He graduated
from the Faculty of Engineering, University of Porto
(FEUP) in Portugal
• Worked as a Research Assistant at ESB -
Universidade Católica Portuguesa – Porto
• Specialties and research interests are related to
Software Engineering, Software Process
Improvement, Personal Software Process (PSP) and
Team Software Process (TSP).
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 2
4. • Speedtalk (Exactly 10mins!!)
• So it’s more like
TSP/PSP and Agile/Scrum:
(A brief description of) Similarities & Differences
Porto, 23 of June of 2012
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 3
5. Expected Outcomes
• Understand the purpose of TSP/PSP
• Overcome common misunderstandings regarding TSP/PSP
• Understanding of the differences and the similarities between Team
Software Process/Personal Software Process and Agile/SCRUM
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 4
6. TSP, PSP and CMM(i)
image from www.sei.cmu.edu/tsp/
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 5
7. Team Software Process + Agile??
• Why was there a need to blend them?
The goal was to get the best of the TSP and Agile methods so that we could develop high
quality products in a predictable and repeatable way to successfully tackle projects that
are highly unpredictable, rapidly changing, with unknown final client and so on.
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 6
8. TSP vs SCRUM: Introduction
What do they have in common?
SCRUM TSP
Negotiation on prioritized features versus team estimates and
dates
Small multi-disciplinary, self-managing and self-directed teams
that are pro-active.
The teams are protected and trusted by management
Tasks granularity
Add new tasks as needed and delete tasks no longer needed
Problems are identified and assigned – not solved – in brief team
meetings.
Planning, execution and improvement via retrospectives
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 7
9. TSP vs SCRUM: Similarities
SCRUM TSP
Sprint Planning meeting Launch/Relaunch
Sprints have or are build on: (Re)launches have:
• A goal • One or more team goals
• A visible, usable, deliverable • Work products to develop for phase
List of identified tasks (Sprint Backlog) and project Task list, with assignments, for short term (phase), and
requirements (Product Backlog) long term with different granularity (project)
High technical risks identified and planned for early Risk identification with mitigation & contingency
sprints planning in [re]launches
Look at previous sprints to help with estimation on Data-driven planning and estimation in [re]launches
current sprint
Daily Scrum’s Weekly team meetings
Scrum Master Meeting facilitator, timekeeper, and recorder; Planning
Manager; Team Leader; Process Manager; TSP Coach
Progress monitoring via backlog Planned, actual, and predicted Earned Value (EV)
Remove impediments, discuss risks & issues Risk and issue monitoring, mitigation, and
contingencies
Volunteerism Dynamic workload balancing
Sprint Review Meeting Phase Post-Mortem
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 8
10. TSP vs SCRUM: Similarities in team meetings
Daily Scrum Weekly TSP Team Meeting
Led by Scrum Master Team Leader
Participants The team (“Pigs”) Team and TSP Coach
Observers Stakeholders and Management (“Chickens”) None (Unless team agrees otherwise)
Agenda of Meeting Three Questions: WEEK Script Includes:
Each team member: What have you done since yesterday? Step 7 (Project Status): Review progress
(relative to the and status (tasks completed)
previous meeting)
What are you planning to do today? Step 8 (Next Week Plans): Review tasks
planned and any special dependencies
Any impediments/stumblings blocks? Steps 4,5,6 (Role, Goal and Risk Report):
Review role statuses, status against team
goals, risks.
Contributions by Inputs by Product Owners New developments, issues, actions,
“Team Leader” management inputs
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 9
11. TSP vs SCRUM: Mapping of roles
Product Owner Customer
Management
SCRUM TSP Team
Team Leader
Roles Roles
(Standard)
SCRUM Master Support Mgr
Process Mgr
Customer Interface Mgr
Architect
Design Mgr
Implementation Mgr
SCRUM Team
Member
Team Member Test Mgr
Planning Mgr Quality Mgr
TSP Coach
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 10
12. TSP vs SCRUM: Differences
SCRUM TSP
Sprint duration 1-4 weeks, project duration Phase durations 1-3 months, project duration ???
~couple months
Excludes formal planning Teams must make some kind of plan to be able to
make a real commitment
Excludes formal roles Roles are defined in the launch and provide focus
to key areas
“Time-boxing”: sprint end dates are fixed – Phases and project commitments are made and
functionality can change, date cannot generally kept; changes which jeopardize team
commitments are escalated
Business decision at end of sprint on whether Not address by TSP
project should continue
More differences:
• TSP Includes a robust measurement and quality management framework. TSP also
includes operational guidance (procedures and scripts)
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 11
13. TSP vs SCRUM: Differences (2)
SCRUM TSP
Implicit management role as “chickens” Explicit role for management in launches, status
reviews, etc.
Focus for improving the project’s work processes Continuous attention to improvement of individual
is at the team level skills and methods, as well as team working
processes
Primary explicit improvement mechanism is the Weekly team meetings and PIPs for ongoing
Sprint Retrospective improvement; deeper analyses in Post-Mortems
and Checkpoints
Engineering processes are examined when Both engineering and management processes are
surfaced in daily scrums as issues addressed by PSP and TSP, and regularly
examined
Team as a whole owns the sprint plan, and Team members own and commit to their personal
commits to meet it plans, as well as committing to meet the team’s
TSP plan
There are more differences
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 12
14. TSP Common Misunderstandings
TSP = Classic Sequential Waterfall Lifecycle?
There seems to be the implicit assumption that PSP/TSP works only with a Big Design
Up Front (BDUF)
• PSP and TSP do not require a “complete up-front design” as they are compatible
with cyclic development
• The TSP Team chooses (during Launch) their development strategy and lifecycle
model, as well as define their development process
• Agile, PSP and TSP are people-oriented in philosophy and results
• Both Agile and TSP use appropriate planning (and replanning) by the team to
support improved productivity
• TSP can be incremental, iterative and adaptive, TSP can be agile too!
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 13
15. TSP can be agile too!
Iterative Development
TSP SCRUM
Business
Launch
and
Estimates, plans,
technical
process, commitment
goals
Re-launch Sprint
Planning
Lessons, new
goals, new Development
requirements, Cyle
new risks, .
Cycle
Work products, status,
Retrospective
metrics, results
Project Release
Planning
Retrospective
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 14
16. There’s much more on this topic but..
We’re almost out of time.
Just to summarize some key subjects:
• Shared Concepts between PSP/TSP and Agile. Examples:
– Teamwork empowered teams who define and enforce their own goals and rules
– The developers who will do the work must estimate and schedule it
• Agile Manifesto vs PSP/TSP
– Actual Agile Manifesto statements vs PSP/TSP concepts and practices – There are
quite a few similarities here too!
• Advantages of PSP/TSP. Examples:
– better estimation and predictability (estimation accuracy)
– leads to an almost immediate leap to high quality!
• Advantages of Agile. Example:
– focus on keeping it small and simple (YAGNI – you ain’t gonna need it)
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 15
17. Presentation Takeaways
• Understand the purpose of TSP/PSP
– TSP improves team performance and focuses on team building and management
– PSP improves individual skills and discipline. Focus on individuals
• Overcome common misunderstandings regarding TSP/PSP
– TSP/PSP is not waterfall confined. TSP can be agile too!
• Understanding (some) of the differences and the similarities between
TSP/PSP and Agile/SCRUM
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 16
18. References
• PSP: A Self-Improvement Process for Software Engineers, Watts S. Humphrey, 2005
• TSP: Coaching Development Teams, Watts Humphrey, 2006
• P. Gomes – Integração de modelos de desenvolvimento de software mais e menos ágeis, MSc Thesis,
Strongstep and FEUP, 2009. (Supervised by João Pascoal Faria and Ademar Aguiar)
• James Over – Team Software Process – SEPG Europe 2008, Munique
• Noopur Davis, Darryl L. Davis – Using SCRUM in a TSP Measurement Framework – SEPG Europe 2008
• Noopur Davis – Lessons Learned Using Agile Practices with TSP – TSP Symposium 2010
• Karen J. Smiley, Brian P. Robinson, Gregory Gilooly – Integrating Agile Pratices and TSP: Team eXtreme
Process (TXP) – SEPG 2005
• Alan Padula – TSP*-Agile Blend: The Gun Smoke Clears – TSP Symposium 2009
• Daniel M. Roy – Agile, TSP, CMMI, pick one, pick two, pick all three! – Cape Town SPIN 2008
• Karen J. Smiley – Comparing Agile and TSP – TSP/PSP Users Group Conference 2003
• Jim Sartain – Inspiring, enabling and driving the Evolution of Quality at Adobe leveraging the TSP – TSP
Symposium 2009
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 17
19. Contacts
Email: cesar.duarte@strongstep.pt
Mobile: + 351 91 898 70 25
Strongstep - Innovation in software quality
Email: geral@strongstep.pt
Web: www.strongstep.pt
Telephone: + 351 22 030 15 85
Porto:
UPTEC - Parque de Ciência e Tecnologia da U. Porto
Rua Alfredo Allen, 455/461
4200-135 Porto, Portugal
Lisbon:
Av. Infante Santo, Nº 63-3ºEsq.
1350-177 Lisbon, Portugal
Strongstep 2012 | TSP/PSP and Agile/Scrum: Similarities & Differences Study 18