Structured programming and cleanroom software development

One of the people most closely associated with the origins of structured programming is Dijkstra. In the late 1960s, software was seen to be getting more complex while the capacity of the human mind to hold detail remained limited. It was also realized that it was impossible to test any substantial piece of software completely - there were just too many possible combinations of inputs. The most that testing could do was prove the presence of errors, not their absence. It was suggested by...

COCOMO a parametric model

Boehm's COCOMO (Constructive COst MOdel) is often referred to in the literature on software project management, particularly in connection with software estimating. The term COCOMO really refers to a group of models. Boehm originally based his models in the late 1970s on a study of 63 projects. Of these only seven were business systems and so they could be used with applications other than information systems. The basic model was built around the equation Because there is now a newer COCOMO II....

Where are estimates done

Estimates are carried out at various stages of a software project. At each stage, the reasons for the estimate and the methods used will vary. Strategic planning The costs of computerizing potential applications as well as Chapter 3 discusses the benefits of doing so might need to be estimated to help decide what priority to strategic planning in some give to each project. Such estimates might also influence the numbers of various detail, types of development staff to be recruited by the...

Working in groups

Hav ing discussed people as indiv iduals, 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 w ith specific tasks....

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 prrxluct life cycle cash flow. We need to spend money, such as staff wages, during the development stages of a project. Such expenditure cannot be deferred until income is received (either from using the software if it is being developed...

Some mental obstacles to good decision making

In this book we have rightly stressed a structured, rational, approach to decision making. Many management decisions in the real world, however, made under pressure and based on incomplete information, are largely intuitive. We have to accept the role of intuition but must be aware that there are some mental obstacles to effective intuitive thinking, for example Faulty heuristics Heuristics mean rules of thumb. Rules of thumb can be useful but there are dangers they are based only on the...

Further exercises

Draw an activity network using either CPM or precedence network conventions for each of the following projects choosing and purchasing a desktop computer organizing and carrying out a survey of users* opinions of an information system. 2. If you have access to a project planning application, use it to produce a project plan for the IOE maintenance group accounts project. Base your plan on that used for Exercise 6.6 and verify that your application reports the same information as you calculated...

Shortening the project duration

If wc wish to shorten the overall duration of a project we would normally consider attempting to reduce activity durations. In many cases this can he done by applying more resources to the task - working overtime or procuring additional staff, for example. The critical path indicates where we must look to save time -if we are trying to bring forward the end date of the project, there is clearly no point in attempting to shorten non-critical activities. Referring to Figure 6.20 it can be seen...

The planning process

According to BS 6079, a plan should have five main elements The terms 'work breakdown structure' and 'statement of work* (SOW) will be explained later in this section. One of the major differences between BS 6079 and PRINCE 2 is that while PRINCE 2 advocates a product-driven approach to planning, where the products the project has to create arc initially identified. BS 6079 uses an activity-based approach, featuring a work breakdown structure (WBS), right from the beginning. The standard does...

Of types of power

Some expert power is involved here, but for those who are subject to the audit, the main type of power is connection power as the auditor will produce a report that will go to higher management. External auditors often have coercive power. ii. Here, power will mainly be expert- and information-based but as the consultant will report to higher management, connection power also exists. iii. This sounds pretty coercive. iv. Brigette has some connection power. The technical expertise that is...

Cost schedules

It is now time to produce a detailed cost schedule showing weekly or monthly costs over the life of the project. This will provide a more detailed and accurate estimate of costs and will serve as a plan against which project progress can be monitored. Calculating cost is straightforward where the organization has standard cost figures for staff and other resources. Where this is not the case, then the project manager will have to calculate the costs. In general, costs are categorized as...

Publishing the resource schedule

In allocating and scheduling resources we have used the activity plan (a precedence network in the case of the examples in this chapter), activity bar charts and resource histograms. Although good as planning tools, they are not the best way of publishing and communicating project schedules, For this we need some form of work plan. Work plans are commonly published either as lists or charts such as that illustrated in Figure 8.7. In this case Amanda has chosen not to include activity floats...

Creating critical paths

Scheduling resources can create new critical paths. Delaying the start of an activity because of lack of resources will cause that activity to become critical if this uses up its float. Furthermore, a delay in completing one activity can delay the availability of a resource required for a later activity. If the later one is already critical then the earlier one might now have been made critical by linking their resources. Amanda's revised schedule, which still calls for four analyst-designers...

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...

The topdown approach and parametric models

The top-down approach is normally associated with parametric (or algorithmic) models. These may be explained using the analogy of estimating the cost of rebuilding a house. This would be of practical concern to a house-owner who needs sufficient insurance cover to allow for rebuilding the property if it were destroyed. Unless the house-owner happens to be in the building trade it is unlikely that he or she would be able to work out how many bricklayer-hours, how many carpenter-hours,...

Bottomup estimating

Estimating methods can be generally divided into bottom-up and top-down approaches. With the bottom-up approach, the estimator breaks the project into its component tasks and then estimates how much effort will be required to carry out each task. With a large project, the process of breaking down into tasks would be a repetitive one each task would be analysed into its component sub-tasks and these in turn would be further analysed. This is repeated until you get to components that can be...

Becoming a team

Simply throw ing people together does not mean that they w ill immediately be able to work together as a team. Group feelings develop over a period of time. One suggestion is that teams go through five basic stages of development This classification is associated with B. W. Tuckman and M. A. Jensen. R. Meredith Belbin Management Teams Why They Succeed or Fail. Heinemann, 1981, contains a self-assessment questionnaire that can help identify to which role a person is best suited. In Team roles at...

Methods of improving motivation

Setting specific goals These goals need to he demanding and yel acceptable to staff. Involving staff in the setting of goals helps to gain acceptance for them. Providing feedback Not only do goals have to be set but staff have to have regular feedback about how they are progressing. Job design Jobs can be altered to make them more interesting and give staff more feeling of responsibility. Two measures are often used to enhance job design - job enlargement and job Job enlargement The scope of...

Evaluation of proposals

This needs to be done in a methodical and planned manner. We have already mentioned the need to produce an evaluation plan, which will describe how each proposal will be checked to see if it meets each requirement. This reduces risks of requirements being missed and ensures that all proposals are treated consistently. Otherwise, there is a risk that a proposal might be unfairly favoured because of the presence of a feature that was not requested in the original requirement. It will be recalled...

What is a project

Dictionary definitkxis of project' indude A specific plan or design' A planned undertaking' A large undertaking for example, a public works scheme' Longman Conctse English Dictionary, 1982. The dictionary definitions put a clear emphasis on the project's being a planned activity. Another key aspect of a project is that the undertaking is non-routine a job which is repeated a number of times is not a project. There is a hazy boundary in between. The first time you do a routine task it will be...

Risk evaluation

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 w ith taking risk into...

Identifying critical activities

The critical path identifies those activities w hich are critical to the end date of the project however, activities that arc not on the critical path may become critical. As the project proceeds, activities w ill 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...

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 show ing which activities are the responsibility of which parts of the organization. Analyse project tasks This includes the identification of the task ow ner 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...

Introduction

One definition of a successful project is that the system is delivered on time and within budget and w ith 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...

Activity float

Whereas events have slack, activities posses float. The total float shown in Table 6.4 is the difference between the earliest start date of an activity and its latest start (or the difference between its earliest finish and its latest finish). It tells us by how long the activity's start or completion may be delayed without affecting the end date of the project. Table 6.4 The activity schedule showing total float for each activity Table 6.4 The activity schedule showing total float for each...

Chapter

I lists costs and benefits for the proposed Brightmouth HE College payroll system. It is not comprehensive but illustrates some of the types of items that you should have listed. Costs and benefits for the Brightmouth College payroll system Development costs software purchase - software cost plus selection and purchasing cost project team employment costs Setup costs training include costs of trainers and operational staff time lost while training staff recruitment computer hardware...

Step Identify project scope and objectives

The activities in this step ensure that all the parties to the project agree on the objectives and are committed to the success of the project. A danger to be avoided is overlooking people who are affected by the project. Step 1.1 Identify objectives and practical measures of the effectiveness in meeting those objectives We discussed earlier the need for agreed objectives for a project and ways of measuring the success in achieving those objectives. The project objectives for the Brightmouth...

Software Project Management Second Edition

School of Information Mananement, University of Br hton Isondon Burr Ridge. IL New York St Louis San Francisco Auckland Bogota Caracas Lisbon Madrid Mexico Milan Montreal New Delhi Panama Paris San Juan Sio Paulo Singapore Tokyo Toronto Shoppenhangurs 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...

Function points Mark II

This method has came into the public domain with the publication of the book by Charles R. Symons Software Sizing and Estimating - Mark IIFPA John Wiley and Sons, 1991. The Mark II method has been recommended by the CCTA (Central Computer and Telecommunications Agency), which lays down standards for UK government projects. At one time this Mark II approach seemed to be a good method to use with SSADM but some difficulties are now apparent. The 'Mark IV label implies an improvement and...

Analyse other project characteristics

The sorts of question that would need to be asked include the follow ing. Is a data orientated or a control orientated system to be implemented Data orientated' systems generally mean information systems that will have a considerable database. 4Control orientated' systems refer to embedded control systems. These days it is not uncommon to have systems w ith components of both types. Will the software that is to be produced be a general package or application specific An example of a general...

Select general life cycle approach

Control systems A real-time system will have to be implemented using an appropriate methodology, for example. Mascot. Real-time systems that employ concurrent processing will use techniques such as Petri nets. The implications of prototyping and the incremental approach are explored later in the chapter. Information systems Similarly, an information system will need a methodology, such as SSADM or Information Engineering, that matches that type of environment. SSADM will be especially...

Risk reporting

One popular way of overcoming the objections to partial completion reporting is to avoid asking for estimated completion dates, but to ask instead for the team members' estimates of the likelihood of meeting the planned target date. One way of doing this is the traffic-light method. This consists of the follow ing steps identify the key (first level) elements for assessment in a piece of work break these key elements into constituent elements (second level) assess each of the second level...

Calculating the z values

The c 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 w here , is the expected date and T the target date. Exercise 7.7 The c value for event 4 is (10 - 9.00) 0.53 1.8867. Calculate the c values for the other events with target dates in the network show n in Figure 7.4. Converting z values to probabilities A z value may he converted to the probability...

Si ii i i i

Figure 8.3 Part of Amanita ' bar chart and resource histogram for analyst-designers. project. The ideal resource histogram will be smooth w ith, perhaps an initial buildup and a staged run-down. An additional problem with an uneven resource histogram is that it is more likely to call for levels of resource beyond those available. Figure 8.4 illustrates how, by adjusting the start date of some activities and splitting others, a resource histogram can. subject to constraints such as precedence...

Incremental delivery Plan increments

Having defined the overall objectives, the next stage is to plan the increments using the following guidelines steps typically should consist ofto 5** of the total project non-computer steps may be included - but these must deliver benefits directly to the users ideally, an increment should take one month or less and should never take more than three months each increment should deliver some benefit to the user some increments will be physically dependent on others value-to-cost ratios may be...

Cost monitoring

Hxpenditure 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 -...

Software quality circles

Much interest has been shown in Japanese software quality practices. The aim of the 'Japanese' approach is to examine and modify the activities in the development process in order to reduce the number of errors that they have in their end products. Testing and l agan inspections can assist the removal of errors - but the same types of error generally occur again and again in successive products created by a specific type of process. By uncovering the source of errors, this repetition can be...

A procedural codeoriented approach

The prev ious approach would be useful at the design stage of a project and w here 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. . 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...

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 supply process

This process mirrors the acquisition process, but documents the activities that a supplier would need to undertake in response to the request of a supplier. Figure D.2 outlines the main activities involved. There will be occasions where the sequence of activities is not that shown and yet other occasions when some of the activities will have to be iterated a number of times. Initiation The process is started w hen a potential supplier receives an RFP from an acquirer and the supplier decides to...

Leadership styles

We have already suggested that Amanda and Brigette were initially concerned about establishing their personal authority. Balanced against this is the need to involve the staff in some of the decision making in order to make the best use of expertise and to gain commitment. Amanda and Brigette w ill need to judge w hen they must be authoritative and insist on things and when they must be more flexible and tolerant. Amanda, for example, might decide to be very democratic when formulating plans,...

Quality and testing

Humphrey, Watts S., Managing the software process, repr. 1990 w ith corrections. SEI scries in software engineering, Reading. Mass Addison-Wesley. 1990. Manns, Tom, and Michael Coleman, Software Quality Assurance, 2nd edn, Macmillan, 19 . Manns, Tom, and Michael Coleman, Software quality assurance, Macmillan computer science series, Houndmills, Basingstoke, Port Washington, NY., Macmillan Education distributed by Scholium International. 1988. Daily, K Quality management for software....

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 12.1). 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 identities installation standards and procedures. Some of these will almost certainly be about quality. Step 3 Analyse project...

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 carry ing 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 w ith 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....

