Unit 13 Flashcards

1
Q

If you were managing a team of ten people on a late running project and your manager offered you five more people to help get back on track, would you accept? If not, how would you justify your refusal?

A

Accepting may be unwise as it would create sixty more communication paths which might, in turn, make the project even later. However, the additional resources might be able to contribute effectively to bring the project back on schedule, so a definitive answer to this question is not possible.

60 = (15x14)/2 -(10x9)/2 If there are 10 people, each of them may communicate with any of the 9 others, giving 10x9 = 90 possible communication paths, but we must halve this because each path will have been counted twice, once in each direction.

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

Suppose you were able to give an accurate estimate of the work content of a project at the start of the project. Give one reason why the project could take more than this estimate. Give one reason why you might be motivated to propose a lower estimate.

A

A project might take more than the estimate because the requirements might change, creating further work.

You might have been tempted to propose a lower estimate in order to secure the business.

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

When you organise a project team by subsystem, as in Figure 3, what considerations should you take into account in allocating staff to a subteam? Assume that you are working within a matrix organisation.

A

The primary need is to make sure that each subteam has the skills and knowledge necessary for developing its particular subsystem. The use of a matrix organisation makes this easier.

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

Consider the waterfall model of the software development process as a quality chain. Who are the customers for the design activity and what must be done to gain their satisfaction?

A

There are two sets of customers:

  • the requirements engineers, who will be satisfied if the design implements the requirements determined by them,
  • and the programmers, who require a design that is free of defects and is easy to implement.

Both sets of customers have a view of what a defect is, and require the design to be defect free, from their point of view, to be satisfied.

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

What basic problem does configuration management aim to solve?

A

Configuration management aims to solve the problem of keeping track of all the successive versions each item goes through, as well as the interdependencies between them,

avoiding the possibility that developers will waste effort by working with wrong versions, and ensuring that when the product is released only the correct version of each part is included, so that the product will work properly.

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

Suggest a way risks to a software development project might be identified and categorised.

A

They could be identified by holding a brainstorming session and using some simple categorisation of risk to help focus the search. A suitable categorisation would be:

  • project risks,
  • technical risks and
  • business risks.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A project has identified a number of risks, and is considering the following strategies to contain the risks:

(a) to continue developing in Java, despite learning the next release of the Java development environment is quite different from the current version;

Say what kind of risk containment strategy is being used (from avoidance, retention, reduction and transfer) in each case, and discuss the appropriateness of the strategy.

A

Risk retention: either the current development environment can be retained until the project is complete, or if not, the retraining time can be tolerated.

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

A project has identified a number of risks, and is considering the following strategies to contain the risks:

(b) to put a penalty clause in a software procurement contract so that a failure by the software supplier to deliver acceptable software leads to complete recovery of all payments made, plus an additional damages payment to cover consequential loss;

Say what kind of risk containment strategy is being used (from avoidance, retention, reduction and transfer) in each case, and discuss the appropriateness of the strategy.

A

Risk transfer: the supplier now carries the risk.

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

A project has identified a number of risks, and is considering the following strategies to contain the risks:

(c) to send all software engineers on a UML training course;

Say what kind of risk containment strategy is being used (from avoidance, retention, reduction and transfer) in each case, and discuss the appropriateness of the strategy.

A

Risk reduction: using UML will be less risky if everybody has a common understanding of current best practice in using UML.

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

A project has identified a number of risks, and is considering the following strategies to contain the risks:

(d) to not use Java, because the software engineers have no experience of Java.

Say what kind of risk containment strategy is being used (from avoidance, retention, reduction and transfer) in each case, and discuss the appropriateness of the strategy.

A

Risk avoidance. Note that one could have used risk reduction by training the software engineers on Java. In addition, not using Java could bring its own risks, such as using outmoded technology.

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

A project manager will want to monitor those risks that are of significant concern. Which kinds of risks do you think should be most closely monitored?

A

At the outset of the project the project manager will be most concerned about those risks identified as high probability and high cost. However, the project manager will also need to monitor not only these significant risks, but also those risks which at the outset seem insignificant but whose probability and costs may change as the project develops, in case these risks become significant.

Software development is an extremely dynamic process and situations, especially with regard to risks, can change suddenly.

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

What are the basic ideas underlying function point estimates, and how are these applied to estimation of object-oriented software development?

A

Function points are units of functionality of a system such that each function point requires the same quantity of code to be produced. Functionality is known early in development, during requirements analysis. In object-oriented development, functionality is determined by the use cases and classes, so these are used for estimation purposes.

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

If you have an estimate of the size, in KLOC, of a software system that you intend to develop, why can’t you then simply divide the size in KLOC by a single productivity figure of KLOC written per person-month to obtain the effort?

