SPM.pdf

April 4, 2018 | Author: Miguel Smith | Category: Project Management, Net Present Value, Product Lifecycle, Textbook, Return On Investment


Comments



Description

INF308J/102/2010SOFTWARE PROJECT MANAGEMENT SAGTEWARE PROJEKBESTUUR TUTORIAL LETTER 102 STUDIEBRIEF 102 FOR / VIR INF308J IMPORTANT INFORMATION ABOUT EXAM ADMISSION Due to new regulations by the Department of National Education, students must meet the following deadline for this module: Submit at least one assignment for Software Project Management BEFORE 31 May 2010 If you do not meet this requirement you cannot be granted examination admission in Software Project Management School of Computing Skool vir Rekenaarkunde 2 INF308J/102 BELANGRIKE KENNISGEWING: Nota aan Afrikaanssprekende studente: hierdie brief is slegs in Engels beskikbaar. Kontak ons gerus indien u probleme met enige van die terme ondervind. TUTORIAL LETTER ‘COSALLF/301/2010' AND THE BOOKLET ‘YOUR SERVICE GUIDE @ UNISA’ CONTAIN IMPORTANT GENERAL INFORMATION AS WELL AS LECTURERS’ CONTACT DETAILS THAT YOU WILL NEED DURING THE YEAR. DO READ IT CAREFULLY! Please Note: References in this tutorial letter pertains to the 5th edition of the prescribed textbook: Bob Hughes and Mike Cotterell, 2009. Software Project Management - Fifth edition. McGraw-Hill (London). ISBN: 9780077122799 3 INF308J/102 TABLE OF CONTENTS 1. 2. 3. 4. PREFACE .......................................................................................................................... 4 HOW TO USE THIS TUTORIAL LETTER ......................................................................... 5 MODULE OBJECTIVES AND OUTCOMES ...................................................................... 6 SECTION 1 ........................................................................................................................ 6 4.1 Unit 1: Introduction to software project management................................................... 6 4.2 Unit 2: Project evaluation ............................................................................................. 7 4.3 Unit 3: Step Wise - an overview of project planning................................................... 12 4.4 Unit 4: Selection of an appropriate project approach ................................................. 19 5. SECTION 2 ...................................................................................................................... 26 5.1 Unit 5: Activity planning ............................................................................................. 26 5.1.1 Example 1: Drawing a CPM Diagram .................................................................. 27 5.1.2 Example 2: Converting a CPM Diagram into Precedence Network Diagram ...... 28 5.1.3 Example 3: How to draw a Precedence network diagram .................................. 29 5.2 Unit 6: Risk management .......................................................................................... 34 6. SECTION 3 ...................................................................................................................... 36 6.1 Unit 7: Resource allocation ........................................................................................ 37 6.2 Unit 8: Monitoring and Control .................................................................................. 38 6.3 Unit 9: Software effort estimation ............................................................................... 40 4 INF308J/102 1. PREFACE Project management is not a new concept! Throughout the documented history of the human race there have been projects encompassing more than a single person could accomplish alone. Think of examples such as the pyramids in Egypt, the cathedrals in Europe and the Great Wall of China! Nowadays effective management of projects in the Information Technology environment is seen to be increasingly important as a discipline. The aim of this module is thus to equip students with the necessary knowledge to successfully evaluate a prospective project and methods to initiate, plan, estimate, schedule, manage, control, and report on projects. After completing this module, you should have a good understanding of important aspects such as: • • • • • • • • proper planning, resource management, feasibility analysis, risk assessment and management, monitoring and control, scope and change control, quality assurance and configuration management. The textbook that you will use in this course, makes use of case studies to implement the techniques and concepts. It is necessary for IT professionals and practitioners, systems analysts, programmers, DBAs, etc., to gain an appreciation of software project management concepts and to understand how these aspects can best be employed to develop effective and efficient business systems. The aspects covered in this module are aimed at satisfying these requirements of business-oriented students. In software project management there is no substitute for experience. The textbook prescribed for this module uses two running case studies to illustrate and implement software project management concepts. To enhance theoretical knowledge and expertise, the assignments are designed to guide you through most of the important software project management techniques used in the development process. We hope that you will find this module stimulating and enjoyable. Regards Software Project Management Lecturers Acknowledgements: The assistance of Prof. A Barnard, Prof. M Eloff as well as Mrs. R Nienaber, Mrs. K Engelbrecht and Mrs. E Kritzinger with the previous version of this study material is appreciated. Mr. E Nenzhelele and Ms. E van Rijn also supplied valuable input in this version. Mrs. M Hillebrands provided valuable input in compiling Unit 9. which will be sent to you during the year. ISBN: 9780077122799 the first tutorial letter: INF308J/101/2010. solutions to the assignments: numbered as INF308J/201/2010. 2009. INF308J/202/2010. Software Project Management Fifth edition. Introduction to software project management Chapter 2. An overview of project planning Chapter 4. Each unit corresponds to a chapter from the textbook. This tutorial letter should be read in conjunction with your prescribed textbook. HOW TO USE THIS TUTORIAL LETTER The purpose of this tutorial letter is not to duplicate the aspects and topics already covered sufficiently in your prescribed textbook. McGraw-Hill (London). and the examination tutorial letter: sent in August or September informing you on issues regarding the examination paper. etc. but rather to serve as supplementary material to guide and support you in your study process. Section 1 corresponds to the work covered by Assignment 01. We will provide you with a list of objectives and outcomes related to the study material. this second tutorial letter: INF308J/102/2010. work to be covered. Selection of an appropriate project approach Chapter 6 Activity planning Chapter 7 Risk management Chapter 8 Resource allocation Chapter 9 Monitoring and control Chapter 5 Software effort estimation . Section 2 to the work covered by Assignment 02 and Section 3 to the work covered by Assignment 03. The outcomes should be used as a checklist when you work through the relevant chapters in the prescribed textbook and when you prepare for the examination.5 INF308J/102 2. to be used in conjunction with the first tutorial letter assignment questions: the questions for all of the assignments are given in Tutorial Letter INF308J/101/2010. The following items constitute the study material for this module: • • • • • • the prescribed textbook: Bob Hughes and Mike Cotterell. Project evaluation and programme management Chapter 3. and so on. namely: Unit in the tutorial Unit 1: Introduction to software project management Unit 2: Step Wise: an overview of project planning Unit 3: Project evaluation Unit 4: Selection of an appropriate project approach Unit 5: Activity planning Unit 6: Risk management Unit 7: Resource allocation Unit 8: Monitoring and control Unit 9: Software effort estimation Chapter in the textbook: Chapter 1. such as the format. monitor and control a project successfully. Study this section of the work carefully and then complete Assignment 01 and hand it in on or before 8 April 2010. plan a newly proposed project using different techniques. and so on. Amongst other things. • Module outcomes: After studying this module you should have attained the specific understanding. who the stakeholders are in a software project. MODULE OBJECTIVES AND OUTCOMES Module objectives: The aim of this module is to: • • Introduce you to software project management techniques to successfully initiate. 4. the management of projects. and how software projects differ from other projects. manage and control Information Technology projects. For example. we will study what the scope of a project is. Use two case studies to illustrate and implement software project management techniques and concepts. requirement specification. in particular a software project. You will be introduced to topics such as management control.6 INF308J/102 3. evaluate. and schedule. Unit 1 corresponds to Chapter 1.basic concepts This section of the tutorial letter deals with the work covered in Assignment 01. 4. Each of the 4 units in this section corresponds to a chapter in Hughes and Cotterell. and scope and change control. project planning and evaluation. namely Chapter 1 up to and including Chapter 4 of Hughes and Cotterell. Cover most aspects of software project management such as project planning. manage. Study Chapter 1 in the textbook. resource management. plan. estimation. including techniques such as cost-benefit analysis and how to select an appropriate project approach. Note that this is a compulsory assignment.1 Unit 1: Introduction to software project management This unit defines the scope of software project management by considering what is meant by the term project. SECTION 1 Software Project Management . knowledge and skills to: • • • • evaluate a proposed project. . do a realistic estimation of a proposed project. risk assessment and management. feasibility analysis. identify the stakeholders of a project and their objectives. This case study deals with the payroll administration system of Brightmouth College. categorising software projects. plans. understand some problems and concerns of software project managers. and measure the success of a project in meeting its objectives. the difference between software projects and other types of projects. Unit 1 outcomes: After studying Chapter 1 of the textbook.2 Unit 2: Project evaluation This unit discusses techniques that can be used to decide whether it is feasible to proceed with a given project or not. management and management control. contract and technical project management. methods and methodologies. Study Chapter 2 of the textbook. Case Study 1: Brightmouth College Case studies form an important part of explaining. setting realistic objectives. you will be able to: define the scope of software project management. and the first one appears as part of Exercise 1. activities covered by software project management. . illustrating and applying the different techniques of software project management.2 on page 7 of the textbook. The textbook uses two case studies throughout to do just this. and control. 4. business models and projects. understand the need for careful planning. Carefully study the entire case study as presented in the textbook. and requirement specification. as well as ways to measure the success in meeting stakeholder objectives. has the potential to bankrupt an organisation if the costs outweigh the potential benefits. problems experienced with software projects. who the stakeholders in a project are. monitoring.7 INF308J/102 Unit 1 objectives: The aim of Chapter 1 of the textbook is to introduce the following concepts: what a project is. distinguish between software and other types of development projects. define the usual stages of a software project. as the high expense incurred by software development projects in general. explain the main elements of the role of management. It is obviously very important to be able to decide whether or not the development of a software project will be cost-effective. technical.Exercise 2. The average annual profit is thus: 50 000 ÷ 5 = 10 000 Substitution of average annual profit by £ 10 000 and total investment by £ 100 000 in the formula for ROI. cash flow forecasting. the different techniques as discussed on pages 26 to 34 of the textbook.4 now asks that the ROI for Project 1 be calculated.x 100 = 10% 100 000 The present value (PV) and net present value (NPV) of a project are discussed on pages 30 to 31 of the textbook.8 INF308J/102 Unit 2 objectives: The aim of Chapter 2 of the textbook is to introduce the following concepts: strategic assessment. Refer to Table 2. In this context. you should be able to: carry out an evaluation and selection of projects against strategic. yields: 10 000 --------. we obtain a net profit of £ 50 000 over a period of 5 years. and evaluate the risk involved in a project and select appropriate strategies for minimising potential costs. use a variety of cost-benefit evaluation techniques in order to choose among different project proposals.1 on page 29 for the cash flow projection figures of Project 1. please take note of the following: ! Return On Investment (ROI) . Some of the techniques described may at first glance not be entirely clear. The following variables are used in the formula for PV and NPV: . and you must study it in detail and ensure that you understand. Unit 2 outcomes: After studying Chapter 2 of the textbook. and risk evaluation. technical assessment. cost-benefit analysis.4 The formula for ROI on the next page is given on page 30 of the textbook as: Average Annual Profit ROI = ------------------------------------- x 100 Total Investment Exercise 2. Cost-benefit evaluation techniques: This is a very important section of Chapter 2. cost-benefit evaluation techniques. Using these figures. economic and risk criteria. and can apply. i.e. we need to multiply the cash flow by the discount factor. In order to compute the present value (PV) of a future cash flow. See exercise 2. Wherever r is used in a formula. where this sum is taken over t. The present value of a future cash flow in year t is then calculated as: PV = cash flow in year t x discount factor The net present value for a project with t years worth of cash flows is merely the sum of the present values for each year. we should remember that it is used as a rate and should thus be interpreted as (r x (1 ÷ 100)) = (r ÷ 100). The table below gives the estimated cash flow for three different projects (in rands R): Year 0 1 2 3 4 5 6 Project 1 . answer the following questions: 1 Calculate the net profit of each project.6 on page 32 for relevant examples.5 on page 32 and exercise 2.R 10 000 Project 3 . table 2. for some discount factors. thus: NPV = ∑ PV.9 INF308J/102 • • t is the number of years into the future that the cash flow occurs and r is the discount rate.2. where the discount factor is calculated by the following formula: Discount factor = 1 (1 + r% ) t = 1 r    1 +  100  t See page 31. the annual rate by which future earnings are discounted. Use the discount factors in the table instead of calculating them with the formula.R 10 000 + R 20 000 + R 50 000 + R 50 000 + R 65 000 + R 60 000 Project 2 .R 175 000 . Note that r is a rate and thus expressed as a percentage %. .R 280 000 + R 10 000 + R 30 000 + R 50 000 + R 120 000 + R 120 000 + R 120 000 Table for fictitious scenario: Estimated cash flow for three different projects Based on the above table. A fictitious scenario: Consider the following fictitious scenario and some questions related to it.R 150 000 +R 5 000 + R 25 000 + R 35 000 + R 80 000 + R 95 000 . Based on your calculation of each project’s NPV.10 INF308J/102 2 3 4 5 6 7 Based on your answer to Question 1 above. which project would you select to develop? Using the shortest payback method as discussed in Hughes and Cotterell. This net profit of each project is indicated in the last row of the table below: Year 0 1 2 3 4 5 6 Project 1 . The actual payback time can be calculated as follows: Payback: project 1 = Breakeven yr . which project would you now select for development and why? Calculate the Return on Investment (ROI) of each of these projects.R 10 000 Project 3 .R 280 000 + R 10 000 + R 30 000 + R 50 000 + R 120 000 + R 120 000 + R 120 000 Net profit 2 + R 60 000 + R 80 000 + R 170 000 Table for answer to question 1 Project 3 shows the largest net profit.R 175 000 .(Profit made in breakeven yr/ Income in breakeven yr) = 5-(90000/95000) 3 . We would therefore select Project 3 for implementation. The payback period is the time taken to break even or pay back the initial investment (at year 0). Based on your calculation of the ROI of each project in Question 4 above. whereas Project 2 earns R 90 000 and Project 3 earns R 50 000 profit during year 5. followed by Project 2 and then Project 1 with R 80 000 and R 60 000 net profit respectively.R 10 000 + R 20 000 + R 50 000 + R 50 000 + R 65 000 + R 60 000 Project 2 . Calculate the Net Present Value (NPV) of each project. which project would you select to develop? Assume a discount rate of 12%.(Profit made in breakeven yr/ Income in breakeven yr) = 5-(65000/65000) = 5 years Payback: project 2 = Breakeven yr .R 150 000 +R 5 000 + R 25 000 + R 35 000 + R 80 000 + R 95 000 . However Project 1 earns R 0 during this year.) Answers: 1 The net profit is the difference between the total cost and the total income of a project over its lifetime. All three projects paid back the initial investment at the end of year 5. what conclusion do you reach regarding the viability of these projects? (Base your answer on the NPVs of each project. R 170 000. which project would you now select for development? In general. 89 + R 170 000 + R 28 333 10.05 years Payback: project 3 = Breakeven yr .12 Table for answer to question 4 5 Project 3 has the highest ROI. The Net Present Value (NPV) of each project is given in the table below: 6 . together with the profit earned in year 5 already.12. The ROI of each project is given in the last row of the table below: Year 0 1 2 3 4 5 6 Project 1 . 10.6 years This actual payback time.11 INF308J/102 = 4.R 10 000 Project 3 .71 respectively. Project 3 therefore seems the most appropriate project to develop. followed by Project 2 and then Project 1 with ROIs of 8.R 150 000 +R 5 000 + R 25 000 + R 35 000 + R 80 000 + R 95 000 .(Profit made in breakeven yr/ Income in breakeven yr) = 5-(50000/120000) = 4.89 and 5. 4 ROI provides a way of comparing the net profitability to the investment required.R 175 000 . According to the ROI calculation.R 280 000 + R 10 000 + R 30 000 + R 50 000 + R 120 000 + R 120 000 + R 120 000 Net profit Average Profit ROI + R 60 000 + R 10 000 5.R 10 000 + R 20 000 + R 50 000 + R 50 000 + R 65 000 + R 60 000 Project 2 . makes Project 2 the most desirable project to choose (as opposed to Project 3 in question 2).71 + R 80 000 + R 13 333 8. 5066 Discounted cash flow . is introduced.7118 0.50 + R 19 930 + R 24 913 INF308J/102 Discounted cash flow .7972 0. step 6 of Step Wise: identification of activity risks.6355 0. whereas Project 3 still shows a positive return.R 10 000 + R 20 000 + R 50 000 + R 50 000 + R 65 000 + R 60 000 + R 60 000 Project 2 . a project planning method. and rejected if it yields a negative NPV. .50 . and step 10 of Step Wise: lower levels of planning. step 7 of Step Wise: allocation of applicable resources. Step Wise.R 6 425 Table for answer to question 6 7 A project should be selected for implementation if its NPV is positive. Project 2 has the smallest negative NPV. step 8 of Step Wise: review/publicise the project plan. if pressed to make a selection. Study Chapter 3 in the textbook. step 0 of Step Wise: selection of a project.R 175 000 .R 280 000 + R 10 000 + R 30 000 + R 50 000 + R 23 916 + R 35 590 + R 76 260 + R 68 088 + R 60 792 + R 50 840 + R 120 000 + R 53 903 + R 120 000 -R 5 066 + R 120 000 + R 170 000 .this would correspond to our order of selection). note that Project 2 yields a negative return in year 6.R 280 000 +R 8 929 Year 0 1 2 3 4 5 6 Net profit NPV Project 1 . step 9 of Step Wise: execution of plan.3 Unit 3: Step Wise . we will abandon all of them (however. step 2 of Step Wise: identification of the project’s infrastructure. However.8929 0.R 1 015.000 0. step 5 of Step Wise: estimation of the effort associated with each activity.5674 0.12 Discount factor at 12% 1.R 150 000 + R 5 000 + R 25 000 + R 35 000 + R 80 000 + R 95 000 . Unit 3 objectives: The aim of Chapter 2 of the textbook is to introduce the following concepts: the Step Wise project planning method. step 1 of Step Wise: identification of the project’s scope and objectives. As all three projects have negative NPV. step 4 of Step Wise: identification of the project’s products and activities. step 3 of Step Wise: analysis of the project’s characteristics. This may very well indicate that Project 2 has reached the end of its viable economic lifetime.R 33 343 .R 175000 .an overview of project planning This unit deals with the different phases of project planning in a step-by-step fashion.R 10 000 + R 80 000 Project 3 .R 8 929 +R 15 944 + R 35 590 + R 31 775 + R 36 881 + R 30 396 Discounted cash flow . 4. followed by Project 3 and then Project 1 .R 150 000 + R 4464. step-by-step manner. Support and design a website for external clients to peruse. The same constraints as for the PBS apply to these diagrams. Create and maintain a web page for sales purposes. and is discussed in Appendix A on pages 325 to 336 of the textbook. rather than technical-level detail (e. the following marking scheme can be used as a guideline: (Each positive answer count 1 mark with the total per diagram indicated in brackets below. PRINCE 2 PRINCE 2 is a project management method developed by the Central Computer and Telecommunications Agency in the UK. you should be able to: approach project planning in an organised. be able to identify where techniques described in subsequent chapters fit into an overall planning approach. to make the marking of such a question as objective as possible. Making use of the company’s existing intranet environment. Note that Amanda has been appointed as project manager for IOE’s expansion project.). Example Consider the following scenario: You are appointed IT project manager for a marketing and sales company. Discussion of example We note that many different answers possibly apply to this question. rather than giving a series of technical links for a specific page and functionality. This project has been dubbed ‘Using the Internet’ by management. you are requested to concentrate on generic topics. In the follow-up phases you are also to present a (product-flow diagram) PFD as well as an activity network. the PFD and the activity network.) [15 marks] . Case Study: International Office Equipment (IOE): The second case study that will be used throughout the textbook is introduced in chapter 3 on page 50 of the textbook. In the initial phase you are required to present management with a PBS (product breakdown structure) including at least three levels. As only one member of the management team is conversant with technical topics. 3. However. Enable individual home page creation. and repeat the planning process in more detail for sets of activities within a project as the time approaches to execute these activities. Study this case study in detail. while Brigitte has been appointed as project manager of Brightmouth College’s new payroll administration system. your brief is to investigate how to: 1. Create and maintain a web page for marketing purposes. 4. merely indicate this as ‘a hyperlink’ etc.13 INF308J/102 Unit 3 outcomes: After studying Chapter 3 of the textbook. 2.g. Draw the PBS. Does the decomposition start with the main product(s) and does it contain sufficient levels (more than 2) of sub-products so that the products and its sub-products can be clearly identified? Is the content logically represented on the diagram as outlined in the question? PFD (5) Based on the PBS? Does it show dependencies / relationship between sub-products and products? Does it show the logical assembly from the sub-products to the product(s) and does it end with the construction / creation of the main product? Is the flow acceptable as per specification? A detailed or generic flow is acceptable. However. or could even be ‘Using the Intranet’. A very important part of this method is the construction of a Product Breakdown Structure (PBS for short).14 INF308J/102 PBS (5) Is the PBS represented as a hierarchical (tree structure) diagram? If it is a descriptive diagram. or by considering the deliverables. or products. we will presumably be instructed by management to make the web site available on the Internet. The higher-level products are decomposed through a number of levels (as required by the relevant software project application) down to the individual components of each product. This implies that we plan the project according to. that will be required for delivery of the end product.4 in the question statement. A PBS is a diagrammatical approach that describes the system in a hierarchical manner as a tree structure that identifies the required products to be produced by the project. Once all the groundwork has been completed. PBS for “Using the Internet”: Ultimately a new website for (both existing and new) clients’ perusal is to be created.7. solution to this problem: . Please note that this is a suggested. can the hierarchical levels be identified (indents or numbers)? Has the main product been correctly identified? The main product is ‘Using the Internet’. It is with these aspects in mind. In this way we will focus only on the products that must be produced (and in the activity network on all the activities and sub-activities which we must undertake). section 1. listed as points 1 . We are thus conducting a feasibility study. that we create the PBS on the next page. Also note that we need not include technical level detail at this point already. this question does not deal with the entire application of the web site. that need to be produced. but focuses on four of the subactivities of this project. and not necessarily only acceptable. of the textbook). ACTIVITY NETWORK (5) Does the Activity Network represent the activities required to derive the product(s) shown in the PBS? Are the activities / tasks arranged in a logical sequence and does it end with the activity that creates the main product? Does the Activity Network show which activities can run concurrently? Does the Activity Network conform to the detail in the specification? This question deals with product based project planning (akin to the concept of product-driven software projects as in Chapter 1. nor are we concerned with linking the site to the Internet. . the logical sequence of events leading to the products as defined by the PBS. A PFD shows how products are derived from each other. and what their relationships and dependencies are. are shown.15 INF308J/102 Using the Internet External webpage=envisaged link to the internet Individual Homepage Creation Marketing Homepage Sales Homepage Training of possible users Develop & implement Specify requirements Design & implement Investigate existing website creation tools Investigate possible user requirements Specify requirements Design & implementation Future maintenance Peruse external & other website Investigate website standard Survey Literature Prepare & analyse possible user questionnaire Poll marketing department Investigate Ecommerce techniques Report finding Investigate secure shopping techniques Investigate website design methodologies & tools Document findings Possible literature investigation Investigate Authentication techniques Document findings Future maintenance Figure 1: PBS for “Using the Internet” PFD for “Using the Internet”: In a Product Flow Diagram (PFD for short). Below we give a generic PFD indicating the logical product flow of multiple page-creations. 16 INF308J/102 Overall system Specification Collect Information & Analyse Define Requirements Page(s) Specification Page(s) Design Code Page(s) Test Page(s) Evaluate Page(s) Implement Report findings Figure 2: PFD for “Using the Internet” Activity Network for “Using the Internet”: An activity network depicts all the activities in logical sequence. This enables us to estimate time scales and prepare work schedules. . To illustrate this. teach users. specify individual home page(s) layout Design individual home-page creation Code/Develop individual home page creation & carry out separate testing Integrate/Test entire system Specify requirement for marketing page Design marking page Code/Develop marketing page Specify requirements for sales Design sales pages Code/Develop sales page Figure 3: Activity Network for “Using the Internet” Additional Notes on PBS and PFD Product breakdown structure Product-based planning works by progressively decomposing the project products into smaller products until we reach a sensible. For example: Project initiation documents . These subdivide into three main categories. the top-level of products is known as ‘project products’. Project Products Management products Figure 4: Product breakdown structure Specialist products Quality products Management products are those products associated with the planning and control of the project.17 INF308J/102 Collect & analyse information Design external page(s) Code/Develop &test external page(s) Using the Intranet: Overall specification Gather information. In PRINCE. unitary product level. PRINCE approach standard is used. Look at the product breakdown structure below. 18 INF308J/102 The project plan The quality plan Acceptance criteria Check points report Quality products are associated with the definition and control of quality. For example: Product description Quality review report Project issue report Specialist products are those things that the project has been set up to create. Look at the breakdown structure below Specialist products Analysis products Figure 5: Specialist products Feasibility report We could subdivide the analysis products further as shown below on the breakdown structure Analysis products Interview notes Figure 6: Breakdown structure Requirement catalogue Data flow diagrams Package reports Data flow diagrams can also be subdivided as shown below . Study Chapter 4 of the textbook. our PFD will look like this: Create requirements catalogue Draft requirement catalogue Review requirements catalogue Interview notes Add extra requirements Reviewed requirements catalogue Create data flow Review DFD Draft data flow diagram Agreed DFDs Figure 8: PFD 4. and based on the characteristics of a project. we can now consider the work we will need to do to create the products. The idea is simple: we look at the products in relation to each other and consider how one product is transformed into another. Product flow diagram With our list of products. For example if we want to transform our interview notes into entries in our requirements catalogue and into data flow diagrams. a specific Software Development Lifecycle (SDLC) will be selected. PRINCE uses a technique known as a product flow diagram.4 Unit 4: Selection of an appropriate project approach This unit deals with the different approaches that can be followed when a project is developed. .19 INF308J/102 Data flow diagrams Draft data flow diagrams Figure 7: Data flows Reviewed data flow diagrams Combining these breakdowns plus those of Quality products and management products we come up with a full breakdown structure of the project. This only presents a summary of the current situation and you should refer to the textbook used in your second year of study. In the tables on the following seven pages. the dynamic systems development method. and selection of the most appropriate process model. reduce other risks by implementing the project in increments. extreme programming. and identify where unnecessary organisational obstacles can be ameliorated by making use of socalled ‘agile’ development methods. choice of process model. for further information: .20 INF308J/102 Unit 4 objectives: The aim of Chapter 4 of the textbook is to introduce the following concepts: choosing amongst different technologies. you will be able to: take into account the characteristics of a software system to be developed whilst planning a project. technical plan content list. Unit 4 outcomes: After studying Chapter 4 of the textbook. as well as Hughes and Cotterell. V-process model. controlling changes during prototyping. software prototyping. incremental delivery. waterfall model. we summarise the different life-cycle models that you may encounter in your studies. spiral model. management of iterative processes. reduce risk by creation of appropriate prototypes. make the best use of the waterfall process model where appropriate. select an appropriate process model. ways to categorise prototypes. structured methods VS speed of delivery. they have to follow in a pattern: feasibility. can be held accountable to those requirement specifications V.e. production acceptance and final operation Time consuming as validation processes may require a great deal of investigation May lead to increased resource requirements The process is heavy on documentation It assumes that it is possible to arrive at near-perfect documentation that is complete. thereby making this model inflexible The maintenance phase is not adequately covered. analysis. more flexibility is required End-product (functional model) is produced only very late in the life-cycle The requirements change over time. Projects rarely flow in a sequential process Difficult to define all requirements at the beginning of the project Unresponsive to changes A working version of the system is not seen until late in the project’s life Repairing problems further along the life cycle becomes progressively more expensive Maintenance costs can be as much as 70% of systems costs Similar to prototyping Focuses on delivery of operational product All early increments are stripped down into a version of the final product Feedback from early increments can influence later stages positively Possible changes to requirements at late stages of the project. the stakeholders.21 ‘b’ Model Incremental Approach Life cycle model Main characteristics Allows maintenance and enhancements to be reviewed throughout the project Waterfall model This is the so-called classical model for system development and is also referred to as the one-shot approach Each Step in this life cycle must be completed before the next step can be started In the b-model maintenance is open-ended and a series of cycles Advantages Large projects may benefit from the limited iteration process allowed Logical flow aids in understanding Sequential project processes are easier to plan and implement Allows project completion times to be forecast with a relative degree of accuracy It is relatively simple and easy to understand Enables allocation of tasks within a phase The progress can be evaluated at the end of each phase If changes are made to the project. and is truly representative of the ultimate "requirements" Can be frozen and the authors. design. i. and this life cycle does not allow any opportunity to review and evaluate with users. is smaller than for larger projects User gets benefits earlier Early delivery of useful components may improve cash flow as return on investment occurs early on in the life cycle Smaller sub-projects are easier to manage and control Risk can be detected earlier Later increments may require substantial modification of earlier increments The development team may be more productive when working on one large system rather than a series of smaller ones Degenerate to build and fix model .Process Model This model is an elaboration of the Waterfall model and thus sometimes also referred to as a one-shot approach The left side of the model is a design analysis for programming The right side of the model is used for assembly and testing Stresses validation of phase deliverables Allows for the identification of potential problems earlier in the life cycle Ensure more interaction between developers and end-users Disadvantages Inherent rigidity of the model eliminates flexibility and adaptability which is often called for in the dynamic IT industry Where there is uncertainty how a system is to be implemented. thereby forcing review of the project. an incremental approach would be favoured This model forces the project documentation and requirements to be clearly outlined before the increments are defined When to use This model would typically be used in a traditional development environment where most of the methodologies and technologies are regarded as stable. neither will be the outcome of the project Package-based IS projects Turnarounds are "Work Package" oriented. in that all work for a specific exchanger needs to be kept together in the same package so that the planning and scheduling of the work can be networked and for the most part kept together for a crew of workers Life cycle model Rapid Application Development (RAD) RAD uses hybrid teams RAD makes use of specialized tools RAD uses “time boxing” RAD uses iterative. but where the project is relatively complex and where a number of stakeholders may be involved The incremental approach involves breaking the project down into smaller sub-projects which correspond to smaller sub-systems (components) of the larger system and allows these individual components to be implemented and delivered in sequence Each such component must produce some tangible benefit to the user Where the requirements of a systems are relatively certain. which make the project feasible and realistic When does it work best? This model works best when the requirements do not change over time It works best when minimum maintenance is required for a project Not appropriate where scope of the project is poorly defined or undecided When doesn’t it work well? When business or system requirements change over time This model shows correspondence between the stages of the life cycle thereby enabling maintenance and updates to be performed throughout the project’s life cycle It also enables delivery stages to be identified and the deliverables to be validated This system works best when accurate most up to date documentation is maintained and applied to the project This process is highly dependant on documentation: if the information in a document is not accurate. and then plugged together to rapidly build scalable systems Component-based approach to development is incremental This is a good model when compared to project management because changes to the project are made by following certain rules. evolutionary prototyping to accelerate requirements analysis and systems design Main characteristics Spiral model (Variation on Waterfall model) Iterative. but there are many complexities and deadlines are tight. where similar projects have been undertaken and the development team can specify and design a solution to a high degree of certainty How does it fit with project management? This life cycle fits comfortably with project management because it views development as a series of processes that are expected to be completed and planned only once for the project When a system needs ongoing maintenance during its life cycle. When the business requirements are continuously changing. Divided into 4 quadrants .22 This model may be used where the requirements are clearly defined. and take up more time (and time is money) Component-Based Development (CBD) It allows us to isolate key objectives and thereby establish core business. expressed as processes and/or concepts These can be designed and implemented as robust components. where the scope is clearly defined. which may result in a high degree of non-usability and unreliability Time intensive Buying may not save money as compared to building Cost of integrated tool set and hardware to run it are high Harder to gauge progress Less efficient and possible loss of scientific precision May accidentally empower a return to uncontrolled practices Prototype may not scale up a problem Standardized look and feel Successful efforts difficult to repeat As RAD makes extensive use of JAD techniques for data collection and requirements analysis and specification.JAD .23 Component-Based Development (CBD) CBD masters development complexity CBD reduces time to market CBD changes the nature of Information Systems CBD builds on the past CBD enables autonomous development of parts CBD covers whole software life cycle Assists developer (not end-user) Installs locally (not globally) Hides decomposition Easy to download Easy to build/configure Development/maintenance ‘might’ be easier if all functionality is contained in the distribution Package-based IS projects Rapid Application Development (RAD) Life cycle model Advantages Spiral model (Variation on Waterfall model) An iterative approach whereby additional levels of detail are added at each stage Hidden costs and complexity will be discovered earlier in the life cycle Allows more end-user interaction Testing initiatives are expanded on Requirements.approach) Time-boxing results in absolute deadlines Buying may save you time and money as compared to building Deliverables are sometimes easier to port Development is conducted at a higher level of abstraction Early visibility because of prototyping Greater flexibility Greatly reduced manual coding Increased user involvement Possibly fewer defects Possibly reduced costs Shorter development cycles Requires skilled RAD and JAD team leaders and members that understands the particular tools and technologies Documentation is produced as by-product of completed tasks. issues and solutions are clarified along the project Disadvantages Extra time spent on testing and documentation More time consuming than both the waterfall and V-process models because of iterative processes and more thorough testing principles May take longer to deliver a solution and create an end-product Estimated cost and time increase throughout the life cycle Focuses on the clear separation of static. it is best suited for decision support and management information systems . but only a small number of unclear variables exist. stable business concepts from more dynamic business processes and practices Large Hard to reuse (functionality is entangled) Hard to extend Many dependencies Complex configuration/building Complex structure (strong coupling) When to use The spiral models is best used when most of the requirements are clearly defined. for example. it is not clear how the users see the finished end-product’s functionality Delivers business application sooner than many other approaches Enforces interaction between developers and all stakeholders (Joint Application Development . risk management and planning into the overall cycle When does it work best? When requirements are not well specified and in an unstable environment When system quality is the driving force Because RAD is considered an iterative technique.thus more cost will be incurred Structured methods User involvement.24 Component-Based Development (CBD) They reuse components instead of starting form the beginning thus quality. time and cost is improved Delivery on industry standard platforms including the J2EE When developing a new system from the outset It decreases the time taken when using the project life cycle Package-based IS projects Rapid Application Development (RAD) Life cycle model How does it fit with project management? Spiral model (Variation on Waterfall model) Fit well since it introduces concepts of objective setting. project management control is crucial to the management of each process within the RAD process The application will be run standalone Major use can be made of pre-existing class libraries Performance is not crucial Product distribution will be narrow Project scope is constrained Reliability is not crucial System can be spilt into several independent modules The product is aimed at a highly specialized IS market When doesn’t it work well? When requirements are well formed and environment stable Other unknown platforms When the components don’t fit into the requirements of the system and components need to be redeveloped and customized . Separation of logical and physical Emphasis on data Diagrammatic documentation Defined structure SSADM Only cover analysis and design phases Include a set of modeling techniques Default structured model with 5 modules Object-Oriented (OO) development methods It’s model-driven and data-centered but a process-sensitive technique Information Engineering continues with the data and process models as the primary mechanisms used to communicate information system requirements and design concepts between users and developers Information Engineering Main Characteristics OO development involves: Using an OO approach to system analysis Using an OO approach to system design Using an OO approach to programming System is defined as a collection of objects that work together to accomplish tasks . g. user centered design When users and developers are not trained and experienced When doesn’t it work well? Rapid development Reusability Prototyping Fuzzy boundaries between design. reuse and encapsulation) Maintainability: Greater in object-oriented methodology (due to encapsulation) than in conventional architectures based on hierarchy of functions Identifying classes Fuzzy boundaries between design analysis and implementation Too expensive to set up because it has to be used on an enterprise-wide basis Business requirements change too fast to make Information Engineering approach effective Detailed definition in each phase Project is comprehensively supported.25 Information Engineering Information Engineering attempts to use it’s techniques on the organization as a whole.. modeling the organization’s entire data requirements Information Engineering focuses primarily on the data building blocks Focus on users Give a consistent and complete approach to the work Structured methods SSADM Give an accurate and complete picture of the system Object-Oriented (OO) development methods Advantages Disadvantages Productivity: Object-oriented methodology can increase the productivity of the project team and can reduce the project schedule as much as an order of magnitude due to the intrinsic power of the object oriented programming languages and reuse of classes and objects Rapid development: Reusability Prototyping Quality: Absence of defects better in object-oriented methodology (e. When introduced to an environment where intensive use is not currently made of IS When range of current and disparate computer systems have to be considered Over prescriptive and bureaucratic It helps the project manager co-ordinate processes Can fit well since it has links to PRINCE methodology For group project For individual project must use SSADM4 How does it fit with project management? When does it work best? Increased level of documentation Training of users and analysts necessary to understand documentation Long user’s time required Does not fit well with PM since managing users is an integral part of the process and is very complex When user involvement is required e. and both analysis and implementation .g. o time dimensions. and can apply. the techniques as discussed in Chapter 6. namely Chapters 6 and 7 of Hughes and Cotterell. SECTION 2 Software Project activity planning and risk management This section of the tutorial letter deals with the work covered in Assignment 02. This is an important part of the software project management process and you must study it in detail and ensure that you understand. Study this section of the work carefully and then complete Assignment 02 and hand it in on or before 3 June 2010. Unit 5 corresponds to Chapter 6 and Unit 6 corresponds to Chapter 7. and o critical path identification. utilising the two case studies. project schedules. Amongst other things.1 Unit 5: Activity planning Chapter 6 of the textbook. you should be able to: produce an activity plan for a project.26 INF308J/102 5. o precedence networks. o lagged and hammock activities. In this chapter the use of the critical path method and precedence networks are discussed as methods to obtain an ideal activity plan. Unit 5 outcomes: After studying chapter 6 of the textbook. identification of critical activities. Unit 5 objectives: The aim of Chapter 6 of the textbook is to introduce the following concepts: the objectives of activity planning. as well as learn how to identify and manage risk. o forward and backward pass. deals with software project activity planning. Study Chapter 6 of the textbook. . The network planning model is explained in detail in the textbook. we will study the importance of activity planning in software project management and focus on the important impact that risk may have on software projects. shortening project duration. and create a critical path and a precedence network for a project. 5. network planning models including: o formulation of network models. sequencing and scheduling. and activity-on-arrow networks. estimate the overall duration of a project. which corresponds to this unit. when to plan. We include another example for you to study. Each of the 2 units in this section corresponds to a chapter in Hughes and Cotterell: for example. activity float. the backward pass calculates the latest date when each event may be started and the latest date when it can be achieved or finished. I Duration (weeks) 1 2 2 5 5 2 4 4 1 2 Sample Table in Unit 5 1. This would allow activity E to drop to three weeks.27 INF308J/102 5. In this example both processes D and C have to be finished and serve as input to process E. the forward pass calculates the earliest date each event may start and the earliest date on which it may be completed. Identify what the resulting critical activities are. The diagram is given below: . Identify the critical path and its duration. the project team decides that an alternative to the original plan would be to extend the duration of activity C to four weeks. After carefully considering the problem again. to illustrate the duality. 1.1. namely process 4a.1 Example 1: Drawing a CPM Diagram Consider the list of tasks with dependencies and estimated durations (in weeks) in the table below: Task A B C D E F G H I J Precedents None A B A C. 2. Do these changes affect the total duration of the project? A few aspects to bear in mind when drawing a CPM network: make sure that you understand and can apply the rules on pages 140 to 144 of the textbook. H D. event dates are recorded on the diagram and activity dates on the activity table. but process D and I also serve as input to process J. Draw a CPM network for the list of tasks in the table below to illustrate the interaction of activities. D E A G F. Thus a dummy activity was created. 3. C. 3. Replace the 1st event or node of the CPM with a Start node (they are equal) Replace every activity on the CPM with a precedence diagram node Replace the last event or node on the CPM diagram with a Finish node (they are equal) Do the forward pass Do the backward pass . E. J = 12 weeks A. In order to determine the critical path. D. H. I.28 4a 0 INF308J/102 6 D=5 1 0 A=1 2 1 0 B=2 3 G=4 3 1 6 0 0 1 4 C=2 6 4 0 6 E=5 11 11 0 F=2 5 14 8 0 J=2 14 16 9 0 16 I=1 6 5 4 9 H=4 7 13 0 13 Figure 9: CPM diagram for Example 1 2. we first of all list all of the different paths: path 1 path 2 path 3 path 4 A. B. I. F. 5. 4.2 Example 2: Converting a CPM Diagram into Precedence Network Diagram Once you have drawn the CPM diagram: 1. I. F. Now the critical path will be path 2: A. I. D. 3. 5. Path 1 drops to 14 weeks and path 2 to15 weeks. J = 15 weeks A. J = 8 weeks Path 1 is thus the critical path. C. J.1. B. F. E. 2. E. The minimum duration drops to 15 weeks. G. J = 16 weeks A. 3 Example 3: How to draw a Precedence network diagram Consider the following activities: Task A B C D E F G H Precedents Duration None 6 None 7 None 28 B 7 A 6 A 9 D. B and C.E 5 F.G 8 Step1 – Draw diagram You start by finding all activities that have no precedents. .29 INF308J/102 See the following diagram: 5. Also indicate the activity duration which is given in above table. In this case it is activities A.1. in other words the tasks that can start immediately. B and C can start as soon as the project kicks-off. Fill this on your diagram. so their earliest start is week 0. Now you are ready to do the forward pass Step2. Up to this point all the information indicated on the diagram has been given to you .Forward Pass A. In this case D is dependent on B and both E and F are dependent on A. B or C and draw them on your diagram. The earliest finish is then simply the earliest start + activity duration.30 INF308J/102 Next find all activities which are dependent on A. 9 F 6 A 6 E 7 Start B 7 D 28 C Repeat this process for the rest of the activities. A = 0+6 = 6 B = 0+7 = 7 C = 0+28 = 28 .that is the activity name and duration. Repeat this process for the rest of the activities. you can see that the earliest completion date for E is week 12 and for D it is week 14. Activity G will there for have to wait until week 14 (when both E and D is completed) before it can start. you first need to identify the critical path(s) . Before you do backward pass.31 INF308J/102 0 6 A 6 0 Start 7 B 7 0 28 C 28 Now activities E and F can only start once activity A is completed. E = 6+6 = 12 F = 9+6 = 15 After completing the same exercise for D ( which is dependent on B) D will look as follows: G is dependent on both D and E. so G cannot start until both D and E have been completed. From the information thus far on the diagram. so the earliest start for both E and F is 6 Once again you find their earliest finish by adding their earliest start to their duration. in this case path 4 which consists of only 1 activity – C Now you are ready for the backward pass. Step 4 – Backward Pass Having completed the forward pass. Path 1 Path 2 Path 3 Path 4 A-F-H A-E-G-H B-D-G-H C You then add the individual activities’ durations to calculate the total path duration. A-E-G-H = 6+6+5+8 = 25 3. C = 28 The critical path is the path with the longest duration. 1. You do this by starting at the START node and following the links to the FINISH node without moving backwards in the diagram at anytime. B-D-G-H = 7+7+5+8 = 27 4. A-F-H = 6+9+8 = 23 2. your diagram should now look like this: 0 6 A 6 0 Start 7 B 7 0 28 C 28 Finish 7 D 14 7 6 E 14 5 G 19 19 8 H 27 12 6 6 9 F 15 We have also established that C is our critical path and has a duration of 28 weeks This means the latest finish date of all nodes linked directly to the finish node should be 28 in order not to delay completion of the project Fill in 28 as the latest finish for nodes C and H so that it looks like this: .32 INF308J/102 Step3 – Identify the critical path First you determine all possible paths. g. For C: 28 – 28 = 0 For H: 28 – 8 = 20 You have now calculated the latest start date for activity H as week 20. Step 5 Calculate the activity slack Slack = Latest finish – Earliest finish e. for F it would be 20 – 15 = 5 Slack can also be calculated by: Latest start – Earliest start 11 – 6 = 5 Repeat for all nodes Diagram Complete!! . Since H is dependent on activities F and G it means that both F and G must be completed at the latest in week 20.33 INF308J/102 From this point it is quite simple to calculate the latest start for an activity by simply subtracting the activity’s duration from the activity’s latest finish. Fill in 20 as the latest finish date for F and G as follows: Then calculate the latest start date for these activities by subtracting their duration from their latest finish date F = 20 – 9 = 11 G = 20 – 5 = 15 Repeat this process for the other activities. types of risk. analysis of risk. The difference between the CPM and the PERT methods is that the CPM uses a single estimate for the duration of each task. Unit 6 objectives: The aim of Chapter 7 of the textbook is to introduce the following concepts: the nature of risk. The formula is depicted below: . These 3 estimates include: • • • Optimistic (a) Most Likely (m) Pessimistic (b) These 3 estimates are combined to calculate the te values. One method that is mentioned in this section is the PERT method. management of risk. and can apply. you will be able to: identify the factors putting a project at risk. Unit 6 outcomes: After studying Chapter 7 of the textbook. and calculating Z values. whereas the PERT method uses 3 estimates.2 Unit 6: Risk management The chapter in the textbook that corresponds to this unit deals with the very important topic of risk identification and management when confronted with the development of software projects. reducing risk by means of planning and control. and quantify the likely effects of risk on project time-scales. identification of risk. the different topics introduced. evaluating risk to project schedules.34 INF308J/102 5. Study Chapter 7 in the textbook carefully and ensure that you understand. categorise and prioritise action for risk elimination or containment. 5 The te and s values are indicated in the figure below.2 3 3. . Optimistic (a) A B C D E F G 2 5 3 1 2 1 2 Most Likely (m) 3 6 4 3 2 3 4 Pessimistic (b) 4 8 5 4 3 5 5 Expected (te) 3 6.2 0. The formula to calculate the z value is depicted below: z= T .8 2. the standard deviation(s) can be calculated using the following formula: s = b-a 6 The next step is to calculate the z value. Consider the following example: In the table below the optimistic.3 0.3 0.5 0.35 INF308J/102 te = a + 4m + b 6 After the te values are calculated.7 0. The table also indicates the expected and standard deviation. most likely and pessimistic values are shown.2 4 2.5 0.8 Standard Deviation (s) 0. The Target date is 17.te s Remember that the T value is the target date of the specific project and the z value is calculated on the last activity. Path B+D: and Path A+C: (0. control and estimation This section of the tutorial letter deals with the work covered in Assignment 03.8 on page 181 of the textbook.9 = 2.2 According to Figure 7. Path (B+D) + E = (0. Unit 7 corresponds to Chapter 8. monitoring. therefore the s value of activity 5 is 0. and any organisation undertaking the development of a software system should. You will be introduced to different software estimation techniques such as function and object point analysis. The answers are equal.5)² + (0. 9 and 5 of Hughes and Cotterell. For example. 6. Lastly we consider the importance of accurate estimation of the costs involved in developing software projects.7 (from the table).3)² = 0 . A topic of importance in software project management is how to identify resource requirements and the subsequent allocation of resources to different tasks. Therefore the s value of activity 4 is 0.7 and Path F = 0. We will also study effective ways of monitoring and controlling software projects.7. Software effort estimation plays an important role in assisting an organisation to decide whether or not to proceed with the development of a software project.7)² + (0.5)² = 0. Calculating the s value of activity 5. in the light of the many failed expensive software systems.7. procedural code and COCOMO. Most software projects are very expensive to develop. Each of the 3 units in this section corresponds to a chapter in Hughes and Cotterell. to name but a few.15 / 0.4 Path B+D has the greater answer. the probability of not meeting the target date is less than 10 %.36 INF308J/102 Calculating the s value of activity 4. undertake to minimise potential losses. SECTION 3 Software Project resources. Calculating the z value: z = 17 . namely Chapters 8.2)² = 0.3)² + (0.7 (0. Unit 8 corresponds . according to the original plan? . the need will arise for various types of resources at different times. complete Assignment 03 and hand it in on or before 17 July 2010. and o counting cost. Unit 7 objectives: The aim of Chapter 8 of the textbook is to introduce the following concepts: the nature of resources.37 INF308J/102 to Chapter 9 and Unit 9 corresponds to Chapter 5. being specific. cost schedules. 6.1 Unit 7: Resource allocation During the development phase of a project. scheduling of resources including: o creation of critical paths. ensure that the demand for resources is more evenly distributed throughout the life of a project. Study this section of the work carefully. Study Chapter 8 of the textbook. which deals with resource allocation. Budgeted effort 11 15 20 20 16 13 5 Value completed 5 7 11 Actual effort 7 8 12 What percentage of work should be completed at this stage. Consider the following example on cost and resources: The third month of a seven-month project has just been completed and actual figures (in personmonths) are given in the table below: Month 1 2 3 4 5 6 7 1. and produce a work plan and resource schedule. and the scheduling sequence. Unit 7 outcomes: After studying Chapter 8 of the textbook. you should be able to: identify the resources required for a project. Ensuring the timely delivery of these resources to the project development team is of great importance. publishing the resource schedule. identification of resource requirements. as late delivery will most probably mean that the project development will fall behind schedule. getting the project back on target. 4. collection of data. as well as change requests.e.2 Unit 8: Monitoring and Control Chapter 9 of the textbook. What percentage of work is actually complete? What percentage of the total budget has been expended? What do these figures tell us about the project? Solutions to this example: 1. The project is late with regard to completion: 23% actually completed ( = value completed during month 1 to month 3 = 5+7+11 = 23) versus 46% planned completion ( = budgeted effort = 11+15+20 = 46). deals with monitoring and control of a project. which corresponds to this unit. .2) and 27% of the budget has been spent (refer q.). cost monitoring including: o earned value.38 INF308J/102 2. it doesn't seem to be a problem. incorrectly allocated staff. Total budget Budget months 1 to 3 Estimated % complete (46 / 100 * 100) Total budget Value completed months 1 to 3 Estimated % complete (23 / 100 * 100) Total budget Actual effort months 1 to 3 Estimated % complete (27 / 100 * 100) 100 46 46 100 23 23 100 27 27 2. incompetent staff. etc. and o prioritisation. The only other alternative to the work being so far behind schedule is that resources are a problem. Estimating 15% low: 23% of the work is actually complete (refer q. the budget was estimated (27-23)/27 * 100% = 4/27 * 100% = 15%. 6. i. and change control. Seeing that the budget has only been underestimated by 15%. (for example. Insufficient resources have had a much greater impact than under-estimating. Resource allocation seems to be the main culprit: 27% actually spent versus 46% planned. too few staff. visualising progress. Unit 8 objectives: The aim of Chapter 9 of the textbook is to introduce the following concepts: creation of a framework. 3. 3.3). Not too much has been overspent. 4. Study Chapter 9 of the textbook. visualise and assess the state of a project. and that existing team members do not depend on in order to complete their work?’ If the answer to this question is ‘yes’. and control changes to a project’s requirements. A ‘no’ answer. 2. you should be able to: monitor the progress of projects. Peter should also consider whether the delivery date of this project is critical.) The company management told the new project manager. the project manager. Is the team divided into subteams to start with? If it is a single team. The original estimate for the duration of the project was 18 months and for the first 12 months it kept to schedule. and to what extent. What are the various factors Peter should bear in mind while considering this offer? In terms of completing the project as soon as possible. However. • 1. what should Peter do? Solution to example: • 1. 3. Consider the answer to the following question: ‘Is the work technically complex. if he wanted to do so. revise targets to correct or counteract drift. 2. three months ago Amanda. . left the company and the project is now about two months behind schedule. with little knowledge of the rest of the system. and the project manager will have to consider the deployment of the two new team members carefully. six people already constitute quite a large team and two more will likely make the communication overhead worse unless the team can be divided into clearly identifiable and contained subprojects. What should Peter bear in mind? More often than not adding people to a late project has the potential to make it later. the addition of the two graduates may offer some potential for getting the project back on track. assess the risk of slippage. 4. however. 1. may mean that the two new team members may have little or no impact on the effort to try and get the project back on track.39 INF308J/102 Unit 8 outcomes: After studying Chapter 9 of the textbook. or even whether it will be possible that a further delay be tolerated in order to provide a training opportunity for the new graduates. Peter that two graduates will be joining the company directly from university in one week’s time and he could use them on this project to help get it back on schedule. What should Peter do? Use new graduates only with favourable responses to the above. Support the existing team as far as possible by: minimising interruptions. (All other team members have been with the project since it started. or are there sections where the new graduates can perform with little technical training. This is caused mainly by learning time (specific system and technology used) and the increased communication overhead. Example: Consider a six-person project that has been running for 15 months. 2. Hughes and Cotterel describe two function point methodologies. We include additional notes on function points and some examples in the remainder of Unit 9. Unit 9 outcomes: After studying Chapter 5 of the textbook. o analogy. This methodology superseded the original Allan Albrecht Function Point methodology. The first is the International FP User Group (IFPUG) methodology. and boost morale. and can apply. Unit 9 objectives: The aim of Chapter 5 of the textbook is to introduce the following concepts: when and where software estimation is done. count the function points and object points for a system. which is often referred to as an alternative to the IFPUG methodology. understand the range of estimating methods that can be used. and o COCOMO. estimate projects using a bottom-up approach. the different techniques. o object points. problems with estimation with reference to over. estimate the effort required to implement software using a procedural programming language. Extra reading material: The function point methodology is not explained clearly in the textbook. Study Chapter 5 in the textbook carefully and ensure that you understand. the basis for software estimation. you should be able to: avoid the dangers of unrealistic estimates.and under-estimation. . o function points (Albrecht and Mark II analysis). 6. The second is the Mark II function point methodology. o procedural code. provide necessary tools that the team may believe to be beneficial. and software estimation techniques including: o expert judgement. and you will be introduced to various software estimation techniques.40 INF308J/102 if not too late already.3 Unit 9: Software effort estimation This unit deals with the very important topic of software effort estimation. and understand the COCOMO approach to develop effort models. Is it a new development.Determine the project or application boundary: The project or application boundary identifies the border between the application being measured. 3. It monitors outsourcing agreements. 3. an enhancement. [2]. .1 IFPUG . & Herron D. but at a higher application level such as system level. Calculate the value adjustment factor.2 Mark II . the users and the external applications. 2.Functional size of each input. 6. whereas steps 6 and 7 adjust the value of these function points.External user types also referred to as ‘transactional functions’ (external input. Determine the value adjustment factor. Steps 3 and 4 The IFPUG 4. In IFPUG. external output. It measures productivity in function points per staff or calendar month.Data functions (internal logical files and external interface files) and their complexity. output & process transaction associated with each LT. suggest the following steps to size function points: 1.1 IFPUG . 5.Logical Transactions (LT). It evaluates support requirements. Determining the function point count: In order to accomplish the purpose of the function point methodology above. We will limit the discussion below to steps 2 to 5 in order to illustrate the application of both methodologies.2 Mark II . Determine the unadjusted function point count.41 INF308J/102 Function Point Methodology: Purpose of function point analysis: * * * * * * It determines the size of the software application or project in order to estimate the time and effort required to complete it. and external inquiries) and their complexity. Identify all 4.0 methodology analyses software requirements or user functionality relative to five component types. 4. It normalises the comparison of software modules. It estimates the cost of changing systems. Identify all: 3. 4. the boundary is based on the scope of the project as seen by the user. or an existing application that has to be counted? Identify the counting scope and application boundaries. Garmus D. Garmus & Herron [2] recommend that boundaries should not be established at the individual software program level. two of which are data-related and the remaining three are transaction-related. Application of steps 2 to 5 in the IFPUG function point methodology: Step 2 . These seven steps can be loosely grouped into two distinct phases: steps 1 to 5 focus on the counting of a project or application’s function points. 4. Determine the type of function point count. Determine the transactional functions: External Input transactions (EI) * An EI is a user-generated input transaction that: . Step 4 . * The following table is used to determine the complexity rating of the EI based on the number of data types and number of file types (ILF and EIF) accessed by the EI.Enters from outside the project boundary. based on the number of data element types and record element types associated with the ILF according to Table 5.The primary intent of an EO is to present information to a user through the retrieval of data or control information from an ILF or EIF. External Inquiry (EQ) * An External Inquiry (EQ): . From the above it is clear that EIF and ILF are mutually exclusive.’ [2] * Each file or database can consist of subgroups referred to as record types.3 on page 115 of the textbook. or alter the behaviour of the system. Refer to page 114.’ [2] * The number of data and file types referenced determine the complexity of an EO.Consists of an input/output pair that crosses the boundary.The processing logic must contain at least one mathematical formula or calculation. If different processing logic is required for each record type.Processes data or systems control information.‘Results in retrieval of data or control information that is sent outside the application boundary.42 INF308J/102 Step 3 . . A file can therefore not be classified as both an ILF and an EIF. [2] * The complexity of the EIF file is determined by assigning each file a functional complexity of low.3 on page 115 of the textbook. The purpose of the EIF is to ‘hold data referenced through one or more elementary processes within the boundary of the application counted. ‘The primary intent of the ILF is to hold data maintained through one or more elementary processes of the application being counted. . External Interface File types (EIF) * IFPUG defines an external interface file type (EIF) as a group of logically related data elements referenced by the application but maintained within the boundary of a different application. Internal Logical File types (ILF) * An internal logical file type (ILF) is a group of logically related data elements maintained within the boundary of the application. The classification of the data into Internal Logical files (ILF) or External Interface files (EIF) depends on whether the maintenance of the files (or database) falls within the project or application boundary or outside the boundary.‘elementary process of the application that generates data or control information that exits the boundary of the application. create derived data. .Identify the data-related components: * * IFPUG makes use of two data-related components. maintain one or more ILF's. the record types are counted separately. contrary to the information contained in the textbook. . average or high.5 (see below). An EIF for an application must be an ILF in another application’. Refer to Table 5. based on the number of data element types and record element types associated with that EIF according to Table 5.Maintains one or more ILFs and/or changes the behaviour of the system. External Output transactions (EO) * An EO is an: . * The complexity of the file is determined by assigning each file a functional complexity of low. . average or high. . An LT is triggered by an event outside the systems boundary. No ILF is maintained during processing. . .’ [2] The classification of transactions as EI and EO or EQ is mutually exclusive.43 INF308J/102 * * .4 and 5. Step 5 . Application of steps 2 to 5 in the Mark II function point methodology The Mark II (Mk II) methodology assumes a model of software where all user requirements are expressed in terms of ‘Logical Transactions’ (LT). some processing and an output component. Each LT comprises an input.Determine the unadjusted function point count: * * Based on the complexity rating derived for the five component types.The processing logic contains no mathematical formulas or calculations and creates no derived data.2 on page 115 of the textbook is referenced to determine the function point score for each component or external user type. such as a request for information.The primary intent is to present information to a user through the retrieval of data or control information from an ILF or EIF.5 (see below). The complexity of an EQ is determined by establishing a complexity rating for both the input and output part of the enquiry separately as per Table 5. The function points are summed to give the total IFPUG unadjusted function point count for the project or application being sized. The higher complexity rating is chosen as the complexity score for the EQ. and the behaviour of the application is not altered. Table 5. 26. the Employee entity may consist of Personal.58. The industry standard weights are as follows: Wi=0.Determine the unadjusted function point count: * * * The functional size of a LT is the weighted sum of the input. * A data element type is a uniquely processed item of information that is indivisible for the purposes of a LT being sized. It is a subdivision of an entity type which has all the attributes and relationships of its parent entity type.referencing its manipulation (i. the boundary of the project or application must be established. * The input and output components are sized by counting the number of data element types crossing the application boundary (inside and outside). The boundary determines which logical transactions are to be included in the count. list or delete).’ [5] Example: An Employee would be an entity type in a Personnel system. ‘Maintain Customer Details’ is not the lowest-level business process. such as a request for information or data input by the user. as well as the interfaces required to link to LT outside the application boundary. * The output element consists of formatting and presentation of information to the user. * The primary entity type may consist of primary entity subtypes.44 INF308J/102 Step 2 . if ‘Not Found’ add a new item.66 and Wo=0. Subtypes are counted separately. create. Each LT consists of three components: input across an application boundary. Each LT must be self-contained and leave the application in a consistent state. As an example.Identify and determine the functional size of the three components of each LT: The processing component of the LT * The processing component of each LT is analysed by: . processing. update. but implies a series of LT such as ‘View’ an existing item. Step 5 . We=1.e. * A primary entity type is: ‘One of the main entity-types which has the attributes that the application has been designed to process and/or store.stored data expressed logically as primary and primary entity subtypes in third normal form. etc.Determine the project or application boundary: * As with IFPUG.Identify the Logical Transactions (LT): * * * * Logical transactions are the smallest complete units of information processing that are meaningful to the end user. Step 4 . Work Experience and Job History detail with different processing rules. depending on the processing logic used. The sum of all LT determines the Mark II FP count. . and output components of the LT. (Subtypes can roughly be compared to IFPUG's record types. Input and output components of LT * The input element consists of the retrieval and validation of incoming data. A comparison between Mark II and IFPUG function point methodologiesGeneral: . Step 3 .e. processing involving stored data within the boundary and output back across the boundary. ‘Change’ the viewed item or ‘Delete’ it. and may have additional unique attributes and relationships i.) * The processing component of a LT is sized by counting the number of primary entity or sub-entity types that are referenced by the LT. read. the Mark II FP size for the same software can be calculated. Although Mark II had some advantages over the initial Albrecht FPA. 4. As a result of this pegging process. If the IFPUG raw data is available. Mark II is mainly used in Europe and the UK. the handling of error messages and control information. The weighing values have been calculated and are periodically validated. 8. the difference being in how the counts are constructed (refer to the previous sections). the base counts are used directly in the calculation of the functional size index. IFPUG uses 14 factors whereas Mark II adds another five to IFPUG's already existing 14. Weighting . the two scales should on average give the same size. EQ. medium or low) of each BLC.45 INF308J/102 1. These values may be calibrated.e. an additional analysis is made to map the file types of IFPUG to entity types and IFPUG's transaction types to Mark II's LT types. i. Both techniques use similar approaches to adjust for qualitative requirements. * Various differences in detail exist. Both define specific rules with regard to the boundary. In Mark II. IFPUG has a user base exceeding 1200 member companies in the USA. They also use a list of non-functional system characteristics which are evaluated on a scale from 0 (no influence) to 5 (high impact). Both derive base counts. Mark II uses a single type of BLC and expresses all functional requirements as a catalogue of LT. A comparison between Mark II and IFPUG function point counting in particular: When the Mark II weighting scale was first developed. Both focus on logical business requirements. 6. the aim was to produce sizes. IFPUG's weighting system has a distinct upper limit. Examples to illustrate IFPUG FPA and Mark II FPA: The question discussed here is similar to Question 7 of the Additional Exercises given on page 115 of the textbook. ILF and EIF.5. 7. 2. IFPUG has been enhanced to such an extent that the advantages have largely disappeared. Weighting . once converted. which has an impact on the calculation of FP for complex systems.in Mark II. so as to correspond to IFPUG function points. from historical data of numerous projects in a number of large development organisations. In IFPUG the base counts are used to determine the complexity (high. Owing to the classification used. and also allows practitioners to add more to the list.in IFPUG FPA the weighting system is more complex due to the larger number of BLC types. These differences are not considered vital for our understanding of the concepts and are therefore ignored. Both methodologies express functional requirements in terms of Base Logical Components (BLC). IFPUG uses five BLC types namely EI. which were comparable to those of the IFPUG FPA scale. One aspect in which Mark II offers more refinements is in the area of Technical Complexity Adjustment factors. Based on this. three different weights are used which add up to 2. 5. The FP size relationship for larger applications requires more complex calculations [6]. for the range of 200-400 IFPUG UFP (unadjusted function points). EO. 3. Particular detail: . e. o student numbers. financial detail. Data Entity Types All the course information is extracted from this file. general name. and o student names who have enrolled for the course. o days of the week course is presented. Questions: Calculate the UFP using the IFPUG methodology. time and duration. o time of course presentation. i. The request does not update files. The report is produced by an online request. o location. Information printed on the report includes: o course code. No calculations are made for the report. Student system: The file consists of 3 data sets For the report. o course description. i. course code are extracted student detail. Calculate the UFP using the Mark II methodology.e. if the programmer who is responsible for producing the report. counting purposes. The file is wholly maintained within the boundaries of the Time-Tabling system (of which the report forms part). (Error messages can be ignored for counting purposes. The Student detail file is maintained fully by the Student system and is read by the timetabling report. (record types).46 INF308J/102 A program in the College Time-Tabling system produces a report showing students who should be attending each time-tabled teaching activity per semester. days of the week course is presented. The report is printed on the local printer. Information is extracted from the following files (data groups): System Timetabling system File Time-tabling file. Calculate the cost to the University to produce the report. Record Types The file consists of 2 data groups (record types): one contains location data and the other contains course data. course detail and from this file.) (Error messages can be ignored for . course code and description. The following information is input: o course code and o semester number. is charged out at R 500 per day. student number.) Convert the FP count into SLOC for a ‘C’ system. location. 2 7 5 Greater of two ratings selected: 'average' IFPUG FP 7 5 Transaction ILF Determine the unadjusted function point count EIF EQ -Input EQ -Output 4 16 IFPUG FP Solution: Converting the UFP to SLOC for a program written in ‘C’. the FP can be converted into SLOC.5 days * R 500 per day = R 10 250.00 . For example. or change the behaviour of the system. All files updated within the borders of the time-tabling system will be regarded as Internal Logical Files (ILF). External Inquiry . External Output . Depending on the programming language used. It is used in a read-only capacity by the report. 1 IFPUG FP translates to 128 ‘C’ lines of code.The report does not classify as an EO transaction. For an EO. External Input .47 INF308J/102 Solution: Step Define the boundary Identify all data functions Identify all transactional functions Calculate the UFP using the IFPUG methodology. The SLOC must be converted into code per day. According to steps 6 & 7. the Project Manager can calculate the cost of new or enhancements to existing systems. it must contain at least one mathematical formula or calculation. the request must update one or more ILF or change the behaviour of the system. It lies within the boundary of the Time-Tabling system and is maintained only by that system. This is a measure of the size of the program or system. create derived data. The SLOC represents time and cost.The request for the report is not an EI. then: 2048 / 100 = 20. ILF: The Time-Tabling file is an ILF. The report printed likewise does not update any ILF nor does it perform any calculation or print any total. If the Programmer can write 100 tested LOC per day.5 Rating low low low average Value Table 5. The primary intent of the input request is to produce a report without updating any ILF. Analysis The boundary of the report is the time-tabling system. According to page 103 of the textbook. EIF: The Student details file is external to the time-tabling system as it is updated solely by the student system. To classify as an EI.5 days to write the report.48  20. all other files will be regarded as External Interface Files (EIF). In our case. maintain one or more ILF. the unadjusted (raw) FP will be used.The input and output parts of the report request comply with the EQ rules. Cost to the University: 20. Using this. Name Time Tabling Student Request Report TOTAL: Record/ File Types 2 Record Types 3 Record Types 1 Time Tabling 2 Time Tabling & Student Data Types 6 3 2 8 Table 5. it may be possible for a Programmer to write 100 SLOC per day. Therefore: 17 FP = 16*128 ‘C’ LOC = 2048 ‘C’ LOC Solution: Calculate the cost to produce the report.3 5. technical complexity factors can be applied to the UFP before converting it into SLOC.4 5.3 5. 54 Latest Developments on the FP Front. containing two data element types.gifpa. [3] Garmus.uk/news/8/p2 cosmic.58 1.26 2.3.html © UNISA (2010) . This is essentially a “LIST” transaction in Mark II terms. Function Point Analysis: Measurement Practices for Successful Software Projects. Identify the input and output components of LT. http://www.66 8. some of the latest software measure-ment tools such as COSMIC FFP are based on principles determined by IPFUG and Mk II and set out to measure and estimate complexity of multi-tier. Spring 2001.1. Calculate the logical transaction size in Mark II function points. Conversion between IFPUG 4. as well as any interfaces across the boundary. output and process part. In our case. It is the lowest process supported by the application.48 INF308J/102 Solution: FP calculation according to Mark II Function Point Methodology. (The error message is ignored in this Question).uk//library/Papers/Rule/MK2IFPUG. Analysis As for IFPUG.08 Total 11.0 and MkII Function Points. Type: Entity Types: Mark II Weight: Mark II FP: Input 2 data 0.html [5] Rule. Identify logical transactions.co. Software Measurement Services. David Consulting Group. The Power of Cosmic FFP. Modern IT practitioners may think that these productivity methodologies are more at home in a traditional third-generation environment. Issue 8. Step Define the boundary of the count. D. Function Point Counting in a real-time Environment. [4] Mark II FPA Counting Practices Manual CPM1. However. http://www. containing 8 data element types. D. Addison-Wesley.html [6] Software Measurement Services.uk/html/cpm_1.co.uksma.Extra reading material: [1] Burn-Murdoch. D. 2001.gifpa. 24 Aug 1999. G. Determining the boundary determines the logical transactions to be included in the count.co. Version 3. References used in compilation of Unit 9 . The input transaction consists of an inquiry.31. which will produce a report with data from the Time-Tabling and Student entities. A Comparison of the Mark II and IFPUG Variants of Function Point Analysis.gifpa.30 Output 8 data 0.uk [2] Garmus. The output transaction consists of the report.co. and Herron. The Student file consists of 3 data entity types and the Time-Tabling file of 2 data entity types. Version 4. Mark II refers to entity types in third normal form. M J. Identify and categorise the data and entity types. Each occurrence of such an entity type must be counted. Issues with IFPUG Counting Practices. [7] Software Measuring Services. Software Measurement Services. we are dealing with one LT. website address: http://www. multi-layer software architectures [7]. website address: http://www.16 Process 3+2 1. A LT consists of an input.
Copyright © 2024 DOKUMEN.SITE Inc.