Visualizing progress

Having collected data about project progress, a manager needs some way of presenting that data to greatest effect. In this section, we look at some methods of presenting a picture of the project and its future. Some of these methods (such as Gantt charts) provide a static picture, a single snap-shot, whereas others (such as time-line charts) try to show how the project has progressed and changed through time. One of the simplest and oldest techniques for tracking project progress is the Gantt...

Identifying resource requirements

The first step in producing a resource allocation plan is to list the resources that w ill be required along with the expected level of demand. This w ill 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...

Effort c x size

Where effort is measured in pm or the number of 'person-months' consisting of units of 152 w orking hours, size is measured in kdsif thousands of delivered source code instructions, and c and k are constants. The first step was to derive an estimate of the system size in terms of kdsi. The constants, c and k (sec Table 5.10), depended on whether the system could be classified, in Boehm's terms, as 'organic', 'semi-detached' or 'embedded'. These related to the technical nature of the system and...

Creating the framework

Exercising control over a project and ensuring that targets are met is a matter of regular monitoring, finding out w hat is happening, and comparing it w ith 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...

Measure of work

SLOC has already been used in Tabte 5.1. R. E. Park has devised a standard for counting source statements that has been widely adopted-see Software sue measurement a framework for counting source statements. Software Engineering Institute. 1992. It is normally not possible to calculate directly the actual cost or time required to implement a project. The time taken to write a program might vary according to the competence or experience of the programmer. Implementation times might also vary...

