Project planning and risk management Flashcards

1
Q

What can we do to physically measure the quality of code?

A
  • Lines of code
  • Fog index (readability of code)
  • Number of reported faults after delivery
  • Number of person days for coding
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define software risk

A

Potential hazards in software system which lead to security and privacy breeches

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

Define project risk

A

Likelihood of events or circumstances that affect successful project execution

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

How do we reduce software risk?

A
  • Conduct functional risk analysis as early as possible
  • Create some clear “shall nots”
  • Ongoing risk monitoring
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are shall-not requirements?

A

What our system definately SHOULD NOT do

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

What are the two types of shall-not requirement?

A

Functional shall-not requirements
Non-functional shall-not requirements

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

Explain functional shall-not requirements?

A

What should not happen
What should happen for non-correct usage or errors

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

Explain non functional shall-not requirements

A

Define the reliability and availability of software
Can be measured by:
- availability
- rate of failures
- recovery time

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

What could be some security concerns when developing software?

A
  • Credit card data
  • Customer patients data
  • Proprietary algorithms
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are 4 project management concerns?

A
  1. Deliver the software to customer on schedule
  2. Keep overall costs within budgets
  3. Deliver software that meets the customer expectations
  4. Maintain a happy and well functioning dev team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the role of the project manager in terms of risk?

A
  • Considering and preparing for possible problems in the future so the project goes smoothly
  • All risks should be listed and a strategy considered
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are some risk types?

A

Technology
People
Organisational
Tools
Requirements
Estimations

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

Explain risk prioritisation

A

Rank risks by the probability of them (low, moderate, high) and their effect (insignificant, tolerable, catastrophic)

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

What are 3 different strategies to manage project risk

A

Mitigate, Avoid or handle (contingency)

Avoidance is the best strategy

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

What are the four different types of traditional planning diagrams?

A

PERT
Critical path method
Gantt chart
Staff allocation charts

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

What is a PERT chart?

A

Diagram for tasks and dependencies with bubbles and arrows.

Can be simple or more detailed (annotated with optimistic time, pessimistic time and most likely times)

17
Q

What is a critical path method?

A

Take a PERT chart and identify all the paths through it, identifying the length of time it takes for each path
- Longest path is the critical path

This is known as the bottleneck route, but can be complicated in large projects (use software to derive this)

18
Q

What is a GANTT chart?

A

Adding time to tasks/dependencies, kinda looks like a bar chart
- Milestones to review progress
- Plan is an estimate so look for slippage (ignoring small, if big replan)

19
Q

What is staff allocation charts?

A

Who can do the tasks/dependencies

20
Q

What is agile planning?

A

Fixed number of people in team

Setting deadlines
- Output is always working software

Estimate what work can be done in between deadlines
- Pick a user story and assign points for how hard they are
- Productivity is then daily points score

21
Q

What are two approaches to estimating project budgets?

A

Analyse the work and estimate developer time
- Done by management experience or algorithmic cost modelling

Analyse developer time and define how much work to do
- Scrum methodology, agree on num of sprints and cost revolves around this. Expanding a project = buy more sprints

22
Q

What is the disadvantage of algorithmic cost modelling?

A
  • Often complex and people are nervous of using them
  • Typically inaccurate
23
Q

What factors affect project price?

A
  • Market opportunity
  • Cost estimate uncertainty
  • Contractual terms
  • Requirements volatility
  • Financial health
24
Q

Generally, how do we estimate the cost for a project?

A

Break down and plan order of work
- estimate time and effort accounting for risk

Cost will be at least this
- Sales people figure out profit

Management use experience to guide cost

25
Q

Give an example of how to use each type of risk strategy.

A

Avoidance

Handling risk

Mitigating risk

26
Q

Give an example of avoiding a risk

A

Follow good coding practices to prevent vulnerabilities being introduced

27
Q

Give an example of handling risk

A

Code reviews to address problems in code

28
Q

Give an example of mitigating risk

A

Paired programming and reorganising team to ensure that staff illness doesn’t affect development