Managing risk

The objective of risk management is to avoid or minimize the adverse effects of unforeseen events by avoiding the risks or drawing up contingency plans for dealing with them. There are a number of models for risk management, but most are similar, in that they identify two main components - risk identification and risk management. An example of an often-used model is that in Figure 7.2, which shows a task breakdown structure for what Barry Boehm calls risk engineering. Risk identification...

The basis for software estimating

Nearly all estimating methods need information about how projects have been implemented in the past. However, care needs to be taken in judging the applicability of data to the estimator's own circumstances because of possible differences in environmental factors such as the programming languages used, the software tools available, the standards enforced and the experience of the staff. SLOC has already been used in Table 5.1. R. E. Park has devised a standard for counting source statements...

A prototyping example

Details of the study can be found in Mayhew, P. J., Worseley, C. J. & Dearnley, P. A. 'Control of Software Prototyping Process Change Classification Approach'. Information and Systems Technology 13(2) 59-66 published in 1989. The use of prototyping on the COMET Commercial Estimating System project at the Royal Dockyards was the subject of a study, information about which has been published. The Royal Dockyards had been transferred to a system of 'commercial management7 where they had to...

Managing product delivery

The processes described in 'Executing a Stage' all assume that the work needed to complete a Stage is under the direct control of the Project Manager. Of course, it could be the case that, as described in Chapter 10 on contract management, some of the work is to be carried out by third party suppliers, that is, by an external organization that is not the primary supplier in direct contact with the customer, but a sub-contractor who carries out work on behalf of the supplier. These...

Controlling a stage

Once the Stage has been initiated, the Project Manager should be able to get on with the direction of the Stage without having to organize regular formal meetings with the Project Board. Table A.2 shows the actions that the Project Manager might have to carry out while the Stage is being executed and for which the originators of PRINCE 2 have laid down procedural guidelines. The Project Manager will have to authorize Work Packages (CSl), tasks that have to be carried out to create the products...

Initiating the project

Having completed the Start Up Process, the Project Board can now decide that there are sufficient grounds to go on to more detailed planning. This begins with the consideration of a Project Quality Plan. Despite what some books suggest, quality levels do have cost implications. Different projects will have different quality requirements - faults in a college timetabling system are annoying but do not have the same consequences as the failure of a system controlling the flight of a passenger...

Starting up a project

As we noted in Chapter 3, the decision to undertake a project does not spring out of thin air. Where a customer organization has a coherent strategy, it is likely that there will be a layer of programme management where the 'programme' is a group of projects that are co-ordinated to meet an integrated set of business requirements. The current project could therefore be triggered by the programme managers. In any case, PRINCE 2 envisages that the project cycle will be sparked by some kind of...

Project procedures

Table A. 1 lists the main project management processes for which PRINCE 2 lays down procedures to deal with the various events that the Project Management Team might encounter. The levels of staff who are involved with each of the groups of project management processes in Table A. 1 are indicated in Figure A.2. The general planning process PL is not shown as this can take place at various times and places for different reasons. For example, it could take place during the 'Initiating a project'...

Project Stages

It is sensible to divide large projects into more manageable segments. PRINCE 2 caters for this through the idea of Stages. These are subsets of the project activities and are managed as a sequences of individual units. Normally, the Project Manager will, at any one time, be authorized by the Project Board to execute only the current Stage. The Project Manager will be able to start the next Stage only when the Project Board has met to give its approval for the plans for that Stage. The end of a...

The components of PRINCE

The method does not claim to cover all aspects of project management. It has the following components The following list provides a convenient structure that we will use to explain PRINCE 2 This appendix will not explore the supplementary techniques where the PRINCE 2 manual lays down some basic requirements. We do not describe these areas in detail since there is sufficient material elsewhere in this book. They include Below, we will outline the general approach to planning that PRINCE 2...

Conclusions

In this chapter, we have tried to show how some of the broader issues of software planning that have been covered elsewhere in the book can be related to the kind of task a student might be asked to undertake as a project. On the other hand, a student undertaking a substantial industrial placement might be involved in a project team undertaking a large project and using a method such as PRINCE 2, described in Appendix A, to control the project. Important points to remember include take care...

Introduction

Many of the readers of this book are students who will have to plan their own projects that they will have to carry out as part of their course of studies. In some cases, these will be undertaken for an external client. In other cases, a piece of software, perhaps of an experimental nature, is to be produced where there is no identifiable client, apart from a project tutor. Although the projects that are carried out for 'real' clients are more convincing tests of the student, they are in many...

Further exercises

