Project Planning (Chapter 23) Flashcards

1
Q

At which stages does Project Planning take place in the Project Lifecycle?

A

The Proposal Stage
Project Startup
Periodically throughout the project

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the 3 main parameters for computing Project Cost?

A

Effort Cost
Hardware & Software Costs
Travel & Training Costs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which approach is used in Software Engineering where the development process is planned in detail?

A

Plan-Driven/Plan-Based Development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What arguments can be made for the use of Plan Driven Development?

A

Early planning allows organizational issues to be taken into account
Potential problems & dependencies are discovered before the project starts (rather than when it’s underway)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does the project plan break down in a Plan-Driven Development project?

A

The available resources
The work breakdown (tasks)
The work/development schedule

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

List the components of the Project Plan Document

A
Introduction
Project Organization
Risk Analysis
Hardware & Software Resources
Work Breakdown Structure
Project Schedule
Monitoring & Reporting Mechanism
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

True or False: Both Plan-Based & Agile processes need an initial project schedule

A

True (although less detail is included in an Agile project plan)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How long should a task normally take?

A

At least a week, 6-8 weeks. Anything longer must be split into sub-tasks

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Agile methods of Software Development are what kind of approach?

A

Iterative Approach

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How is the functionality of increments planned in Agile processes?

A

Decided during development, not planned in advance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Scrum and Extreme Programming have a two-stage approach to planning. What are they?

A

Release Planning

Iteration Planning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the focus of Release Planning in Agile processes?

A

Looking ahead for several months and deciding on the features that should be included in a release

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the focus of Iteration Planning in Agile Processes?

A

Shorter term outlook, Focuses on planning the next increment of a system (usually represents 2-4 weeks of work)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

what are the 5 Agile Planning Principles?

A
  1. Full upfront plan is not possible
  2. Upfront planning should be helpful without being excessive
  3. Keep planning options until the last responsible moment
  4. Focus on adapting & re-planning than conforming to a plan
  5. Favour smaller & more frequent releases
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the Horizon (timeframe) for Agile Release Planning?

A

3 - 9 Months

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the Horizon (timeframe) for Agile Iteration Planning?

A

1 - 4 weeks

17
Q

What is the first stage in developing a deliverable system increment?

A

Iteration Planning

18
Q

How long should a dev task be expected to take?

A

4 - 16 hours

19
Q

What are the two benefits to task allocation using a self-signup approach?

A
  1. The whole team gets an overview of the tasks to be completed in an iteration
  2. Individual developers choose the tasks to implement; they are not simply assigned tasks by a Project Manage
20
Q

True or False: The delivery schedule in Agile can be extended

A

FALSE, the delivery schedule is NEVER extended

21
Q

What is a major difficulty in Agile Planning?

A

Customer involvement & availability

22
Q

Agile Planning works best with which kind of team?

A

Small, Stable Development Teams

23
Q

A Sprint is what kind of Iteration?

A

Time-Boxed

24
Q

What is are the benefits of a Sprint?

A
  1. Forces the team to prioritize features & avoid unnecessary polishing/gold-plating
  2. Demonstrates progress regularly (each sprint is a “potentially shippable increment”)
  3. Motivates closure in small increments & improves team morale
  4. Improves the predictability of the release plan & fosters longer term strategic planning
25
Q

What are the 2 types of Estimation Techniques?

A

Experience-Based

Algorithmic Cost Modeling

26
Q

What is the focus of Experience-Based Estimation?

A

To estimate future effort based on the Manager’s experience of past projects and the application domain

27
Q

What is the focus of Algorithmic Cost Modeling Estimation?

A

A formulaic approach is used to compute the project effort based on: size, process characteristics, and staff experience

28
Q

What are the 3 criteria used for Algorithmic Cost Modeling Estimation?

A

Size
Process Characteristics
Staff Experience

29
Q

What are some factors that affect the pricing of a software product?

A
Contract
Uncertainty of Cost Estimate
Financial Health
Market
Volatility
30
Q

Boehm et. al discovered that startup estimates vary significantly. By what factor can estimates range?

A

0.25x to 4x of the actual effort as measured when the system is delivered

31
Q

What becomes more accurate as development planning progresses?

A

estimates

32
Q

What is the issue with Experience-Based Estimation Techniques?

A

New software projects may not have much in common with previous projects

33
Q

What is the best known algorithmic Cost Modeling technique?

A

COCOMO 2

34
Q

What does COCOMO 2 take into account?

A

Modern approaches to software development (e.g. rapid dev with dynamic languages)
Development with Reuse
Database Programming

35
Q

What are the 4 sub-models that COCOMO 2 utlizes?

A
  1. Application Composition Model
  2. Early Design Model
  3. Reuse Model
  4. Post-Architecture Model
36
Q

What does the Application Composition Model focus on??

A

Modeling the effort required to develop systems that are made from reusable components, scripting or database programming

37
Q

When is the Early Design Model used?

A

Used during the early stages of the system design AFTER requirements have been established

38
Q

What does the Reusable Model focus on?

A

Computing the effort required to integrate reusable components

39
Q

When is the Post-Architecture Model used?

A

Once the system architecture has been designed in order to make a more accurate software size estimate