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?