McCall suggests that simplicity, modularity, instrumentation and self- descriptiveness are software quality criteria, that is, internal characteristics that promote the external quality of testability. (a) Explain what is meant by each of the four criteria above. (b) Describe possible measures for each of the criteria. (c) Describe practical ways in which the measures could be assessed. 2. Discuss how meaningful the following measurements are. (a) The number of error messages produced on the...

Problems with software projects

One way of deciding what ought to be covered in 'software project management' is to consider what problems need to be addressed. Traditionally, management has been seen as the preserve of a distinct class within the organization. As technology has made the tasks undertaken by an organization more sophisticated, many management tasks seem to have become dispersed throughout the organization there are management systems rather than managers. Nevertheless, the successful project will normally have...

The spiral model

It could be argued that this is another way of looking at the basic waterfall model. In the waterfall model, there is a possible escape at the end of any of the activities in the sequence. A feasibility study might decide that the implementation of a proposed system would be beneficial. The management therefore authorize work on the detailed collection and analysis of user requirements. Some analysis, for instance the interviewing of users, might already have taken place at the feasibility...

Working in groups

Having discussed people as individuals, we move on to their place in groups. A key problem with major software projects is that they always involve working in groups, but as we have seen many people attracted to computer development find this difficult. Formal groups can be subdivided into command groups, which are the departmental groupings that are seen on organization hierarchy diagrams and which reflect the formal management structure and task groups set up to deal with specific tasks....

Instruction in the best methods