Kilo-Lines of Code (KLOC)

A

In developing large software systems, two further factors are involved.

  • Complexity: productivity is higher for simple systems such as database systems, and lower for complex systems such as embedded real-time systems.
  • ** Diseconomy of scale**: usually larger systems use proportionately more effort due to the need for internal communication between members of the project team.

Both of these mean that simply dividing by a single productivity figure will not suffice.

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

How do we incorporate our judgement of the potential complexity of a system into the process of estimation using Basic COCOMO?

COnstructive COst MOdel, (COCOMO)

A

Complexity is first of all used to select the actual parameter set to be used, depending upon type of system — organic, semi-detached or embedded. After this, complexity may also be used to determine a number of effort multipliers, which are used to scale the initial estimate of the effort.

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

What is a deliverable and what is its importance for project scheduling?

A

A deliverable is an output, such as a design document or source code, of some software development activity of which the production gives evidence of the completion of the activity.

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

What are the essential attributes of activities that are needed for project scheduling? How can project schedules be expressed?

A

The essential information required is the name of the activity, the effort required to complete the activity, and the dependencies upon other activities.

The usual way to express the results of scheduling is either as a Gantt chart or as a PERT chart.

17
Q

What is meant by ‘resource balancing’?

A

This is the process of juggling the assignment of resources to activities over time so that each resource is used as near as possible to its maximum capacity without being overloaded, and each activity receives the resources that it needs.

18
Q

How does a project manager find out whether a project is on schedule or not?

A

A project manager collects data regularly (for example, each week) for each activity from which they calculate various statistics. These statistics could be on the effort spent, on the estimated effort to complete the activity or on whether the activity has been completed (as evidenced by its deliverables).

19
Q

What is the purpose of monitoring the progress of a project? Describe two ways of monitoring the progress of a project.

A

Monitoring is used to replan and reprioritise to meet new circumstances.

First, on a weekly basis, say, collect data on expenditure against activities and compare it with the budget for the activity.

Second, monitor the completion of work via handover of a deliverable to some other agent.

20
Q

How are technical quality controls added to a project plan?

A

For each deliverable, we identify :

the quality control standards and guidelines to be applied,

and the method of ensuring that they are applied.

21
Q

What is a quality management system (QMS)?

A

A QMS is a mechanism adopted throughout an organisation for building quality into its projects and for managing the quality control process.

22
Q

What would you expect to find in a QMS?

Quality Management System (QMS)

A

A quality manual that describes an organisation’s QMS, including :

  • managerial structure,
  • responsibilities,
  • activities,
  • capabilities and
  • resources.

One sometimes includes the quality plans for projects in the quality manual, to help learn from history.

23
Q

What is the difference between certification and accreditation in connection with ISO 9001?

A

A company must be certified as conforming to the standard by a body that is accredited to carry out the certification.

24
Q

Who is formally responsible for the quality of an organisation’s delivered products (or services), and how is this responsibility discharged within a QMS based on ISO 9001?

Quality Management System (QMS)

A

The senior management, who

make their quality policy known through the

quality manual and

authorise the development of a QMS designed to implement that policy.

25
Q

How does a quality audit relate to a quality plan and a quality management system?

A

The reason for quality audits and their frequency should be specified in the quality plan for a project, in order to conform with the requirements of the quality management system.

26
Q

How could an organisation continuously improve its software development processes and move up CMMI levels?

capability maturity model integration (CMMI).

A

The organisation could :

  • document the way work is performed,
  • train its staff and
  • gather and analyse historical data about its performance.

In new projects, the organisation could measure performance with the aim of improving it.

27
Q

Distinguish between the terms configuration item, version, and variant.

A

A configuration item is any elementary work product produced during a project.

A configuration item will exist in many versions, which are revisions of the original item.

It may also possess a number of variants, which are essentially the same as the original item except that they differ in some well defined part of their description;

variants may themselves exist in many versions.

28
Q

What should happen if two people check out the same version of an item, both people update it, and then attempt to check their updated version back in again?

A

A frequently used project policy is that both check in operations are successful, creating new versions recorded as derived from the same original version, but now on independent paths of development. These could be merged later by invoking the appropriate operation.

29
Q

Explain what a release is, in terms of configurations.

A

A release is a baseline created at the completion of a stage of project, and includes everything that is delivered at the end of that stage, including:

  • executable files,
  • documentation, and
  • possibly regression test cases.
30
Q

How would a change control board influence an emergency change? Why would it want to?

A

Since an emergency change is done before being cleared with the CCB, the only action that the CCB might take is to retrospectively request the change be undone.

All changes, even emergency changes, can have negative consequences. In some circumstances it may be better to live with the problems identified than with the adverse effects introduced by making the change.