Comp 480 Mid Term Exam Review
Chapter 24: Project
Management Concepts
Focus
of Software Project Management
People
Product
Process
Project
The
People
Who’s
involved?
Software
Team
Closed
paradigm
Random
paradigm
Open
paradigm
Synchronous
paradigm
What
are the differences?
Under
what circumstances would you pick one over the others?
The Product
Determination
of software scope
Problem decomposition
The
Process
Selection of an
appropriate process
Process
decomposition
The Project
What
management activities are needed for a successful project?
Chapter 5: Understanding
Requirements
Requirements
engineering
Inception
Elicitation
Problems
of scope
Problems
of understanding
Problems
of volatility
Elaboration
Negotiation
Specification
Validation
Requirements
management
Identifying
stakeholders
Gathering
requirements
Developing
use cases
Negotiating
requirements
Modeling
and documenting requirements
Validating
requirements
Chapter 26:
Estimation for Software Projects
Establishing
project scope
Estimating
resources required
Human
resources
Reusable
software resources
Environmental
resources
Estimation techniques
Decomposition
Problem
based (using LOC or FP)
Process
based
Use-case
based
Empirical
models
The general
form
The
COCOMO model
The
software equation
Chapter 27: Project
Scheduling
Basic
Principles
Compartmentalization
Interdependency
Time
allocation
Effort
validation
Defined
responsibilities
Defined
outcomes
Defined
milestones
Relationship
between people and effort
The software equation
A
Task Set
Work
tasks
Milestones
Deliverables
Types
of projects
Concept
development
New
application
Application
enhancement
Application
maintenance
Reengineering
Scheduling
Task network charts
Task
flow
Critical
path
Timeline
(Gantt) charts
Chapter 28: Risk Management
Characteristics
of Software Risk
Uncertainty
Loss
Risk
Identification
Product-specific
risks
Generic
risks
Risk
Impact
Risk
Projection
Probability
Impact
The
RMMM Plan
Risk Mitigation
(avoidance)
Risk Monitoring
Risk
Management (and contingency planning)
Sample short
answer questions:
1. The simple COCOMO model says that the effort in person-months can be calculated by the following formula: E = 3.2(KLOC)1.05. Using this estimation how many more person-months would it take to complete a 40,000 line project than a 20,000 line project? (Estimated to the nearest person-month.)
2. What is meant by risk monitoring?
3. Give one advantage of a task network chart over a schedule (timeline) chart in software planning.
4. Identify one of the critical practices for successful software project management. That is, what is a management activity that should be part of any software project to ensure success. (There are several; you need identify only one.)
5.
Specify
one “context-free question” you might ask a stakeholder during product
inception?
6.
Describe
the main elements of a use case.
Sample essay
questions:
1. Discuss some of the problems that might occur during requirements elicitation if the stakeholders for your product come from many different organizations, and explain how would you try to deal with these problems.
2. Assume that one of the software project risks for a project you are managing is that some, or most, of the team members are unfamiliar with the programming language to be used on the project. Specify a detailed RMMM plan for that risk, i.e., describe a mitigation strategy, a monitoring approach, and a contingency plan.
3. Suppose you are the project manager for a major software products company, and your job is to manage the development of the next version of its widely used word-processing software. Because competition is intense, tight deadlines have been established and announced. What team structure would you choose and why? What software process model(s) would you select and why?
4. If you were the project manager in charge of developing a software system that you estimated as requiring 80,000 lines of new code, and your manager told you that the project needed to be completed in 18 months, what you tell him/her and why? Consider what additional information you might need from your manager and how your response might be different based what you are told.
(Hint: Use the software equation: E = [L x B0.333/P]3 x (1/t4) to calculate the effort required to complete the project in one and a half years, and for a more reasonable length of time, say 21 months. In using the software equation, remember that E is the effort in person years, L is the lines of code, B is a “special skills factor” for which 0.39 is the value to use here, P is a “productivity parameter” for which 12,000 can be assumed in this case, and t is the project duration in years.)
5. Complete an “Earned Value Analysis” for the following software development project. The project in question has 120 identified work tasks. At the current point in the project, the first 21 tasks should have been completed according to the project schedule. For the sake of simplicity, assume that all odd numbered tasks have a budgeted cost of 8 person-hours to complete and the even numbered tasks are budgeted at 12 person-hours. At this point in the project, tasks 1 – 16, 19, and 20 have been completed. Task 17 is reported to be about three quarters done, task 18 is about half done, and task 21 is only about one quarter done. Also, task 23 has been completed. Furthermore, assume the actual costs for all completed tasks were exactly as estimated except for task 2 which took 20 person-hours, task 13 which took 6 person-hours, and task 19 which took 22 person-hours.
Compute (to 3 significant figures) the following:
Schedule Performance Index (SPI = BCWP/BCWS),
Schedule Variance (SV = BCWP – BCWS),
Percent Scheduled for Completion (PSC = BCWS/BAC),
Percent Complete (PC = BCWP/BAC),
Cost Performance Index (CPI = BCWP/ACWP),
Cost Variance (CV = BCWP – ACWP),
where: BCWP is the Budgeted Cost of the Work Performed,
BCWS is the Budgeted Cost of the Work Scheduled,
BAC is the Budget at Completion (BAC = ∑ (BCWSk) for all tasks k), and
ACWP is the Actual Cost of Work Performed
6.
It is usually the case that cost and
schedule estimates are developed during project planning—before detailed
software requirements analysis and design have been completed. Why do you think this is the case? Are there circumstances when it should not be
done this way?