Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.

Slides:



Advertisements
Similar presentations
CIS 376 Bruce R. Maxim UM-Dearborn
Advertisements

Chapter 2 – Software Processes
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
Systems Analysis and Design Feasibility Study. Introduction The Feasibility Study is the preliminary study that determines whether a proposed systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 2.
Project Management.
Acquiring Information Systems and Applications
Acquiring Information Systems and Applications
Initiating and Planning Systems Development Projects
Software Evolution Managing the processes of software system change
Project Estimation Describe project scope, alternatives, feasibility.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
CSEM01 SE Evolution & Management Anne Comer Helen Edwards
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 18-1 Accounting Information Systems 9 th Edition Marshall.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.
4. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the elements of project management and the responsibilities of a.
The Analyst as a Project Manager
Software evolution.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Acquiring Information Systems and Applications
Acquiring Information Systems and Applications
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Release & Deployment ITIL Version 3
Chapter 5 Initiating and Planning Systems Development Projects
Initiating and Planning Systems Development projects
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 6 Slide 1 Chapter 5 Initiating and Planning Systems Development.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Project Management Introduction to Project Management.
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Acquiring Information Systems and Applications
Chapter 5 : Initiating and Planning Systems Development Projects.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
© 2005 by Prentice Hall Chapter 5 Initiating and Planning Systems Development Projects Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer.
Acquiring Information Systems and Applications
Managing the Information Systems Project © Abdou Illia MIS Spring /26/2015.
CHAPTER 13 Acquiring Information Systems and Applications.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Project Management Methodology Development Stage.
Chapter 5 Initiating and Planning Systems Development Projects Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 4: Project Management and Planning Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Accounting systems design & evaluation 9434SB 18 March 2002.
MANAGEMENT INFORMATION SYSTEM
The Information Systems Development Processes Chapter 9.
Project Estimation Describe project scope, alternatives, feasibility.
Chapter 5 Initiating and Planning Systems Development Projects
Systems Analysis and Design in a Changing World, 4th Edition
Business System Development
Chapter 3 Managing the Information Systems Project
Chapter 5 Initiating and Planning Systems Development Projects
Systems Analysis and Design
Chapter 27 Software Change.
Chapter 8 Software Evolution.
Chapter 5 Initiating and Planning Systems Development Projects
Legacy system components
Software Re-engineering and Reverse Engineering
Presentation transcript:

Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn

System Evolution –process of transforming a troublesome system (often a legacy system) into a form which can continue in long term use Evolution Planning –tries to justify an approach to transforming a system (i.e. forward or reverse engineering) so that a realistic project plan can be formulated Evolution Planning Report –provides information to help managers plan system transformation and evolution

Evolution Planning Activities Justification –identifies candidate systems or components for evolution –determines feasibility and costs of evolution –formulates the best alternative Implementation –plan project, develop, and test Customer Delivery and Acceptance Deployment –distribution and use in the field

Evolution Planning Steps Define constraints on evolution project Define business goals and processes Obtain understanding of legacy system Identify target systems Formulate possible evolution strategies Assess target systems and strategy alternatives Chose the best alternative Plan evolution project

Evolution Strategies Continued maintenance –if reengineering or replacement cannot reduce maintenance or cannot be justified on the basis of costs and benefits Reengineering –when new development is too expensive, COTS is unavailable, and current system is not maintainable Replacing –COTS systems exist and the other two options are not feasible

Continued Maintenance Involves –understanding system design, implementation, documentation, and environment Advantages –safe Disadvantages –can be cumbersome in rapidly changing business environment –requires legacy environment skills

Replacement - part 1 Involves –introduction of new system to take over processing of the old system using data written by the old system Advantages –removal of old code –total adjustment to new technology - no compatibility concerns –may remove out of date working practices associated with old system

Replacement - part 2 Disadvantages –expensive and drastic –rapid introduction of new system is risky –people often reluctant to change –large risk (if it fails project fails)

Reengineering Involves –transformation of an existing system to realize quality improvements in operation, system capability, functionality, performance, or maintainability Several approaches discussed in next chapter –revamp (replace user interface) –restructure (change internal structure, without changing the external interfaces) –rearchitect (transformation of system by changing it to a different architecture - e.g. mainframe to distributed)

Financial Assessment of Target System Technical assessment information is collected for both the legacy and target systems Estimation of cost and predicted schedule is undertaken Risk assessment and mitigation is also undertaken A management decision must be made whether to proceed or not

Estimation Assumptions Need to establish the general rules under which an estimate is prepared Describe how technical issues relate to the estimating process and explain how each is treated Address uncertainty by allowing an assumption to be made about an input parameter when it is unknown Estimation and risk assessment are performed iteratively with respect to uncertainty

Develop Cost Estimate Consolidate your cost element estimates by converting cost to Present Value –estimate the system life –estimate the amount of investment for each year in system life –discount these amount using financial discounting rates and procedures so that they a represented using Net Present Value (NPV) –Total Present Value for the system will be the sum of the NPV amounts

Cost Risk Analysis Performed to choose the optimum evolution strategy from several candidates Accomplished by adjusting a cost element by the inherent risk associated with it –determine the major risk areas –compute an expected risk value using its distribution function –recalculate cost using the expected value

Cost Benefits Analysis Used to compare relative future costs and benefits for competing evolution strategies Analysis is based on Present Values computed for each strategy Total Cost = Investment + O&S for Strategy Total Benefit = O&S for Status Quo - O&S for Strategy (O&S is operation and support cost) Net Saving or Loss = Total Benefit - Investment Benefit Investment Ratio = (Total Benefit) / Investment

Reasons for Project Failure Lack of resources Failure to coordinate resources or activities Poor communication between stakeholders Poor estimates of cost or schedule Inadequate planning Lack of control over processes or products Poor risk management procedures Poor contract or procurement procedures

Evolution Considerations- part 1 Information dissemination –progress and new working procedures Management coordination Training –technicians and users Purchase and installation of hardware & software –done in parallel with operation of legacy system Arrange for consultants –hardware, software, evolution procedures Data transfer coordination –for testing and deployment with live data

Evolution Considerations- part 2 Deployment approach –phased or big bang Temporary removal of legacy system technicians from operations and maintenance –legacy system assessment –training –new development activities –creation of user training center Temporary removal of legacy system users from normal business activities –legacy system assessment –user training

Planning Process Define and document target system and all project deliverables Define and document all tasks necessary to produce deliverable and assure product quality Identify and document task dependencies Schedule is planned by linking planned resources with available resources (taking risk into account) Several iterations of the the plan are usually required to take each stakeholders needs into account