Ball charts

A somewhat more striking way of showing w hether or not targets have been met is to use a ball chart as in Figure 9.7. In this version of the ball chart, the circles indicate start and completion points for activities. The circles initially contain the original scheduled dales. Whenever revisions are produced these arc added as second dates in the appropriate circle until an activity is actually started or Figure 9.6 The slip chart emphasizes the relative position of each activity. Figure 9.6...

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 w ill 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 ,...

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 m Chapter 3. Step 2. 7 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...

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...

Function point counting Fixed price per unit delivered contracts

Was discussed in This is often associated w ith function point I-P counting. The size of the system Chapter 5. to be delivered is calculated or estimated at the outset of the project. The size of the system to be delivered might be estimated in lines of code, but FPs can be more easily and reliably derived from requirements documents. A price per unit is also quoted. The final price is then the unit price multiplied by the number of units. Table 10.1 shows a typical schedule of prices. Table...

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 w ritten the first 250 lines Exercise 9.1 of a Cobol program that is estimated to require 500 lines of...

Problems with over and underestimates

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 otherw ise. This can be explained by the application of two laws . Parkinson's Law 'Work expands to fill the time available9, which implies that given an easy target staff will work less hard. Brooks' Law The effort required to implement a project will go...

Step Analyse project characteristics

