CS511: Personal Software Process + Project
CS 511:
Personal Software Process [PSP]
with PPMP and Project
Winter 2003 – Course Overview
Agenda
Introductions
People: Me, you (eventually), and Molly & Eric
"Instant feedback" for homework
Software engineering
CSCI 511 Course
Projects
Normal: Process Improvement Analysis and Plans
Directed Research (separate Credit and Assignment)
Some High Points
Introductions
James P "Jim" Alstad
- 25+ years in software development
Since 1981, in aerospace doing primarily real-time embedded systems
Presently at Boeing Satellite Systems doing satellite flight software
Master of Software Engineering, Carnegie Mellon, 1991
BS in Computer Sciences, University of Wisconsin, 1973
(work)--Mail from your USC address!
SAL 316: Office Hour W 10:30-11:15; appointment recommended.
310/416-5042 (work) if important.
Introductions (cont.)
Fill in and hand in TODAY the Student Information Form for CS511
Name, Daytime phone number, Evening phone number, ...
Background
Around the room [second session]
Name
USC major or Company, division, department
What do you do there
Introductions: Grading Process
Molly Phongpaibul is TA
Eric Gradman is English consultant
The normal process for turning in homework provides you with "instant feedback"
Molly will be available for the 1 hour period just before class right outside classroom
If you turn your homework in then, you will get the instant feedback as described below
Grading Process (con't)
In case of a non-writing homework, Molly will check it for correct format "in real time"
If OK, she will accept it and grade it later
If not OK, she will return it to you as soon as possible (before class, if you turned it in early enough)
Grading Process (con't)
In case of a writing homework (1W-4W), Molly and Eric will check it
Molly will check the format as above and, if not OK, will return it to you
If OK, Molly will pass the homework on to Eric, who will be outside the classroom from 1 hour before class until the end of class
Eric will check two things and, if not OK, will return the homework to you:
Check that the English is readable
Check that your tests are reasonable, and if so apply one or more of them to your document and check that it passes
If Eric finds your homework to be OK, he will pass it back to Molly for final grading
Grading Process (con't)
In case of the project (assignments 1J & 2J):
There will be no instant feedback
Eric will be reviewing your English and deducting points when appropriate
Molly will be giving final grades
In case you don't turn your homework in during the normal time, and it's not OK, Molly and Eric will return the homework to you when they are able.
Note: use of the Writing Center to assist on any writing assignment is perfectly acceptable
- Just account for your meeting time per class instructions
Introductory Discussion
What is a Software Engineer?
Are you one if you can only write & debug code?
Can you be one if you have not coded in years?
Can you be on if you have NEVER programmed?
What is Engineering?
What is Software Engineering?
Genesis of Course Material
Personal Software Process (PSP) and its class developed by Watts Humphrey
"A Discipline of Software Engineering", 1995.
Winsor Brown has been teaching the class and enhancing the material since then
He introduced the Personal Writing Process (PWP), the Personal Spreadsheet Process (PSSP), and the Personal Project Management Process (PPMP)
Presently Associate Director of USC's Center for Software Engineering
This is my first semester leading the class
I took PSP in 1995 (from Winsor)
I have given some lectures in 511 before
Course Content
Course Content
Personal Project Management Processes
Personal [SE/technical] Writing Process (PWP)
Personal SpreadSheet [development] Process (PSSP)
Personal Planning and Tracking
Learning extensions to any of the PxP processes
Personal Software Process applied to 3GL exercises
Project (useful to ALL)
Individual (one person) process improvement
Process definition for analysis report
Tasks and resources for report planned and tracked
Apply PPMP/PSP: Gather and analyze process data
Typical of tasks assigned to some software engineers
Schedule of Course Focus
PPMP + PSP Integrated Course Offering
Web Site
Detailed Introduction – Separate Lecture SOON
General information at:
Class-only material on SCF CSCI511
Previous years' schedules and lectures may be available
Ask me if you're interested
Grading overview (details in separate file)
PPMP Homework (4 PWP exercises) – 10%
PPMP Homework (4 PSSP exercises) – 15%
PSP Homework (8 program exercises & 3 Reports) – 20%
Software Engineering Project: Process definition plus ... forPSP "Midterm" & Final Reports ["R4" & "R5"] – 40%
Individual Critique – 15%
Course Execution Options
Normal: 8 Programming Exercises and Project
Working, professional "programmer"
Individual "Project" based on PSP data "work"
PSP Exercises 1..4 with class if regular work does not fit
PSP Exercises 5..8 or more based on "work"
Working professional, non-programming software engineer: PSP Exercises 1..8 with class
Software Engineering "Manager": By arrangement Project using PWP or PSSP; No Programming Exercises; Midterm and Final "Report" applied to writing or spreadsheet;
Additional DR (CS590) credit: PSP applied to CSE project or other development activity.
Anything but Normal has to be arranged with me.
Projects (cont.)
Remote Students (working professionals):
Process improvement based on regular, software engineering work assignments
Applicable ONLY to those doing repeated, regular development activities who have been doing so for at least the last 3 to 6 months
May require some changes in the study sequence
Will require some active coaching and feedback
Weekly tracking of ~100 SLOC increments
Mid-term and Final process improvement data analysis reports based on work assignments, but MUST follow the normal students approach and contents
Distinctive Features of the Course
Process focus
Emphasis on following processes, gathering and analyzing data, and improving your processes
Emphasis on organization and on certain details
Not on programming techniques or technology
Some homework with spreadsheets
Glossary
ICN: In Class Notes. The "root" of a lecture.
Defect (for purposes of this class): a flaw which requires a change to the delivered program (or other delivered artifact).
PSP, PWP, PSSP, PPMP: Examples of Personal xProcesses (x = Software, Writing, SpreadSheet, Project Management respectively).
Script: Structured instructions for following a process.
1W, etc: Identifiers of homework assignments for this course.
Kit: A complete, zipped set of files which comprise an assignment.
ReadMe (for purposes of this class): the "root" of the files for an assignment.
Guidance: a document offering information intended to help with an assignment.
Some Assignments
Readings
"Why Should You Use a Personal Software Process", Software Engineering Notes, ACM SIGSoft, July, 1995 pg 33-36.
DSE: Forward, Preface, Chp 1 & 2
Electronic Papers: PSP motivation articles by Watts Humprey
(see Electronic Papers references)
The Changing World of Software, January 1996.
/Process or Bureaucracy, February 1996: [9602/oc9602]
Credibility and Commitment, March 1996: [9603/oc9603]
/A Process or a Plan, April 1996: [9604/oc9604]
Checkpoint Restart, May 1996: [9605/oc9605]
/Checkpoint Restart - Part II, June 1996: [9606/oc9606]
Fill in, and turn in on Wednesday, 1/22 the SEI Questionnaire:
"Personal Software Process Student Background Survey"
© 2003-4 A. Winsor Brown BES/MSEE, JP Alstad511w04--OverviewV0.DOC-1v0.0 - 01/12/04