Date: Tue, 26 Nov 1996 19:04:55 GMT
Server: NCSA/1.4.1
Content-type: text/html
Last-modified: Thu, 14 Nov 1996 21:22:35 GMT
Content-length: 11648
CS 485/585 Software Process Management
CS 485/585 SOFTWARE PROCESS MANAGEMENT
Spring 96-97
Tentative Information
Lasted updated November 14, 1996
Computer Science Home
Page
Univ. of Idaho Home
Page
Quick links to additional course material:
Not yet implemented
Instructor:
William S. Junk,
Computer Science Dept.,
University of Idaho,
Moscow, ID 83844-1010
Telephone: 208-885-7530 /
800-824-2889
Fax: 208-885-6165
(alternate: 208-885-9052)
E-Mail: billjunk@cs.uidaho.edu
Video Tapes Are Available: The Spring 94-95 offering of the course is
available for purchase or rental. The contents of that course are very similar to
that described here. Contact Engineering
Video Outreach at 1-208-885-6373 for more information.
Course Description
This course will view software engineering activities from a
management perspective centering around a study of the software development process. We
will view the process in terms of its constituent tasks, focusing on the flow of information and
interconnection between tasks. We will highlight interdependencies created by work
products. Our approach is in contrast to the traditional software engineering course (such as
the prerequisite for this course) which focuses on the techniques employed to accomplish
technical activities.
Topics to be covered include: software development paradigms (life cycles such as waterfall,
evolutionary, incremental, and spiral), software process maturity (Capability Maturity Model
and BOOTSTRAP Model), software process assessment and improvement, change
management concepts, process and product metrics, organization and management
strategies, and risk assessment. Although we will study several management topics, this is
not a course in software project management. We will not cover how to manage people and
resources. Project management will be discussed only as a constituent tasks in the overall
context of producing a software product. Participation in class activities, some individual
activities, a term project, and a final exam will be required. Some additional effort will be
required for graduate credit.
Prerequisites
CS 381/581 Software Engineering or instructor's permission. For NTU
students something equivalent to SE-710 or substantial work experience will be considered
equivalent. Knowledge of modern software engineering techniques will be assumed.
Computer Access: None required, but access to and use of Internet for course material and
electronic mail is expected.
Goals
The goal of this course is to provide a systematic study of the software
development process with an emphasis on how to define and manage it. This course will expose
participants to several possible approaches to software development, identify the tasks that
are essential for successful projects, discuss how tasks interact with each other, and discuss
how an organization can develop and mature its software development process. The course
will not advocate a particular development approach, but rather will take a critical look at the
most popular and most talked about strategies.
After successfully completing this course participants will:
- be familiar with terminology used in this topical area
- have read and analyzed important historical and current literature addressing
software life cycle models and software process issues
- understand the basic concepts embodied in the most prevalent software life cycle
models, including knowledge of their advantages and disadvantages, and when it
may be appropriate to use each life cycle approach
- be able to construct and represent a software life cycle for an organization or project
- be able to construct a project software life cycle that is consistent with a specific
software life cycle model
- understand the factors that are important in building the capability or maturity of a
software development organization
- be able to assess the maturity level of a software development organization
- understand factors that contribute to successful process change implementation
- be able to plan and implement a software process improvement activity
Texts
Mark Paulk, et al., The Capability Maturity Model: Guidelines for Improving the
Software Process, Addison Wesley, 1995.
Journal articles of historical or current importance and other material may be provided by the
instructor.
Alternate Resources
If you are interested in additional information on this subject, the
following list presents some resources that you may find useful. For this course you are not
required to have access to these resources and a student without access to them will not be at
a disadvantage in this course.
- Managing the Software Process, Watts S. Humphrey, Addison-Wesley, 1989.
- Capability Maturity Model for Software, Version 1.1, Mark C. Paulk, et al.,
CMU/SEI-93-TR-24, Software Engineering Institute, February 1993.
- Key Practices of the Capability Maturity Model, Version 1.1, Mark C. Paulk, et
al.,
CMU/SEI-93-TR-25, Software Engineering Institute, February 1993.
- Software Process Assessment and Improvement: The BOOTSTRAP Approach, P.
Kuvaja, et al., Blackwell (UK), 1994.
- IEEE Std 1074 Standard for Developing Software Life Cycle Processes,
IEEE, 1991.
Grading
CS 485 CS 585
Participation 10% 10%
Outside reading (book) N/A 15%
Process Assessment Assignment 15% 15%
Process Definition Assignment 15% 15%
Individual Project 35% 30%
Final Exam 25% 15%
Undergraduate and graduate sections of the course are graded separately. Due to
slightly different schedules, off-campus and on-campus sections are graded separately.
Participation
All students are expected to make a regular contribution to the class.
On-campus students should be prepared to offer their comments regarding material presented,
ask interesting questions during class, and respond with good answers to questions asked in
class. Calling to my attention a high quality article (not included in the course readings
package) on a topic discussed in class is encouraged. Off campus students should
communicate with me on a regular basis using telephone, fax, or e-mail to comment on
material presented in class, to provide feedback on industry/practitioner perspectives
regarding topics studied, relate personal experiences relevant to class discussions, and of
course, to ask questions. On-campus students may also make contribution via e-mail. A
significant contribution about every other week is considered the minimum satisfactory
participation level.
A portion of some class session will be devoted to discussion and feedback based on
questions and comments supplied from off-campus.
Assignments
You will be required to perform a software process assessment and to make a
report of your findings. You may evaluate a software development organization with which
you are familiar or you may evaluate a case study I will make available. As a practical
application of some of the course material you will be expected to develop a process
definition/representation of a portion of your work function. This process definition defines the
tasks and interfaces with other people and/or organizations.
Outside Reading
Students enrolled for graduate credit (CS 585) will be required to read
one book that is related to development life cycles, organizational maturity, or process
improvement. A list of acceptable books will be provided.
Term Project
The course also requires an approved term project which should be a
practical application of some concept(s) studied in the course. The project is expected to be more
extensive for graduate students than for undergraduates. For the project you might prepare a
Software Management Plan following IEEE standards, develop a software process simulation
model of your organization, or study software process metrics from your organization. You
are expected to propose a topic and receive my approval before starting. Additional
guidelines will be provided on each of these activities.
All assignment, projects, etc. should be sent directly to me, not to the Video Outreach Office.
The address listed above will work for both US Mail, Federal Express, and UPS.. The final
exam must be sent by your examination coordinator to the Video Outreach Office. You will
probably want to keep a copy of all work that you submit just in case something gets lost in the
mail. Unfortunately this does happen.
Course Outline (approximate)
- I. Software Life Cycle Paradigms (13 sessions)
- Waterfall Model
- Incremental Development Model
- Evolutionary Development Model
- Object-oriented Model
- Maintenance Model
- Cleanroom Model
- Spiral Model
- II. Software Processes, Maturity & Evolution (10 sessions)
- Software Processes
- SEI's Capability Maturity Model
- The BOOTSTRAP Model
- IEEE Standard 1074
- Maturity Evaluation
- III. Software Life Cycle Processes (15 sessions)
- Requirements Management
- Project Planning & Management
- Project Tracking & Oversight
- Software Subcontract Management
- Software Quality Assurance
- Software Configuration Management
- Process Definition
- Training
- Product Engineering
- Intergroup Coordination
- Peer Review
- Process Management
- Software Quality Management
- Defect Prevention
- Risk Analysis & Risk Management
- Installation and Support
- IV. Change Management (5 sessions)
Computer Science Home
Page
Univ. of Idaho Home
Page
billjunk@cs.uidaho.edu