CSSE7034 Home Page
Predictable Professional Performance
School of Information Technology and Electrical Engineering
The University of Queensland
Announcements
See the newsgroup uq.itee.csse7034 for all announcements.
Profiles
Lecturing Staff
David Carrington - Room 323 (GP South, building 78), Phone: 3365-3310, email: davec@itee.uq.edu.auGeneral Course Information
Course Description
This course introduces students to the Personal Software Process (PSP), which can serve as the basis for software development process improvement in the organisation, as well as for helping individuals. It also introduces the Team Software Process (TSP), which is a process that enables teams of software engineers to work together better. TSP focuses on some disciplined approaches and strategies to deal with problems that regularly occur during team formations.Assumed Background
Students are expected to have:
- some experience in software design and programming in Java,
- an interest in software process improvement, and
- a desire to improve the way in which they personally develop software.
Course Introduction
Many software products are developed in an ad-hoc fashion by developers using their own personal methods and techniques. This situation would be acceptable if it reliably produced software products of high quality, at or below the budgeted cost, and on or ahead of schedule. Sadly, this is not the case and the term “software crisis” was coined in the 1960s to capture the notion of chaotic (unpredictable) development. This so-called crisis has become chronic. A Standish Group survey of 8,000 software projects in 1995 found that:- the average project exceeds its planned budget by 90% and its schedule by 120%.
- 33% of all projects are over budget and late.
- 52.7% of projects will cost at least 189% of their original estimates.
- only 16.2% of projects will be completed on time, on budget.
- in large companies, only 9% of projects come in on time, on budget.
- the average time overrun is 222% of the original estimate.
Subsequent surveys by the Standish Group have revealed similar results with a slowly increasing proportion of projects completed on time and on budget (35% in 2006). While there have been improvements, software development is still considered to be inadequate, unreliable and lacking in the discipline associated with engineering and other comparable professional disciplines. As we increase the size and complexity of the problems we attempt, so the importance of our development process increases. This course aims to make students aware of the value of defined personal and team software processes and ways to improve their effectiveness.
Timetable
Timetables are available on mySI-net.Aims, Objectives & Graduate Attributes
Course Aims
This course aims to:- Demonstrate systematic approaches to software development based on the Personal Software ProcessSM (PSPSM) and the Team Software ProcessSM (TSPSM) developed by Watts Humphrey.
- Show students how to measure and analyse their personal software process.
- Reveal how process data can be used to improve software development performance.
- Provide students with experience of reflective and disciplined software development methods.
Learning Objectives
After successfully completing this course you should be able to:- Plan software development projects based on estimates of size, time involved and defects likely to be injected and removed.
- Track software development projects by measuring the size of products, the time involved in their development and the defects injected and removed as part of their development.
- Quantify software quality using the metrics defined in the PSP.
- Improve your personal and team processes by reflection on past performance and analysis of measurement data to identify improvement opportunities.
- Generate evidence of benchmark data and reflection outcomes on your personal software process.
- Demonstrate personal and team skills relevant for software engineering projects.