Project Management Step Step Slides

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. 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 other...

Evaluating risks to the schedule

Forward Pass Project Management

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 activ ity plan. We will now take a look at two methods for assessing the effects of these uncertainties on the project schedule. Using...

Identifying activities

Oou Course Outlines

Essentially there are three approaches to identifying the activities or tasks that make up a project - we shall call them the activity-based approach, the product-based approach and the hybrid approach. The activity-based approach The activity-based approach consists of creating a list of all the activities that the project is thought to involve. This might involve a brainstorming session involving the whole project team or it might stem from an analysis of similar past projects. When listing...

The Taylorist model

Taylor's viewpoint is reflected in the use of piece-rates in manufacturing industries and sales bonuses amongst sales forces. A problem that project leaders must be aware of is that piece-rates often cause difficulties if a new system is going to change work practices. If new technology is going to improve productiv ity, the question of adjusting piece-rates dow nwards to reflect this will be a sensitive issue. Piece-rates are where workers are paid a fixed sum for each item they produce....

Calculation of Estimated lines of Cobol x SLOC from Albrecht function points

5.7 Mark II function The function types are points Unadjusted function points 0.58 x 6 1.66 x I 0.26 x I 5.4. 5.8 SLOC estimate Figure F.5 gives an outline program structure. The numbers in circles are our for customer estimates of the lines of Cobol code needed to implement each subprocess in the insertion program program. They should add up to 95 SLOC. Note that these do not include data Figure Fi Out lint9 program structure for 'set up customer transaction. Table F.6 shows a comparison of...

The Oldham Hackman job characteristics model

Managers should try to group together the elements of the tasks that need to be carried out so that they form meaningful and satisfying assignments. Oldham and Hackman suggest that the satisfaction that a job gives is based on five factors. The first three factors make the job 'meaningful' to the person who is doing it skill variety, the number of different skills that the job holder has the opportunity to exercise task identity, the degree to which your work and its results are identifiable as...

The expectancy theory of motivation

Amanda and Brigette will need to be aware of how the day-to-day ups and downs of system development affect motivation. A model of motivation developed by Vroom and his colleagues illustrates this. It identifies three influences on motivation expectancy, the belief that working harder will lead to a better performance instrumentality, the belief that better performance will be rewarded perceived value, of the resulting reward. Motivation will be high when all three factors are high. A zero level...

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 w hich they had been coded. He developed the idea of function points IPs . The basis of function point analysis is that computer-based information systems comprise five major components, or external user types in Albrecht fs terminology, that are of...

Lr

Where r is the discount rate, expressed as a decimal value and t is the number of years into the future that the cash flow occurs. Alternatively, and rather more easily, the present value of a cash flow may be calculated by multiplying the cash flow by the appropriate discount factor. A small table of discount factors is given in Table 3.3. The NPV for a project is obtained by discounting each cash flow both negative and positive and summing the discounted values. It is normally assumed that...

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 w hich 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,...