This is the second concern that we have taken from Taylor. Obviously, there is a difference between loading pig iron (one of Taylor's studies) and writing C programs, but the principle of having established methods and procedures is, we hope, as well understood in software development as in steel-making. When a new member of the team is recruited, the team leader will need to plan that person's induction into the team very carefully. Where a project is already well under way, this might not be...

The Vprocess model

Figure 4.3 gives a diagrammatic representation of this model. This is an elaboration of the waterfall model and stresses the necessity for validation activities that match the activities that create the products of the project. The V-process model can be seen as expanding the testing activity in the waterfall model. Each step has a matching validation process that can, where defects are found, cause a loop back to the corresponding development stage and a reworking of the succeeding steps....

The forward pass

During the forward pass, earliest dates are recorded as they are calculated. For events, they are recorded on the network diagram and for activities they are recorded on the activity table. The forward pass is carried out to calculate the earliest date on which each event may be achieved and the earliest date on which each activity may be started and completed. The earliest date for an event is the earliest date by which all activities upon which it depends can be completed. By convention,...

B BS planning steps

The major BS 6079 planning steps are summarized below obtain project authorization establish project organization. Develop WBS It is suggested that it is useful to produce a cross-reference table showing which activities are the responsibility of which parts of the organization. Analyse project tasks This includes the identification of the task owner of the way that the performance of the task is to be measured, its criticality to the project, its cost elements and any risks. Assign task owner...

Organizational behaviour a background

The roots of studies in OB can be traced back to work done in the late 19th and early 20,h centuries by Frederick Taylor. By studying the way that manual workers did tasks, he attempted to work out the most productive way of doing these tasks. The workers were then trained to do the work in this way. Taylor had three basic objectives to select the best person for the job to instruct such people in the best methods to give incentives in the form of higher wages to the best workers. Taylorism' is...

The basic Euromethod model

An organization is perceived as having a number of information systems. These systems will have some procedures that are carried out by people and other elements that are executed via computer systems. An information system, possibly with its embedded computer system, might need to be changed from time to time and these changes are implemented by means of adaptations. The basis of the idea of an adaptation (as illustrated in Figure C.2) is that an information system - and the knowledge that...

Practical software quality measures

Below are some ways of measuring particular qualities. It is emphasized that the measures are illustrations only and should certainly not be treated as definitive Each project will need to have its own measures devised to meet its own specific needs. The measures described relate to the final software products of a project. availability, the percentage of a particular time interval that a system is usable mean time between failures, the total service time divided by the number of failures...

Reducing the risks

Broadly, there are five strategies for risk reduction. Hazard prevention Some hazards can be prevented from occurring or their likelihood reduced to insignificant levels. The risk of key staff being unavailable for meetings can be minimized by early scheduling, for example. Likelihood reduction Some risks, while they cannot be prevented, can have their likelihoods reduced by prior planning. The risk of late changes to a requirements specification can, for example, be reduced by prototyping....

Additional exercises

Identify primary and secondary effort drivers for the following activities installing computer workstations in a new office transporting assembled personal computers from the factory where they were assembled to warehouses distributed in different parts of the country typing in and checking the correctness of data that is populating a new database system testing a newly written software application. 2. If you were asked as an expert to provide an estimate of the effort needed to make certain...

The objectives of activity planning

Chapter 11 discusses motivation in more detail. This co-ordination will normally form part of Programme Management. In addition to providing project and resource schedules, activity planning aims to achieve a number of other objectives which may be summarized as follows. Feasibility assessment Is the project possible within required timescales and resource constraints It is not until we have constructed a detailed plan that we can forecast a completion date with any reasonable knowledge of its...

Introduction to PRINCE

Large organizations can have a number of software and other projects being executed at the same time. Some of these might use external suppliers of products and services. In such an environment it would be helpful if the procedures by which each project were run were standardized rather than having to be continually re-invented. However, each project will make different demands on management some, for example, might be more technically challenging, or might affect particularly critical areas of...

The nature of risk

For the purpose of identifying and managing those risks that may cause a project to overrun its time-scale or budget, it is convenient to identify three types of risk Figure 7.1 Risk analysis is carried out in Steps 3 and 6. Improved quality control should make it easier to predict the time required for program and system testing. Figure 7.1 Risk analysis is carried out in Steps 3 and 6. those caused by the inherent difficulties of estimation those due to assumptions made during the planning...

Choosing technologies

An outcome of project analysis will be the selection of the most appropriate methodologies and technologies. Methodologies include techniques like the various flavours of object-oriented (OO) development, SSADM and JSP (Jackson Structured Programming) while technologies might include an appropriate application-building environment, or the use of knowledge-based system tools. As well as the products and activities, the chosen technology will influence the following aspects of a project the...

Contract management

Euromethod offers guidance about how decision points can be planned. We now need to consider the communications between the supplier and the customer while the work contracted for is being carried out. It would probably suit all concerned if the contractor could be left to get on with the work undisturbed. However, at certain decision points, the customer needs to examine work already done and make decisions about the future direction of the project. The project will require representatives of...

Product versus process quality management

This model should already be very familiar from the discussion of precedence networks where the dependence of an activity on the completion of one or more preceding activities is taken into account. These requirements should be laid out in installation standards, or a Software Quality Plan can be drawn up for the specific project if it is a major one. The measurements described above can be taken only after the system is operational. It might then be too late to do anything to remedy problems....

Cost monitoring

Expenditure monitoring is an important component of project control. Not only in itself, but also because it provides an indication of the effort that has gone into (or at least been charged to) a project. A project might be on time but only because more money has been spent on activities than originally budgeted. A cumulative expenditure chart such as that shown in Figure 9.9 provides a simple method of comparing actual and planned expenditure. By itself it is not particularly meaningful -...

Project control

Project control in BS 6079 is considered under the three distinct headings of change control, financial control and progress monitoring. Change control BS 6079 recognizes that it is essential to have a formal mechanism to control changes, but while the requirements of such an administrative system are outlined, it does not specify any detailed steps. A major change can call for the planning cycle to be re-executed. Financial control BS 6079 makes more specific references to financial control...

Selecting the right person for the job

Taylor stressed the need for the right person for the job. Many factors, such as the use of software tools and methodologies, affect programming productivity. However, one of the biggest differences in software development performance is among individuals. As early as 1968, a comparison of experienced professional programmers working on the same programming task found a ratio, in one case, of 1 25 between the shortest and longest time to code the program and, more significantly perhaps, of 1 28...

Steps and Execute plan and Lower levels of planning

Once the project is under way, plans will need to be drawn up in greater detail for each activity as it becomes due. Detailed planning of the later stages will have to be delayed because more information will be available nearer the start of the stage. Of course, it is necessary to make provisional plans for the more distant tasks, because thinking about what has to be done can help unearth potential problems, but sight should not be lost of the fact that these plans are provisional. While work...

Step Reviewpublicize plan

Step 8.1 Review quality aspects of the project plan A danger when controlling any project is that an activity can reveal that an earlier activity was not properly completed and needs to be reworked. This, at a stroke, can transform a project that appears to be progressing satisfactorily into one that is badly out of control. It is important to know that when a task is reported as completed, it really is - hence the importance of quality reviews. Each task should have 'exit requirements'. These...

Step Allocate resources

Step 7.1 Identify and allocate resources The type of staff needed for each activity is recorded. The staff available for the project are identified and are provisionally allocated to tasks. Chapter 8 on Resource allocation covers this topic in more detail. Step 7.2 Revise plans and estimates to take into account resource constraints Some staff might be needed for more than one task at the same time and, in this case, an order of priority is established. The decisions made here can have an...

Step Identify activity risks

Step 6.7 Identify and quantify activity-based risks Chapter 7 on Risk touches Risks inherent in the overall nature of the project have already been considered in on this topic in more detail. Step 3. We now want to look at each activity in turn and assess the risks to its successful outcome. The seriousness of each risk and likelihood of it occurring have to be gauged. At individual task level some risks are unavoidable, and the general effect if a problem materializes is to make the task...

Step Estimate effort for each activity

Step 5.1 Carry out bottom-up estimates Some top-down estimates of effort, cost and duration will already have been done (see Step 3.6). Chapter 5 on Software At this point, estimates of the staff effort and other resources required, and the Estimation deals with this probable elapsed time needed for each activity will need to be produced. The topic in more detail. method of arriving at each of these estimates will vary depending on the type of The individual activity estimates of effort should...

Identifying resource requirements

The first step in producing a resource allocation plan is to list the resources that will be required along with the expected level of demand. This will normally be done by considering each activity in turn and identifying the resources required. It is likely, however, that there will also be resources required that are not activity specific but are part of the project's infrastructure (such as the project manager) or required to support other resources (office space, for example, might be...

Organizational structures

While organizational structures can have an enormous impact on the way a project is conducted, it is something that project leaders such as Amanda at IOE can often do little to change. The formal structure is the one that is expressed in the staff hierarchy chart. It is basically concerned with authority, about who has which boss. It is backed by an informal structure of contacts and communication that grows up spontaneously among members of staff during the course of work. When the unexpected...

Creating the framework

Exercising control over a project and ensuring that targets are met is a matter of regular monitoring, finding out what is happening, and comparing it with current targets. If there is a mismatch between the planned outcomes and the actual ones then either replanning is needed to bring the project back on target or the target will have to be revised. Figure 9.1 illustrates a model of the project control cycle and shows how, once the initial project plan has been published, project control is a...

The main steps in this C Acquisition goal definition

Define Software Project Management

Define target domain We have already suggested above that EM has a model where an IS development project is seen as an adaptation or re-engineering of an existing information system (and its embedded computer system where relevant). In the terminology employed by EM, the part of the business process that is to be changed is called the target domain and, as the first task in the acquisition process this needs to be carefully delineated. One outcome of this could be the identification...

Calculating the z values

The z value is calculated for each node that has a target date. It is equivalent to the number of standard deviations between the node's expected and target dates. It is calculated using the formula where te is the expected date and 7 the target date. Exercise 7.7 The z value for event 4 is (10 - 9.00) 0.53 1.8867. Calculate the z values for the other events with target dates in the network shown in Figure 7.4. Converting z values to probabilities A z value may be converted to the probability...

Decisionmaking

Before we can look more closely at the effectiveness with which groups can make decisions we need to look in general terms at the decision-making process. Decisions can be categorized as being structured, generally relatively simple, routine decisions where rules can be applied in a fairly straightforward way unstructured, more complex and often requiring a degree of creativity. Another way of categorizing decisions is by the amount of risk and uncertainty that is involved. Yet another...

Projects and activities

Resource Breakdown Structure

Before we try to identify the activities that make up a project it is worth reviewing what we mean by a project and its activities and adding some assumptions that will be relevant when we start to produce an activity plan. a project is composed of a number of inter-related activities a project may start when at least one of its activities is ready to start a project will be completed when all of the activities it encompasses have been completed an activity must have a clearly defined start and...

Objectives

When you have completed this chapter you will be able to define the scope of 'software project management' distinguish between software and other types of development project understand some problems and concerns of software project managers define the usual stages of a software project explain the main elements of the role of management understand the need for careful planning, monitoring and control identify the stakeholders of a project, their objectives and ways of measuring the success in...

Precedence networks

Activity boxes allow substantial detail to be recorded on a precedence network. Where CPM networks use links to represent activities and nodes to represent events, precedence networks use boxes (nodes) to represent activities (sometimes known as work items) and links to represent dependencies. The boxes may carry task descriptions and duration estimates and the links may contain a duration denoting a lag between the completion of one task and the start of the next. In the notation we use here,...

Conclusion

Some of the key points in this chapter are projects must be evaluated on strategic, technical and economic grounds economic assessment involves the identification of all costs and income over the lifetime of the system, including its development and operation and checking that the total value of benefits exceeds total expenditure money received in the future is worth less than the same amount of money in hand now, which may be invested to earn interest the uncertainty surrounding estimates of...

Step Analyse project characteristics

The general purpose of this part of the planning operation is to ensure that the Chapter 4 elaborates on appropriate methods are used for the project. the process of analysing Step 3.1 Distinguish the project as either objective- or product-driven This has already been discussed in the first chapter. A general point to note is that as system development advances, it tends to become more product-driven, although the underlying objectives always remain and must be respected. Step 3.2 Analyse...

Step Select project

Chapter 3 discusses This is called Step 0 because in a way it is outside the main project planning project evaluation in more process. Projects are not initiated out of thin air - some activity has to take place detail. before deciding that this project rather than another is worth undertaking. This project evaluation may be done on an individual basis or as part of strategic planning. Table 2.1 An outline of Step Wise planning activities 1 Identify project scope and objectives 1.1 Identify...

Content of a project plan

We discuss below what should be in your project planning document. It is suggested that the plans for small projects being done for outside clients should follow this format. Specific course requirements (for example, learning objectives) are not covered. In the introduction to any document, it is always a good idea to explain briefly what the document is and why it has been produced. The introduction to the project plan should also include identity of client - that is, the organization or...

A Prince project organization

PRINCE identifies roles rather than jobs. Depending on the circumstances, a role could, in fact be carried out by more that one person, or a single person could assume more than one role. PRINCE 2 is based on the perception that the project will involve users of the products of the project, on the one hand, and suppliers of goods and services needed by the project on the other. While the users and suppliers could in fact Note that we have followed the convention of indicating specific PRINCE 2...

Evaluating risks to the schedule

We have seen that not all risks can be eliminated - even those that are classified as avoidable or manageable can, in the event, still cause problems affecting activity durations. By identifying and categorizing those risks, and in particular, their likely effects on the duration of planned activities, we can assess what impact they are likely to have on our activity plan. We will now take a look at two methods for assessing the effects of these uncertainties on the project schedule. Using PERT...

The place of software quality in project planning

Quality will be of concern at all stages of project planning and execution, but will be of particular interest at the following points in the Step Wise framework (Figure I2.l). Figure 12.1 The place of software quality in Step Wise. Figure 12.1 The place of software quality in Step Wise. Step 2 Identify project infrastructure Within this step, activity 2.2 identifies installation standards and procedures. Some of these will almost certainly be about quality. Step 3 Analyse project...

Identifying critical activities

The critical path identifies those activities which are critical to the end date of the project however, activities that are not on the critical path may become critical. As the project proceeds, activities will invariably use up some of their float and this will require a periodic recalculation of the network. As soon as the activities along a particular path use up their total float then that path will become a critical path and a number of hitherto non-critical activities will suddenly...

Activities covered by software project management

Activities Software

A software project is concerned not only with the actual writing of software. In fact, where a software application is bought in 'off-the-shelf', there might be no software writing as such. This is still fundamentally a software project because so many of the other elements associated with this type of project are present. Usually, there are three successive processes that bring a new system into being l. The feasibility study This is an investigation to decide whether a prospective project is...

Understanding behaviour

People with practical experience of working on projects invariably identify the handling of people as one of the most important aspects of project management. What people like Amanda and Brigette will want to know is whether the effective and sensitive management of staff comes only from experience or whether guidance can be usefully sought from writers on the topic. The field of social science known as organizational behaviour (OB) helps. This has evolved theories that try to explain people's...

The project as a system

A project is concerned with creating a new system and or transforming an old one and is itself a system. Systems, subsystems and environments A simple definition of the term system is 'a set of interrelated parts'. A system will normally be part of a larger system and will itself comprise subsystems. Outside the system there will be the system's environment. This will be made up of things that can affect the system but over which the system has no direct control. In the case of Brightmouth...

Risk identification

The first stage in any risk assessment exercise is to identify the hazards that might affect the duration or resource costs of the project. A hazard is an event that might occur and will, if it does occur, create a problem for the successful completion of the project. In identifying and analysing risks, we can usefully distinguish between the cause (or hazard), its immediate effect (the problem that it creates) and the risk that it will pose to the project. For example, the iilness of a team...

Software Project Management Second Edition

School of Information Management, University of Brighton London Burr Ridge, IL New York St Louis San Francisco Auckland Bogot Caracas Lisbon Madrid Mexico Milan Montreal New Delhi Panama Paris San Juan Sao Paulo Singapore Tokyo Toronto Shoppenhangers Road, Maidenhead, Berkshire, sl6 2ql, England Web site http www.mcgraw-hill.co.uk British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library Library of Congress cataloguing in publication...

Other ways of categorizing prototypes

The most important reason for having a prototype is that there is a need to learn about an area of uncertainty. For any prototype it is essential that the project managers define at the outset what it is intended to learn from the prototype. This has a particular relevance to student projects. Students often realize that the software that they are to write as part of their project could not safely be used by real users. They therefore call the software a 'prototype'. However, if it is a real...

External standards

The British standard for Quality Management systems was previously called BS 5750. Remember that these standards were originally designed for all kinds of production - not just software development. At IOE, a decision might have been made to use an outside contractor to produce the maintenance group accounts subsystem rather than develop the software in-house. As a client using the services of an outside contractor, IOE would be concerned that the contractor is following the best quality...

Network planning models

CPM was developed by the Du Pont Chemical Company who published the method in 1958, claiming that it had saved them 1 million in its first year of use. These project scheduling techniques model the project's activities and their relationships as a network. In the network, time flows from left to right. These techniques were originally developed in the 1950s - the two best known being CPM (Critical Path Method) and PERT (Program Evaluation Review Technique). More recently a variation on these...

Problems with over and underestimates

Parkinson's law was originally expounded in C. Northcote Parkinson's tongue-in-cheek book Parkinson's Law, John Murray, 1957. A project leader such as Amanda will need to be aware that the estimate itself, if known to the development team, will influence the time required to implement the system. An over-estimate might cause the project to take longer than it would otherwise. This can be explained by the application of two 'laws'. Parkinson's Law 'Work expands to fill the time available', which...

Stepwise Project In Software Project Management1

1 Introduction to software project management 1 1.3 Software projects versus other types of project 3 1.4 Activities covered by software project management 3 1.5 Some ways of categorizing software projects 6 1.6 The project as a system 7 1.8 Problems with software projects 9 1.11 Requirement specification 14 1.12 Information and control in organizations 15 2 Step Wise an overview of project planning 19 2.1 Introduction to Step Wise project planning 19 2.2 Step 0 Select project 20 2.3 Step 1...

Selecting the most appropriate process model

See Appendixes C and D for overviews of Euromethod and ISO 12207, both of which offer advice on process model selection. Both Euromethod and ISO 12207 provide advice on this. Euromethod distinguishes between the construction of an application and its installation. It is possible to use different approaches for these two stages. For example, an application could be constructed using a one-shot strategy but then be released to its users in increments. The only combinations of construction and...

Incremental delivery

This is similar to the 'incremental prototyping' approach mentioned above. One Principles of Software of the most prominent advocates of this approach is Tom Gilb. The approach Engineering Management involves breaking the system down into small components which are then by Tom Gilb, published by implemented and delivered in sequence. Each component that is delivered must Addison-Wesley in 1988, actually give some benefit to the user. Figure 4.5 gives a general idea of the argues strongly in...

Cash flow forecasting

As important as estimating the overall costs and benefits of a project is the forecasting of the cash flows that will take place and their timing. A cash flow forecast will indicate when expenditure and income will take place (Figure 3.2). Figure 3.2 Typical product Ufe cycle cash flow. Typically products generate a negative cash flow during their development followed by a positive cash flow over their operating life. There might be decommissioning costs at the end of a product's life Figure...

The aims of Euromethod

Euromethod (EM) has been around in draft form for some time as Version 0, but in July 1996 was officially released as Version l. There were originally some misconceptions about what EM was, including that it was some kind of new analysis and design 'supermethod' that subsumed all the existing, well-loved, approaches such as SSADM, Information Engineering, Merise, SDM and so on. In fact, the problem that EM tries to tackle is that, within a unified European market, the existence of local...

Step Identify project products and activities

Project Design Flow Diagram

The more detailed planning of the individual activities that will be needed now takes place. The longer term planning is broad and in outline, while the more immediate tasks are planned in some detail. Step 4.1 Identify and describe project products (or deliverables) In general there can be no project products that do not have activities that create them. Wherever possible, we ought also to ensure the reverse that there are no activities that do not produce a tangible product. Making sure we...

Risk analysis

Having identified the risks that might affect our project we need some way of assessing their importance. Some risks will be relatively unimportant (for example, the risk that some of the documentation is delivered a day late), whereas some will be of major significance (such as the risk that the software is delivered late). Some are quite likely to occur (it is quite likely, for example, that one of the software developers in a team will take a few days sick leave during a lengthy project),...

Representing lagged activities

We might come across situations where we wished to undertake two activities in parallel so long as there is a lag between the two. We might wish to document amendments to a program as it was being tested - particularly if evaluating a prototype. In such a case we could designate an activity 'test and document amendments'. This would, however, make it impossible to show amendment recording starting after testing had begun and finishing a little after the completion of testing. Where activities...

Using dummy activities

When two paths within a network have a common event although they are, in other respects independent, a logical error such as that illustrated in Figure 6.13 might occur. Suppose that, in a particular project, it is necessary to specify a certain piece of hardware before placing an order for it and before coding the software. Before coding the software it is also necessary to specify the appropriate data structures, although clearly we do not need to wait for this to be done before the hardware...

Information and control in organizations

Hierarchical information and control systems With small projects, the project leaders are likely to be working very closely with the other team members and might even be carrying out many non-managerial tasks themselves. Therefore they should have a pretty good idea of what is going on. When projects are larger, many separate teams will be working on different aspects of the project and the overall managers of the project are not going to have day-to-day direct contact with all aspects of the...

Project Management Bodies of Knowledge

The standards and guidelines we have looked at in the preceding appendixes have, to a greater or lesser extent, concentrated on procedure - the actions to be taken in specified circumstances. As we have noted before, one way of looking at the software development process is as an information system in its own right processes take information from various sources, then manipulate and process it to create new information products that are used by other processes. It is clearly in the interests of...

Preface to the second edition

Since the first edition of Software Project Management, the perception of the importance of project management and consequently its development as a discipline has continued to grow. In the UK, for example, we have seen the publication of the British Standards Institution guidelines on project management (BS 6079) and a revised and improved version of the PRINCE standard. The British Computer Society professional examinations now include a paper on project management. The Association for...

Software effort estimation techniques

Barry Boehm, in his classic work on software effort models, identified the main ways of deriving estimates of software development effort as algorithmic models - which use 'effort drivers' representing characteristics of the target system and the implementation environment to predict effort expert judgement - where the advice of knowledgeable staff is solicited analogy - where a similar, completed, project is identified and its actual effort is used as a basis for the new project Parkinson -...

Step Identify project infrastructure

Projects are rarely initiated in a vacuum. There is usually some kind of existing infrastructure into which the project can fit. The project leader who does not already know about this structure needs to find out its precise nature. Some of the issues of strategic planning are addressed in Chapter 3. Step 2.1 Identify relationship between the project and strategic planning As well as identifying projects to be carried out, an organization needs to decide the order in which these projects are to...

Software projects versus other types of project

Many of the techniques of general project management are applicable to software project management, but Fred Brooks pointed out that the products of software projects have certain characteristics that make them different. One way of perceiving software project management is as the process of making visible that which is invisible. Invisibility When a physical artefact such as a bridge or road is being constructed the progress being made can actually be seen. With software, progress is not...

Managing stage boundaries

A key PRINCE 2 principle is to avoid too detailed planning at too early a stage. At the beginning of the project, for instance, the overall Project Plan is produced, but the more detailed Stage Plan is only produced for the first Stage. Towards the end of a Stage, the detailed plan for the next Stage can be mapped out as a clearer idea of the project requirements emerges (SB l). The creation of the Stage Plan for the next Stage could show up inadequacies in the overall Project Plan, which might...

Typical terms of a contract

In a textbook such as this, it is not possible to describe all the necessary content of contracts for IT goods or services. It is possible, however to outline some of the major areas of concern. The terminology used in the contract document may need to be defined, for example, who is meant by the words 'client' and 'supplier'. For example, is it a contact of sale, a lease, or a licence Also, can the subject of the contract, such as a licence to use a software application, be transferred to...

Formulating a network model

The first stage in creating a network model is to represent the activities and their interrelationships as a graph. In CPM we do this by representing activities as links (arrowed lines) in the graph - the nodes (circles) representing the events of activities starting and finishing. In Chapter 2 we saw how Amanda used her Product Breakdown to obtain an activity network. Figure 6.7 shows the fragment of her network that was discussed in that chapter and Figure 6.8 shows how this network would...

Risk evaluation

Pmp Decision Tree

There is a risk that software might exceed the original specification and that a project will be completed early and under budget. That is not a risk that need concern us. Every project involves risk of some form. When assessing and planning a project, we are concerned with the risk of the project's not meeting its objectives. In Chapter 8 we shall discuss ways of analysing and minimizing risk during the development of a software system. In this chapter, we are concerned with taking risk into...

Costbenefit evaluation techniques

We would consider proceeding with a project only where the benefits outweigh the costs. However, in order to choose among projects, we need to take into account the timing of the costs and benefits as well as the benefits relative to the size of the investment. Consider the project cash flow estimates for four projects at IOE shown in Exercise 3.2 Table 3.2. Negative values represent expenditure and positive values income. Rank the four projects in order of financial desirability and make a...

Estimating by analogy

The use of analogy is also called case-based reasoning. The estimator seeks out projects that have been completed source cases and that have similar characteristics to the new project the target case . The effort that has been recorded for the matching source case can then be used as a base estimate for the target. The estimator should then try to identify any differences between the target and the source and make adjustments to the base estimate for the new project. This might be a good...

Abbreviation For Ioe In Software Project Management

One definition of a successful project is that the system is delivered 'on time and within budget and with the required quality', which implies that targets are set and the project leader then tries to meet those targets. This assumes that the targets are reasonable - the possibility of a project leaders achieving record levels of productivity from the team, but still not meeting a deadline because of incorrect initial estimates is not recognized. Realistic estimates are therefore crucial to...

Albrecht function point analysis

This is a top-down method that was devised by Allan Albrecht when he worked for IBM. Albrecht was investigating programming productivity and needed some way to quantify the functional size of programs independently of the programming languages in which they had been coded. He developed the idea of function points FPs . The basis of function point analysis is that computer-based information systems comprise five major components, or external user types in Albrecht's terminology, that are of...

Adaptation planning

An acquisition process as described above could involve several individual adaptations that might take place in sequence - see Figure C.3 above - or in parallel. For each of these adaptations, an adaptation plan will need to be formulated. The way in which this is built up follows a characteristic EM risk-driven approach. Figure C.7 provides an outline of adaptation planning. Each of the steps in that outline will now be examined in turn. As an example, let us take a relatively small...

A procedural codeoriented approach

The previous approach would be useful at the design stage of a project and where a procedural programming language is not the primary vehicle for development. However how could you estimate the effort to develop an individual software module using a procedural language An approach might be based on the following steps. 1. Envisage the number and type of programs in the final system This is easiest where the system is of a conventional and well understood nature. Most information systems are...

Collecting the data

As a rule, managers will try to break down long activities into more controllable tasks of one or two weeks duration. However, it will still be necessary to gather information about partially completed activities and, in particular, forecasts of how much work is left to be completed. It can be difficult to make such forecasts accurately. A software developer working on Amanda's project has written the first 250 lines Exercise 9.1 of a Cobol program that is estimated to require 500 lines of...

Earned Value

Earned Value Basic Components

Earned Value Analysis, also known as Budgeted Cost of Work Performed, is recommended by a number of agencies including the US and Australian departments of defence. It is also recommended in BS 6079. Earned Value Analysis has gained in popularity in recent years and may be seen as a refinement of the cost monitoring discussed in the previous section. Earned Value Analysis is based on assigning a 'value' to each task or work package as identified in the WBS based on the original expenditure...

The backward pass

The second stage is to carry out a backward pass to calculate the latest date at which each event may be achieved, and each activity started and finished, without delaying the end date of the project. The latest date for an event is the latest date by which all immediately following activities must be started for the project to be completed on time. In calculating the latest dates, we assume that the latest finish date for the project is the same as the earliest finish date - that is, we wish...

Scheduling resources

Having produced the resource requirements list, the next stage is to map this onto the activity plan to assess the distribution of resources required over the duration of the project. This is best done by representing the activity plan as a bar chart and using this to produce a resource histogram for each resource. Figure 8.3 illustrates Amanda's activity plan as a bar chart and a resource histogram for analyst-designers. Each activity has been scheduled to start at its earliest start date - a...

ISO an overview

Iso12207 Main Figure

Both PRINCE 2 and BS 6079 originated in the United Kingdom and are designed for any type of project. ISO 12207, differs from these in that, firstly, it is international in standing and secondly that it relates specifically to software development. Broadly speaking, ISO 12207 has as the prime areas of its concern the documentation or 'software life cycle data' as it calls it created and used by a software development project and the processes that, during development, will use and update...

Techniques to help enhance software quality

Gerald Weinberg, The Psychology of Computer Programming, Van Nostrand Reinhold, 1971. The creation of an early working model of a system might still be useful as the creation of prototypes shows. So far in this chapter we have looked at the steps a customer might take to ensure the quality of software produced by an outside supplier. We now need to look at what techniques a project team might wish to employ to help them improve their own software development processes. Three main themes emerge....

Costbenefit analysis

Any project requiring an investment must, as a minimum, provide a greater benefit than putting that investment in, say, a bank. The most common way of carrying out an economic assessment of a proposed information system, or other development, is by comparing the expected costs of development and operation of the system with the benefits of having it in place. Assessment is based upon the question of whether the estimated costs are exceeded by the estimated income and other benefits....

Management control

Software Project Control

Management, in general, can be seen as the process of setting objectives for a system and then monitoring the system to see what its true performance is. In Figure 1.2 the 'real world' is shown as being rather formless. Especially in the case of large undertakings, there will be a lot going on about which management should be aware. As an example, take an IT project that is to replace locally held paper-based records with a centrally-organized database. It might be that staff in a large number...

Getting the project back to target

A contingency plan should, of course, already exist as a result of the risk analysis methods described in Chapter 7. The schedule is not sacrosanct - it is a plan that should be adhered to so long as it is relevant and cost-effective. Almost any project will, at one time or another, be subject to delays and unexpected events. One of the tasks of the project manager is to recognize when this is happening or, if possible, about to happen and, with the minimum delay and disruption to the project...

Leadership

When Amanda and Brigette first took on project management responsibilities, one of their private anxieties was a fear that they would not have enough personal authority - that staff would not take them seriously. Leadership is generally taken to mean the ability to influence others in a group to act in a particular way in order to achieve group goals. A leader is not necessarily a good manager or vice versa, because managers have other roles to play, such as those of organizing, planning and...