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
What are the 2 types of Estimation Techniques?
Experience-Based | Algorithmic Cost Modeling
26
What is the focus of Experience-Based Estimation?
To estimate future effort based on the Manager's experience of past projects and the application domain
27
What is the focus of Algorithmic Cost Modeling Estimation?
A formulaic approach is used to compute the project effort based on: size, process characteristics, and staff experience
28
What are the 3 criteria used for Algorithmic Cost Modeling Estimation?
Size Process Characteristics Staff Experience
29
What are some factors that affect the pricing of a software product?
``` Contract Uncertainty of Cost Estimate Financial Health Market Volatility ```
30
Boehm et. al discovered that startup estimates vary significantly. By what factor can estimates range?
0.25x to 4x of the actual effort as measured when the system is delivered
31
What becomes more accurate as development planning progresses?
estimates
32
What is the issue with Experience-Based Estimation Techniques?
New software projects may not have much in common with previous projects
33
What is the best known algorithmic Cost Modeling technique?
COCOMO 2
34
What does COCOMO 2 take into account?
Modern approaches to software development (e.g. rapid dev with dynamic languages) Development with Reuse Database Programming
35
What are the 4 sub-models that COCOMO 2 utlizes?
1. Application Composition Model 2. Early Design Model 3. Reuse Model 4. Post-Architecture Model
36
What does the Application Composition Model focus on??
Modeling the effort required to develop systems that are made from reusable components, scripting or database programming
37
When is the Early Design Model used?
Used during the early stages of the system design AFTER requirements have been established
38
What does the Reusable Model focus on?
Computing the effort required to integrate reusable components
39
When is the Post-Architecture Model used?
Once the system architecture has been designed in order to make a more accurate software size estimate