350 likes | 506 Views
Business Process Re-engineering Discussion Questions. From last week – Further explore the Ford 2000/BRP Mini-case on the Internet. Was the Ford 2000 initiative a success? What measures of success are quoted?. Enterprise IT Management Managing Systems Development. Introduction.
E N D
Business Process Re-engineeringDiscussion Questions From last week – Further explore the Ford 2000/BRP Mini-case on the Internet. Was the Ford 2000 initiative a success? What measures of success are quoted?
Enterprise IT Management Managing Systems Development • Introduction. • Management Issues. • The Challenges of Applications Development. • Traditional Lifecycle Approach. • Prototyping. • Enterprise resource planning (ERP) • Legacy Systems • Application Project Management. • Business Case Development. • Phase Review Process. • Managing the Review Process. • Resource Allocation and Control. • Risk. • Successful Systems Development. • Conclusion.
Managing Systems DevelopmentIntroduction The development of application systems is a major response of business to an aggressively changing business environment. Therefore the management of application systems development is one of the most critical, challenging and demanding task undertaken by I.T. management. It requires estimates of how business will benefit from the new system, how quality can be improved, and what to do with legacy systems.
Managing Systems DevelopmentManagement Issues Application systems development is now one of the significant tasks undertaken in contemporary business. Therefore it poses the questions: “How do you estimate the benefits of the proposed system?” “How can higher quality systems be developed?” “How can legacy systems be improved?” Unfortunately, many businesses do not measure efficiency – they are too busy maintaining it. However, you must measure efficiency to control it.
Managing Systems DevelopmentThe Challenge of Apps. Dev. Application development is a significant concern for many organizations. In some cases application development is a very traumatic experience for both developers and clients. For example – a large university introduced a student registration systems, which subsequently failed, creating major embarrassment for the administration. “We have just experienced the pain of new technology” commented the university’s CEO – conveniently avoiding the real issues.
Managing Systems DevelopmentThe Challenge of Apps. Dev. Application development is one of IT managers’ most difficult tasks. Difficulties seem to fall into two categories: • Problems with programming and software development. • Problems with the business or its management.
Managing Systems DevelopmentThe Challenge of Apps. Dev. Software development is an intellectual process, and software itself is very flexible and easily changed. Changing a line of code is easy, BUT completely understanding the effect of that change may be very difficult – especially if that line of code is part of a very large program. Therefore, large programs tend to be rigid, inflexible and difficult change without generating large errors. While application size and complexity continue to grow rapidly, this has not been matched by increased capability in software development tools and techniques.
Managing Systems DevelopmentThe Challenge of Apps. Dev. In many cases the organization and its managers are also part of the applications development challenge.Difficulties include: • Organizational environment factors that cause conflict, often experienced as the gap between executive expectations and the developer’s ability to deliver. • Inadequate development tools. • Improperly skilled developers • Failure to use improved techniques • Weak management control systems.
Managing Systems DevelopmentThe Challenge of Apps. Dev. On the other hand, the successful completion of an applications systems development project is achievable by the adoption of proven project management processes. “Projects that succeed are just about the most satisfying work experience you can have”.
Managing Systems DevelopmentTraditional Lifecycle Approach The traditional development method for systems is the Systems (or Software) Development Life Cycle approach (SDLC) – also called the Waterfall approach. This can be represented in 6 stages: • Initial investigation – a request from the user • Requirements definition • General design • Development • Installation • Post-installation activities
Managing Systems DevelopmentTraditional Lifecycle Approach The life-cycle approach divides the complex task of systems development into phases, each culminating in a management review. Partitioning a project and using a phased approach offers many advantages: • Complex activities are more easily understood and controlled in small increments. • Interactions between various members of a project team is easier to manage incrementally. • Managers are able to evaluate progress and make decisions more effectively on a phased basis.
Managing Systems DevelopmentTraditional Lifecycle Approach Initial Investigation Phase 1 Review Requirements Definition Phase 2 Review General Design Phase 3 Review Development Phase 4 Review Installation Phase 5 Review Phase 6 Review Post-installation Activities
Managing Systems DevelopmentPrototyping Prototyping is a working model of a system or package that is built to understand the full requirements of the final system. The difference between SDLC and prototyping is that the prototype is built in order to establish the correct requirements. Instead of trying to establish requirements at the early stages of the project, prototyping allows developers and users to develop a rough working model of the system upon which to test assumptions.
Managing Systems DevelopmentPrototyping In systems development, prototyping is the first stage in developing a software application. It provides: • A live, working micro-system – not just a simulation. • A system for testing assumptions. • A quick result – in weeks or months, not years! • A (relatively) inexpensive result – using code generators is common. • An iterative process that builds on the basic functions, runs them, then allows development of refinement in further iterations.
Managing Systems DevelopmentPrototyping There are two main types of prototype: A throwaway prototype is designed to test ideas, develop requirements, and is useful for making comparison between different designs and conflicting objectives. An evolutionary prototype is designed to achieve a finished, permanent, and operational systems product.
Managing Systems DevelopmentPrototyping Stages in developing a prototype Develop Prototype Use the Prototype Evaluate, refine & modify Systems Development Initiated Investigate and analyse problem sufficiently to develop workable solution Prototype Iteration Implement a component or system
Managing Systems DevelopmentPrototyping ADVANTAGES • Users can try the system and provide constructive feedback. • An operational prototype can be produced in weeks. • Users become most positive as they see their needs being met. • Early detection of Errors and omissions DISADVANTAGES • If the first iteration is wrong, it must be discarded, otherwise subsequent solutions will build upon the flawed first solution. • There are no formal, end-of-phase reviews. • Systems documentation is often forgotten. • Systems backup, recovery, performance and security may be overlooked.
Managing Systems DevelopmentEnterprise Resource Planning During the 1990s a number of factors encouraged organizations to adopt tightly packaged enterprise resource planning (ERP) systems. They include: • A desire for functionality across the whole organization. • Need to remain competitive. • A response to the Y2K problem • The need to replace legacy systems, migrate software and databases, make make sure that all the components work together on a network.
Managing Systems DevelopmentEnterprise Resource Planning A major ERP vendor is SAP – Systemanalyse und Programmentwicklung – who offer a complete set of business applications that include: • Sales & Distribution • Material Management • Production Planning • Quality Management • Plant Maintenance • Human resources • Financial Accounting • Controlling • Asset Management • Project System • Workflow • Industry Solutions
Managing Systems DevelopmentEnterprise Resource Planning Key issues in implementing ERP include: • Must appreciate just how big a job it is. • It is a business project that must be fully supported by sponsors and senior management. • Teams must be carefully selected and share the “vision”. • It will involve a complete reworking of the business system – there will only be one chance to get it right. • Change management is essential. • Training must include the concepts as well as the detail. • Keep the project aligned with the business plan. • Expect resistance to change • Have a clear plan for the end of the project.
Managing Systems DevelopmentLegacy Systems A legacy system is one that is operational, but uses older technology. Such systems are often value-adding for a business, but require a considerable maintenance expenditure. Many legacy systems were developed in the “mainframe era” with dedicated specialist support. In many cases the software was developed without adequate documentation and was not strongly aligned with the business.
Managing Systems DevelopmentLegacy Systems Six options for improving a legacy system are: Completely rewrite the code- it is not viable, and the design is poor. Replace the old system with an ERP or application that produces better results. Refurbish the system if it still produces a result with only a few problems. Rejuvenate the system by adding new functions. Restructure the code to make it work with no problems. Reengineer the the data element and logic, and port to a new platform.
Managing Systems DevelopmentApplication Project Management Managing application development projects consists of many elements in common with other projects, plus additional elements unique to systems development projects. For large and complex systems development projects the success rate is relatively low.This is due to the special nature of systems development projects, and because the differences are critical to the approach employed by managers.
Managing Systems DevelopmentApplication Project Management The essential elements of the system development project: • Business case development. • Phase review process. • Managing reviews. • Resource allocation and control. • Risk analysis. • Risk reduction.
Managing Systems DevelopmentBusiness Case Development A systems development project’s business case lists investment resources and estimates investment returns. It defines the expected cost to the organization, and describes the benefits expected from the completed project. To provide a comparison of alternatives, the business case addresses tangible and intangible costs and benefits, always including the option of doing nothing. This analysis will be undertaken using the appropriate financial management tools.
Managing Systems DevelopmentPhase Review Process This is a management oriented approach that allows managers to monitor progress at each phase and examine plans for the future. The completion of each phase is when decisions must be made – to continue with the project, continue with changes, or terminate the project. Often the decision will be conditional on review at a later phase. It is always possible that subsequent reviews may uncover facts that modify the basis for making decisions.
Managing Systems DevelopmentManaging the Review Process The review process is the basis for good management decision making. This process must include: • Unambiguous documentation of the project scope and of each phase review. • A clear statement of the assumptions and dependencies in the overall plan an at each phase. • The resolution of any issues or disagreements that occur at each phase review. • Identification of the reasons that underlie changes and variances in the project. • Procedures for issue tracking and reporting. • Documentation and summary reporting of phase review results and conclusions.
Managing Systems DevelopmentResource Allocation & Control Managers must track and control human resources just as they must control other resources, for example computer systems, office space and financial resources. Life-cycle resource management and control are fundamental to project management success. Information describing resource deployment by skill type is part of the application development plan. The resource plan must be available during the project’s life – additional details and refinements are added at each phase review. During each phase, managers must track resources by the skill types and the plan.
Managing Systems DevelopmentRisk Analysis Risk analysis is the way managers seek indicators of project success, throughout the life of the project. Managers undertake to deliver a product or service in the future – at predicted costs and with a defined function. These commitments are made based upon risk analysis – understanding the risks involved. Furthermore, as a project proceeds managers must mitigate risks that emerge in order to meet their commitments. If, during the project, and unfavourable risk trend emerges, managers must take corrective action to meet previous commitments.
Managing Systems DevelopmentRisk Reduction Quantifying project risks is good project management, allowing managers to act to reduce or mitigate the risks, and take advantage of risk trends. Completely eliminating all project risks is often impossible, but identifying areas of risk and managing them well is an essential task for the project manager. Management actions to control risks include deploying special resources, applying special control techniques, or using lower risk alternatives. Project managers have many resources at their disposal for managing problems during the projects life.
Managing Systems DevelopmentSuccessful Systems Development Successful systems development thrives on controlled processes, leading to predictable results and handling increasing complexity. The successful outcome is surprise-free products that meet all the technical and functional requirements. Successful project management ensures that schedules and budgets are achieved, and the project remains on target with the business case. Undertaking the review process ensures that the project goals are realized, and successful application management produces predictable products that add value to the organization.
Managing Systems DevelopmentConclusion Systems development management should build upon the organization’s management processes, and contribute to the business goals in a clear and positive way. Senior management need to know that IT development activities are well planned and aligned with corporate strategy. Executives’ expectations of IT are likely to be realistic when projects are well managed. Realistic expectations and successful projects are key success factors for I.T. managers.
Managing Systems DevelopmentReview Questions What key questions underlie applications systems development? What types of difficulties are faced in applications systems development? Describe the systems development life cycle. Why do you think the systems development life cycle is also called the Waterfall approach? What are the advantages of the phased approach? What is the main difference between the systems development life cycle and prototyping? What are the advantages of prototyping? What are the disadvantages of prototyping?
Managing Systems DevelopmentReview Questions What relationship is there between enterprise resource planning (ERP) systems and legacy systems? List the essential ‘human activities’ in implementing an ERP. Does a legacy system have any value to a modern organization? What are the essential elements of application - systems development project management? What is the relationship between risk analysis and risk reduction? What are the two key success factors for IT managers undertaking systems development?