System Development Phase : Project Management and Cost Project management Project management is the ongoing process of directing and coordinating all the steps in.
Download ReportTranscript System Development Phase : Project Management and Cost Project management Project management is the ongoing process of directing and coordinating all the steps in.
System Development Phase : Project Management and Cost Project management Project management is the ongoing process of directing and coordinating all the steps in the development of an information system. Effective project management is necessary throughout the entire systems development life cycle, not just during the systems development phase; by placing project management at this point in the text, we do not mean to imply that project management is relevant only during systems development. 1 • Project management overview The goal of project management is to produce an information system that is acceptable to its end users and that is developed within the specified time frame and budget. The acceptability, deadline, and budget criteria must all be met for a project to be considered completely successful. Failing to meet any one of these three criteria usually indicates a failure, at least in part, in project management. Even though outside factors might contribute significantly to project failure, the role of project management is to recognize such factors and to eliminate or minimize their negative effects. 2 The job of a project manager is to manage a project to develop an information system. The project manager is usually a member of the information systems department, typically a senior systems analyst. The project manager might also be called the project leader or When appropriate, the lead analyst or the chief programmer. Most IS projects also have a project coordinator. The project coordinator handles the administrative and procedural responsibilities for the developing IS. This person also negotiates between end users when they have conflicting requirements and makes the final ruling on all 3 requests for change to the system requirements document after the requirements have been frozen. General management functions In business today, the generally recognized management functions are planning, staffing, organizing, directing, and controlling. These five functions apply to all types of managers in all kinds of situations; an information system project manager is no exception. 4 Project planning Project planning takes place at both the beginning and end of every SDLC phase. End-of-phase planning is necessary for formulating estimates of costs, manpower requirements, and schedules for all subsequent phases; these estimates, which are included in the documents prepared at the end of each phase, are used by management to decide on future action. Planning is necessary at the beginning of each phase to determine all the specific activities to be accomplished during that phase. An activity, or task, is any project-related work requiring the use of project 5 resources (personnel, time, or money) or any external effort that impacts the project. Examples of internal activities are conducting an interview, designing a report layout, and selecting equipment for purchase, whereas awaiting the delivery of purchase d equipment is an example of an external activity. An activity is the smallest unit of work over which the project manager desire control. An event is a project milestone representing the beginning or end of an activity. Each activity has two related events: one event represents the activity’s beginning, and the other event represents the activity’s 6 completion. Some events signal the end of one activity and the start of another activity. Project estimating Determining realistic time estimates for project activities is one of the most difficult of a project manager’s duties. The project manager must consider many factors that can affect time requirements. One of the most important of these factors is the size of the project, because the relationship between a project’s size and its required development resources is not proportional. 7 The attributes of individual project team members also affect time requirements. A team member with less experience, knowledge, education, maturity, and imagination requires more time to complete a project activity than does a more knowledgeable and experienced team member. Other examples of factors that can affect project time requirements include the attitudes and availability of end users, the level of upper management commitment, and the priority of the project compared to the priority of other projects in progress within the organization. 8 Most of the research done on estimating techniques concerns programming activities during the systems development phase. Project managers typically use one of three methods (or combination of these methods) to estimate programming times. These methods are the quantitative method, the experience method, and the constraint method. Project scheduling The project scheduling functions of the project manager include determining the order in which activities will be performed, setting start and end times for each activity, and assigning specific tasks to team members. 9 The first step in determining the order for performing activities is to identify all activity dependencies. To say that an activity is dependent means that the activity cannot be started until one or more of the other activities have been completed. Scheduling tools Several graphical planning aids can assist a project manager in the scheduling process. We will examine two of these tools: Gantt charts and PERT/CPM. • Gantt charts 10 Plan and Schedule Await Hardware delivery Programming Install Hardware Convert Files Write User Manual Program Testing User Training System Test User Test - A Gantt chart 20 40 60 80 100 120 140 160 11 Elapsed Time (in days) • PERT/CPM The Program Evaluation Review Technique (PERT) Is a network model that allows for randomness in activity completion times. PERT was developed by the Navy Special Projects Office in the 1950s to control the development of the Polaris submarine missile program. At approximately the same time, the Critical Path Method (CPM) was developed by private industry to meet similar project management needs. The important distinctions between the two methods have disappeared over time, so today the technique is generally called PERT/CPM. 12 PERT/CPM 1 Activity Description 2 Activity Duration EVENT 1 ACTIVITY EVENT 2 3 4 EVENT 3 DUMMY ACTIVITY EVENT 4 13 • PERT/CPM Plan and Schedule5 1 18 2 Programming 70 4 Program Testing 8 30 5 Await Hardware Delivery 3 7 Install Hardware 10 Write User Manual 5 System Test 25 User Training 20 10 9 User Test 25 11 25 25 Convert files 6 14 Activity duration Traditional PERT techniques use a formula for calculating estimated activity duration. The project manager first determines three time estimates for each activity: • Optimistic time (O) – generally the shortest time in which the activity can be completed. • Most likely time (M) – the completion time having the highest probability. • Pessimistic estimate (P) – the longest time that an activity might require. The expected activity duration is then calculated as : expected time = (O + 4M + P) / 6 15 For example, the project manager might estimate that a file-conversion activity could be completed in as few as twenty days or could take as many as thirty-four days, but is most likely to require twenty-four days. Using the formula, the expected activity duration is 25 days from the calculation: (20 + 4 x 24 + 34) / 6 = 25 16 Critical path The critical path has been defined as the path with the most time required from the start to the finish of the project. The critical path can be derived by tracing the total duration time for all tasks for every path from the start to the end of the project. The path with the longest duration time is the critical path. From example: The critical path is : 1-2-4-8-10-9-11 17 Cost considerations Throughout the entire systems development life cycle, project managers and system analysts must be concerned with costs. Estimates of projected costs and benefits must be determined at the end of each SDLC phase as input to the end-of-phase management decision. • Cost classifications Costs can be classified as tangible or intangible, direct or indirect, and fixed or variable. Benefit considerations Recognizing and understanding the various classifications of benefits is helpful when you want to identify all the benefits of an IS project. Like costs, 18 benefits can be classified as tangible or intangible, fixed or variable, and direct or indirect. Another useful benefit classification relates to the source of the benefit: positive benefits versus cost-avoidance benefits. Positive benefits are those that increase revenues, improve services to customers or employees, or otherwise contribute to the organization or its image as a direct result of the performance of the IS. Examples of positive benefits include improved information availability, greater flexibility, faster service to customers, support for new products or capabilities, and better inventory management. 19 Frequently, an information systems project is initiated in order to eliminate the high costs of a current operation. The new system is expected to provide significant cost-avoidance benefits. Examples of costavoidance benefits include reduced clerical cost and reduced overtime wages. In general, a new information system will achieve cost-avoidance benefits equal to all the operating costs of the system that it replaces. Cost-avoidance benefits are as important and as real as positive benefits. You must consider both types of benefits when you perform cost-benefit analyses. 20 Cost-benefit analysis After the costs and benefits have been identified and quantified, the next step is a cost/benefit analysis, in which each cost or benefit is evaluated in relation to each alternative. Numerous methods are used to accomplish this task. The following are some cost/benefit analysis methods: • Pay-back analysis • Break-Even analysis • Present value analysis • Net Present Value analysis • Depreciation model 21 • Pay-back analysis Pay-back analysis determines the time it takes for the benefits to equal the initial investment. With this method the analyst calculates how long it takes for the benefits to pay back the costs incurred during development and usage. The simplest form of this determination is : Pay-back = Investment After-tax yearly savings For example, assume that a project requires an initial investment of $1,000,000 with a yearly after-tax savings of $250,000 resulting from completion of the project. The formula now becomes 22 Pay-back = 1,000,000 250,000 = 4 years Example of simple payback, consider the lighting retrofit of a 10,000-square-foot commercial office building. relamping with T-8 lamps and electronic, high-efficiency ballasts may cost around $13,300 ($50 each for 266 fixtures) and produce annual savings of around $4,800 per year (80,000 kWh at $0.06/kWh). The simple payback time for this improvement would be $13,000/$4,800 annually = 2.8 years. That is, the improvement would pay for itself in 2.8 years 23 • Break-Even analysis Current system Costs in $ Return on investment Fix costs $20,000 Proposed system Investment 0 1,000 Break-Even analysis Units 24 25 • Present value analysis and Net Present Value analysis The cost/benefit formulas that consider present and future values of money. Future value formula F = P(1 + i)n Present value formula P= F (1 + i)n Where P = principal sum or present value F = future value, compounded amount of the principal sum i = nominal rate of interest n = number of interest periods 26 Programming, Testing, and Documentation During the system development phase, programmers code, test, and document individual programs; the systems analyst oversees these activities. Program development • Review the program documentation • Design the program • Code the program • Test the program • Document the program Documentation Documentation is the written material that explains what 27 the information system does and how people interact with the system. • Program documentation • System documentation • Operations documentation • End user documentation Testing Programmers are responsible for unit testing the individual programs they develop. After the programmers have tested each program, then the programs within the system that depend on one another must be tested together, and finally the entire system must be tested. 28 System Implementation and Evaluation Phase : When the systems implementation and evaluation phase begins, all the software and hardware for the new information system is complete and available. As the first step in this phase, you prepare a production environment and transfer the programs and procedures for the new information system into that environment. In the second activity of this phase, you are involved in the training of the end users, operations personnel, and other people who will interact with the new information system. After all the training has been completed , you 29 perform the actual conversion effort, which includes file conversion and system changeover. The last two activities of the system implementation and evaluation phase are the post-implementation evaluation and the final report to management. • Operational and test environment • Training • Equipment conversion • install computer & peripheral equipment • File conversion • System conversion • Auditing • Evaluation 30 Old System New System DIRECT CHANGEOVER Old System New System PARALLEL OPERATION Old System New System PILOT OPERATION Old System New System PHASED CHANGEOVER 31 System conversion Changeover method Direct changeover Parallel Operation Pilot Operation Phased Changeover Risk High Low Medium Medium Cost Low High Medium Medium 32 Maintenance • Factors in Maintenance The information needs of businesses constantly change in response to external and internal factors. External factors that may require system changes include the general business climate, a competitor’s introduction of new products and services, and imposition of new rules and regulations by governments. Internal factors include changes in user requirements and responses to methodological and technological changes. In addition, all systems contain inadequacies and errors overlooked 33 during system development. Existing system—whether they are newly developed and installed systems or older systems that are still in service—require the following modification: • Correcting errors • Improving and enhancing the system • Interfacing systems with other applications, systems, and technology The implementation of these changes is the reason why maintenance consumes more time, effort, and money than do new system development activities for the business. 34 Types of Maintenance • Ongoing Maintenance The firm has ongoing maintenance needs, which are usually taken care of by programs that perform some type of maintenance on a regular basis. They update files, update records and data items within files, update business accounts, reset totals, modify table entries, and perform a host of other activities. Files and databases are backed up and copied. The number of files within a firm is reduced as a result of purging inactive files and records. Storages space for data is reduced by 35 reorganizing files, indexes, and directories. Files undergo conversions involving formats, media, and physical locations. New versions of vendor software and hardware may replace older version. • Maintenance Categories • Corrective maintenance • Perfective maintenance • Adaptive maintenance Corrective maintenance entails action to eliminate errors and failures. Perfective maintenance represents actions to improve or maintain system performance. 36 Adaptive maintenance embodies actions to adapt system to new methodologies, functions, or technologies. Maintenance Tools and Methods Tools that support maintenance design and development activities are : • Prototyping • Modeling methods and tools supporting them • Structured methods and tools supporting them • Design/development dictionaries • Design/developer CASE workbenches • Computer-aided tools and methods such as CASE utility software 37 Maintenance Activities The major influences on maintenance include: • Type of application • Age of the system • Size of the system and programs • Complexity of the system and programs • Dependence within and between systems • Quality and completeness of development documentation • Level of user understanding of the system • Level of user involvement in the project 38 • Maintenance Role The team that develops a system is not always used to maintain the system once it is operational. Often, a separate maintenance team is employed to ensure that the system runs properly. The new team may be more objective than the original developers. A separate team may find it easier to distinguish how a system should work from how it does work. 39 The maintenance team involved in many activities such as: • understanding the system • locating information in system documentation • keeping system documentation up to date • extending existing functions to accommodate new or changing requirements • adding new functions to the system • finding the source of system failures or problems • locating and correcting faults • answering questions about the way the system works 40 • restructuring design and code components • rewriting design and code components • deleting design and code components that are no longer useful • managing changes to the system as they are made In addition, maintenance team members work with users, operator, and customers. First, they try to understand the problem as expressed in the user's language. Then, the problem is transformed into a request for modification. 41 The change request includes a description of how the system works now, how the user wants the system to work, and what modifications are needed to produce the changes. Once design or code is modified and tested, the maintenance team retrains the user, if necessary. 42