Date: Tue, 14 Jan 1997 23:17:17 GMT
Server: NCSA/1.4.1
Content-type: text/html
Last-modified: Tue, 27 Aug 1996 18:52:32 GMT
Content-length: 8802
CS 404/504 Software Project Management
CS 404-01/504-01
NTU SE-580-S
Software Project Management
Fall 96-97
http://www.cs.uidaho.edu/~billjunk/courses/cs482/cs482.html
Last updated: August 27, 1996

Computer Science Home
Page
Univ. of Idaho Home
Page
Course Overview
Proposed Catalog Description:
Software Project Management (3 cr). Techniques for planning, organizing, scheduling, and controlling
complex software system development and support projects.
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
Prerequisites:
Undergraduates: CS 381 Software Engineering or CS 480 Individual Design Project or permission
Graduates: CS 581 Software Engineering Analysis or permission May be taken by non-computer
science majors who have a basic understanding of how software should be developed.
Resources: Students must have the ability to communicate with the
instuctor via e-mail and must have facilities to access the World Wide
Web.
Goals:
Upon completion of this course participants should:
- Understand how software development fits into a more complex product development activity
- Be able to select an appropriate software development life cycle for a project
- Know the development processes required in a typical software development project and be able to select
development processes appropriate for a specific development project.
- Be able to plan a software development project including:
- identifying key processes and their interdependencies
- identifying documentation needs
- preparing a detailed project schedule
- estimating project resources and costs
- Be able to recommend an effective project organizational strategy for a specific development project
- Be able to effectively monitor a software development project
- Be able to perform a software project risk assessment
- Understand the relationships between software development activities/organizations and other
activities/organizations within the enterprise
- Understand social and environmental factors that contribute to or hinder software development activities
Textbooks:
- Mike Cotterell and Bob Hughes, Software Project Management,
International Thomson Computer Press, 1995.
- Tom DeMarco and Timothy Lister, Peopleware, Dorset House, 1987.
- Fred Brook, The Mythical Manmonth, 20th Anniversary Edition,
Addison-Wesley,1995
Grading:
Participation 10%
Readings 10%
Exercises 50%
Individual Project 20%
Final Exam 10%
Undergraduate and graduate sections of the course are graded separately.
Due to slightly different schedules, off-campus and on-campus sections
are graded separately. The difference between the undergraduate and
graduate versions is in the expected level of accomplishment. Because of
additional academic study and work experience, graduate students should be
able to provide greater insight and depth of discussion in all phase
of their course work. Just as an example, my expectations for the amount
of effort put into the individual project is substantially higher for
graduate students: 5-10 pages for undergraduates, versus 15-20 pages
for graduates.
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 on a topic discussed in class, pointing out
an interesting WWW site, relating a personal experience,
etc. are encouraged. Off-campus students should also do these things
and communicate with me on a regular basis using e-mail, fax, telephone,
or mail. I'm particularly interested in hearing your perspective
as practitioners. A meaningful contribution each week is considered
a satisfactory level. A portion of some class sessions will be devoted
to discussion and feedback based on questions and comments supplied
from off-campus.
Term Project
The course also requires an approved term project that should be a
practical application of some concept(s) studied in the coruse. The
project is expected to be more extensive for graduate students than
for undergraduates. For example you might base your project around
preparation of a Software Project Management Plan that follows IEEE
standards, review published literature on software risk assessment
and prepare a report, or study software process metrics from your
organizztion. You are expected to propose a topic and receive my approval
before starting. Additional guidelines will be provided.
Assignment (exercises)
Several exercises will be assigned during the semester. Most of
these will be individual assignments, however, one group assignment
is anticipated.
Topical Outline
- Project planning (general concepts)
- What is project planning and management?
- The Project Management Plan (IEEE Std 1058.1)
- Product development life cycles
- Complex systems of hardware and software
- Conception to retirement
- Time-to-market issues
- Software development life cycles
- Waterfall
- Incremental/evolutionary
- Spiral
- Software maintenance
- Life cycles incorporating software reuse
- How to pick the appropriate life cycle
- Software development processes
- Process concepts
- Process maturity (CMM)
- Key process areas (CMM)
- Process interaction (IEEE Std 1074)
- Management and technical documentation
- Supporting or interfacing processes
- Marketing
- Systems engineering
- Verification and validation
- Software quality assurance
- Software configuration management
- System support
- System maintenance
- Activity planning and scheduling
- Setting project goals
- Identifying development activities
- Gantt charts
- Network-based scheduling (PERT, CPM)
- Cost and resource estimating
- Top-down/bottom-up estimating
- Software cost models
- Work breakdown structures
- Resource management
- Budgeting
- Reserves
- Resource tracking
- Risk identification and management
- Top software risk areas
- Proactive risk management
- Determining project status
- Status reporting
- Software project measurement (metrics)
- Contracting and Outsourcing
- Development using outside contractors
- Purchasing code or services from third parties
- Organizational strategies
- Functional organizations
- Product team organizations
- Matrix organizations
- Managing teams
- Hiring
- Building teams
- Assigning work
- Empowerment
- Using temporary personnel
- Evaluating team members
- Environmental and social factors
- Informal organizations
- Power structure
- Physical working environment
- Technology support
- Training
- Change management

Computer Science Home
Page
Univ. of Idaho Home
Page
WWW: http://www.cs.uidaho.edu/~billjunk/
e-mail: billjunk@cs.uidaho.edu