The document discusses the Personal Software Process (PSP) framework which aims to help software engineers improve their personal skills and performance through defined processes, measurements, and analysis techniques. It outlines the key principles of PSP including using measured personal processes and data collection/analysis to improve. It also describes the different levels of the PSP structure from PSP0 to PSP1.1 which progressively introduce more data, analysis, size/resource estimation, and other techniques.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
51 views18 pages
Lecture 7
The document discusses the Personal Software Process (PSP) framework which aims to help software engineers improve their personal skills and performance through defined processes, measurements, and analysis techniques. It outlines the key principles of PSP including using measured personal processes and data collection/analysis to improve. It also describes the different levels of the PSP structure from PSP0 to PSP1.1 which progressively introduce more data, analysis, size/resource estimation, and other techniques.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18
Software Process Improvement
BS(SE)-VI
Dr. Assad Abbas
Department of Computer Science
COMSATS University Islamabad, Islamabad Campus [email protected] Outline
n Personal Software Process (PSP)
n PSP Principles n PSP Process and Structure (PSP Levels) n PSP Tools
May 15, 2024 2
Personal Software Process (PSP) n Developed by Humphrey, the Personal Software Process (PSP) is a structured software development framework that includes defined operations, measurements, and analysis techniques designed to help software engineers understand and build on their personal skills and improve their performance. n The PSP provides a defined personal process, guides software engineers in collecting and recording data, and defines ways to analyse data and make process improvements
May 15, 2024 3
Personal Software Process (PSP) n Applying CMM principles to small organizations/small teams was questionable, therefore, the PSP was invented to convince software engineers that improvement requires change, and changing the behaviour of software engineers is a nontrivial problem. n Humphrey also asserted that the PSP design is based on the principles of consensus planning and quality, providing an internal reference point for software quality before its public release.
May 15, 2024 4
PSP Principles n Every engineer is different; therefore, engineers must plan their work based on their own personal data. 5 Occasionally, an engineer may be a doubting Thomas; i.e., one who is sceptical about changes to their work habits. Although engineers may be willing to make a few minor changes, engineers generally hold fairly closely to what has worked for them in the past, unless they can be convinced that a new method is more effective. n Engineers should use well-defined and measured processes to consistently improve their own performance. 5 Engineers need to understand their personal performance, measures of the time they spend on each job step, defect injection and removal as well as the size of the product they produce. 5 Subsequently, engineers are required to produce quality products and, to do this, they must plan, measure, and track product quality; the overall message is to focus on quality from the outset of the project. 5 Additionally, engineers need to find and fix defects earlier during the process rather than later, as the latter tends to increase project expenses. In other words, prevention is better than cure; hence, defects are more effectively prevented and fixed earlier rather than later, when the project is nearly ready for release for public use. 5 Equally important, the results of each job should be analysed for future reference, as any findings may be helpful in improving their personal processes
May 15, 2024 5
PSP Structure and Processes n The first step in the PSP is planning, which consists of a planning script that is used to guide work and also a plan summary which records planning data. n After gathering and analysing all the requirements for the project, engineers follow each step in the planning script and perform time recording and defect logging. n In the planning phase, the overall plan is created with a gross estimate, wherein the engineer uses process scripts in defining each step required for each part of the process
May 15, 2024 6
PSP Structure and Processes n Initially, engineers should plan their tasks based on their own historical time, size and defect data. n They should define their work in detail because this will provide more accurate estimates. n Afterwards, as all the products may seem to be vague and indistinguishable, engineers may transfer all the details and ideas into a conceptual design, which is a rough outline for the outcome because it relies on historical data. n Subsequently, the resource and size estimations are made using the PROBE method. n Theoretically, engineers estimate the product size and based on this estimation, later determine the approximate amount of time required for the project to be completed May 15, 2024 7 PSP Structure and Processes n PROBE uses historical relationships between estimated object LOCs and actual resources to estimate resource requirements. 5 For example, engineers may refer to historical data on the size of similar projects they have previously developed and use linear regression to estimate the overall size of the finished product, estimate a total plan for the code to be developed, and estimate the development resources needed. 5 Using the percentage estimates for guidance, every phase in the development process (design, design review, coding, code review, compiling, unit testing, and postmortem phases) may also be estimated accordingly. 5 Engineers may log time and defect data in the process as they perform their tasks. This is to ensure that the quality plan should first be determined to yield a quality product. After the estimation (which is part of the quality plan) is verified with the PROBE method, the schedule is conveyed, and the task time is laid out to achieve the planning target.
May 15, 2024 8
PSP Structure and Processes n The PSP is based on several methods consisting of a series of seven process versions. These seven process levels progressively introduce data and analysis techniques n The methods are labelled PSP0 to PSP3. Each of these versions consists of sets of logs, forms, scripts and standards. n PSP0 5 In the first level, engineers essentially follow their current practices, learning some basic PSP techniques. These current processes are enhanced with time and defect tracking instruments. 5 In PSP0, engineers establish a baseline against which to measure progress and identify the bases for improvement. 5 This process level provides a convenient structure for doing small scale tasks, a framework for measuring these tasks and a foundation for process improvement. 5 Thus, at this process level, there are several tasks that must be completed by the engineers before completing a PSP0 plan summary. 5 Each task requires them to define the current process in detail with the use of scripts. Each script guides their plans in detail. 5 Next, they implement a time recording log. The log is used to clock the time spent in each subprocess of the PSP. 5 Engineers record data on each defect found and corrected in a defect recording log, with the same objectives as the time recording log. Additionally, the defect type standard is the next task to be considered. May 15, 2024 9 PSP Structure and Processes n PSP0.1 5 PSP0 was enhanced to PSP 0.1 by adding size measurements in terms of LOC and the process improvement proposal 5 The personal baseline process is extended to include a systematised coding standard, software size measurement in terms of logical LOC and a personal process improvement proposal mechanism. 5 Moreover, the standards also include estimate of job size as a function of LOC and additionally, standards are developed that deal with LOC count alterations made in the project. 5 Furthermore, items such as problems encountered on the project, proposals for process improvement, overall comments about the project and much more data are also recorded.
May 15, 2024 10
PSP Structure and Processes n PSP1 5 This level introduces software size and resource estimation and PSP test reporting. 5 In principle, size estimates of a project are made by determining the planned project size based on previous projects undertaken within the organisation. 5 In PSP1, engineers can establish an orderly and repeatable procedure for developing software using size, resource and schedule estimations. 5 Additionally, the estimating process may become progressively more accurate as more data is gathered from various projects completed by an organisation. 5 In estimating project size, engineers should have the actual size data for a number of previously developed projects to establish baseline initial estimates May 15, 2024 11 PSP Structure and Processes n PSP1.1 5 This level enhances PSP1 to augment it with task and schedule planning and also adds earned-value tracking. 5 Engineers often have trouble tracking their work because they tend to perform tasks other than those they have planned. 5 Therefore, in PSP1.1, task planning helps them estimate the development time and completion date for each project task. 5 Moreover, it also provides a basis for tracking schedule progress.
May 15, 2024 12
PSP Structure and Processes n PSP2 5 This level introduces design and code review with quality measurement and evaluation. 5 This may help to improve the quality of software and subsequently improve personal quality management more than any other single change made to the personal software process. 5 When using defect data from their earlier exercises, engineers also develop personal design and code review checklists. 5 A technical review is performed to assure that the quality of the program was improved, and this is done by examining part or all of the software system and its associated documentation. May 15, 2024 13 PSP Structure and Processes n PSP2.1 5 Throughout this level, engineers learn to use design specification templates or techniques that provide an orderly framework and format to record designs properly. 5 Additionally, engineers are also provided with ways of preventing defects. 5 Templates consist of operational scenario templates containing descriptions of likely operational scenarios to be followed in using the program such as scenario steps, likely user objectives, sources of scenario action and lists of significant comments. 5 The next template is the functional specification template, which is used to describe functions and procedures for functional design or objects for object-oriented design. 5 Finally, the logic specification template specifies pseudo-code logic for each function or program unit and contains lists of any new or unusual included features that are required by the functions
May 15, 2024 14
PSP Structure and Processes n PSP3 5 The tasks include all of the PSP2 and PSP2.1 tasks plus cyclic development. 5 Cyclic development is useful in tracking data regarding program size, time spent in each development phase, defects detected and defects removed. 5 Its objective is to extend PSP or to scale up the process to large program development such as industrial-sized projects and to cover team project work. 5 This strategy focuses on structuring product development into increments suitable for cyclic development. 5 PSP3 addresses this scalability with the cyclic development strategy, in which large programs are decomposed into parts for development and then integrated.
May 15, 2024 15
PSP Structure and Processes n PSP3 (cont.….) 5 Each enhancement is built on the previously completed increment up to a size of several thousand LOC. 5 This helps engineers concentrate on verifying the quality of the latest increment without worrying about defects in the earlier cycles.
May 15, 2024 16
Tools Supporting the PSP n PSP adoptions in individual software engineers can be enhanced with the help of tools. Some important tools include: 5 Jasmine 5 PSPA 5 Hackystat 5 PSP Studio 5 Process Dashboard 5 Duo Tracker 5 PSP.NET 5 The LEAP Toolkit 5 PROM 5 PSP-EVA May 15, 2024 17 Source n Software Process Improvement and Management: Approaches and Tools for Practical Development, Shukor, S. Fauzi, H. N., Nuraminah R., Sahibuddin, S., IGI Global, 2011. (Ch. 7)