Project & Configuration Management (WK10&11) Flashcards

1
Q

What are the three types of risk?

A

Project risks: risks that affect the project schedule/resources (eg. main software architect quits)
Product risks: affect the quality or performance of the software being developed (eg. failure of purchased component to perform)
Business risks: affect the organisation developing the product (eg. competitor releases product faster)

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

What are the four stages in the risk management process?

A
  • risk identification
  • risk analysis (assess likelihood and consequences)
  • risk planning (minimising the risks)
  • risk monitoring (risk assessment)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Risk identification: list some examples of common risks.

A
  • Estimation risks: time required for development underestimate, size of software underestimated
  • Organisational: organisational restructure changes managers, organisational financial problems force budget reductions
  • People: can’t recruit staff with right skills, key staff are ill and unavailable at critical times, required training for staff is not available
  • Requirements: changes proposed with would require major rework, customers fail to understand impact of req changes
  • Technology: database used in the system cannot process as many transactions per second as planned, reusable software components contain defects that mean they can’t be used as planned
  • tools: software tools cannot work together in an integrated way
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Risk Analysis: what are the scales for probability and consequence?

A

Probability: very low, low(10-25%), moderate(25-50%), high(50-75%), very high (>75%)

Consequence: Catastrophic (threaten the project survival), serious (would cause major delays), tolerable (delays are within allowed contingency), insignificant.

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

Risk planning: what are the three types of risk mitigation strategies?

A
  • Avoidance strategies: reducing the probability that the risk will arise to zero
  • Minimisation strategies; reducing the impact of the risk on the project
  • Contingency strategies: contingency plans for if the risk does happen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are four important people management factors?

A
  • consistency
  • respect
  • inclusion
  • honesty
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are four factors affecting software pricing?

A
  • market opportunity: may quote a low price because want to move into a new segment of the market (under pricing)
  • requirements volatility: if requirements are likely to change, organisation may lower its price to win the contract. After contract is won, high prices can be charged for changes.
  • Contractual terms: price may be lower if the customer is willing to allow the developer to keep ownership of the source code
  • Financial health: if in financial difficulty, developers may lower the price to gain the contract
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the two cost estimation techniques?

A
  • Experience-based techniques: estimate is based on managers experience of past projects and the application domain
  • Algorithmic cost modelling: formulaic approach using factors such as size, staff experience, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is set out and included in a project plan?

A

Project plan sets out: resources available to the project, the work breakdown, schedule for carrying out the work.

Sections included in a principal project plan may include: introduction, project organisation, risk analysis, hardware and software resource requirements, work breakdown, project schedule, monitoring and reporting mechanisms

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

Project scheduling: what is included in a project activity?

A
  • a Duration (in calendar days or moths)
  • an effort estimate (number of person-days/months to complete the work)
  • a deadline
  • a defined end point (might be a document, review meeting, successful test execution, etc)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are milestones and deliverables?

A

Milestones: points in the schedule against which you can assess progress (eg. the handover of a system for testing)

Deliverables: work products that are delivered to the customer (eg. requirement document for the system)

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

What is configuration management?

A

Tracking and controlling changes in software systems. Why is it important?

  • can quickly find issues
  • knowing why changes are happening
  • better understanding of paste changes to avoid fucking up new changes.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a configuration item and examples

A

Products of the software process that may have to be placed under configuration management. Things such as: specifications, designs, code, test data, user manuals, etc.
Configuration items have unique names (with version numbers for example)

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

What is defined in a configuration management plan?

A
  • types of documents too be managed and a document naming scheme
  • who takes responsibility for config. management.
  • policies for change control and version management (when why how long)
  • config. manag. tools (eg. Git, SVN)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is involved in a change request form?

A

Change proposed, who requested the change, the reason the change was suggested, urgency of the change. Also records change evaluation impact analysis, change cost and recommendations.

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

Agile recommendations for change management?

A
  • log changes to backlog/change tracker
  • eliminate as many approvals as possible
  • have a light change control form if needed
  • keep stakeholders and operations involved
17
Q

What is a version vs a variant vs a release?

A

Version: an instance of a system that is functionally distinct from other system instances

Variant: an instance of the system which is functionally identical but non-functionally distinct from other instances of a system (ie one for Mac and one for Windows)

Release: instance of a system which is distributed to users outside of the development team.

18
Q

Centralised vs Distributed version control systems

A

Centralised: a single master repository that maintains all versions of the software (eg. SVN)

Distributed: multiple versions of the repository exist at the same time (eg. Git).

19
Q

Scemantic versioning - what does Vxx.xx.xx mean?

A

major.minor.patch
Major: making incompatible API changes
Minor: when you add changes in a backwards compatible manner (new stuff added, no changing old things)
Patch: making backwards compatible bug fixes

20
Q

What/why/who of a changelog!

A

What: a file containing a chronological list of notable changes for each version of a project
Why: to make it easier for users and contributors to see precisely what notable changes have been made
Who: everyone needs it - we need to know how it changes

21
Q

What may be included in a system release?

A
  • config files
  • Data files
  • an installation program
  • documentation
  • packaging
  • changelog
22
Q

What are some problems with releases?

A
  • customer may not want a new release of a system
  • cannot assume that all previous releases have been accepted. need to make sure all files required for a release are re-created when a new release is installed.
23
Q

What are four factors influencing system release planning?

A
  • Competition (competing products being released)
  • marketing requirements (marketing department may have made commitments)
  • platform changes (may need a new release when a new OS is released)
  • technical quality of system (serious system faults may need a fault repair release)
24
Q

What are the three build platforms?

A
  • The development system: includes development tools such as compilers, code editors, etc.
  • the build server: used to build executable versions of the system
  • the target environment: the platform on which the system executes (eg. a phone)
25
Q

What occurs in the software build process? And what is a build tool?

A

In the build process you: resolve dependencies, compile the project, execute tests, create an executable file.

A build tool supports implementing a build process. Examples of build tool include make (Unix), Rake (Ruby), and Ant/Maven/Gradle (Java)