1 Software Maintenance and Evolution CSSE 575: Session 4, Part 2 Software Maintenance Process Steve Chenoweth Office Phone: (812) 877-8974 Cell: (937)

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

Environmental Management System (EMS)
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
ITIL: Service Transition
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Software Construction and Evolution - CSSE 375 Software Maintenance at 30K Feet Shawn and Steve Left – Tibet from ft. (~9 km).
1 Software Maintenance and Evolution CSSE 575: Session 4, Part 1 Software Maintenance – Big Issues served up, Side order of Reifer Steve Chenoweth Office.
Software Configuration Management
Software life cycle processes Purpose n A new international standard (ISO/IEC 12207:1995(E) that –establishes a common framework for software life cycle.
Chapter 5 IT Processes Presented by Dr. Mohamed Sammouda.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Requirements Management.
Managing the Information Technology Resource Jerry N. Luftman
Software Project Transition Planning
1 The Maintenance Process Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture.
Secure System Administration & Certification DITSCAP Manual (Chapter 6) Phase 4 Post Accreditation Stephen I. Khan Ted Chapman University of Tulsa Department.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
Maintenance Framework Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Ref M 2.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
The Agile vs. Waterfall Methodologies Systems Development:  the activity of creating new or modifying / enhancing existing business systems.  Objectives.
CS 577b Software Engineering II -- Introduction
Introduction to Computer Technology
Release & Deployment ITIL Version 3
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
S/W Project Management
The Key Process Areas for Level 2: Repeatable Ralph Covington David Wang.
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
Pre-Project Activities Text Chapters 5 and 6. Pre-Project Activities 1.Contract Review 2.Development Plan 3.Quality Plan.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Introduction to Software Quality Assurance (SQA)
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Roles and Responsibilities
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Certification and Accreditation CS Phase-1: Definition Atif Sultanuddin Raja Chawat Raja Chawat.
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.
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Georgia Institute of Technology CS 4320 Fall 2003.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
A Best Practice Approach for Software Maintenance - Sustaining Critical Capability Paul R. Croll Chair, IEEE Software and Systems Engineering Standards.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
1 | 2010 Lecture 3: Project processes. Covered in this lecture Project processes Project Planning (PP) Project Assessment & Control (PAC) Risk Management.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
1 Overview of Maintenance CPRE 416-Software Evolution and Maintenance-Lecture 3.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
Evaluate Phase Pertemuan Matakuliah: A0774/Information Technology Capital Budgeting Tahun: 2009.
State of Georgia Release Management Training
QMS Training TM Module.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
CS223: Software Engineering Lecture 32: Software Maintenance.
IS&T Project Reviews September 9, Project Review Overview Facilitative approach that actively engages a number of key project staff and senior IS&T.
 System Requirement Specification and System Planning.
Software Engineering — Software Life Cycle Processes — Maintenance
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Software Configuration Management
Software Project Configuration Management
Overview Software Maintenance and Evolution Definitions
Chapter 18 Maintaining Information Systems
TechStambha PMP Certification Training
IEEE Std 1074: Standard for Software Lifecycle
Development Projects / Analysis Projects / On-site Service Projects
Chapter 1 (pages 4-9); Overview of SDLC
IS&T Project Reviews September 9, 2004.
Software Reviews.
Presentation transcript:

1 Software Maintenance and Evolution CSSE 575: Session 4, Part 2 Software Maintenance Process Steve Chenoweth Office Phone: (812) Cell: (937) Above – Hill AFB’s maintenance process, from ctures/Measurements%20to%20Manage%20Soft ware%20Maintenance%20-%20July%2097.htm

2 Maintenance topics on these slides The financials and planning of a maintenance activity Ingredients of the maintenance process – E.g., role of release management Maintenance process standards Maintainability

3 Discretionary and Non-Discretionary $ Since Development and Maintenance can be somewhat ambiguous situations, money often determines the label The boundary becomes: – Estimated cost (>$5000) – Estimated effort (> 20 hours of effort)

4 Development versus Maintenance Risk Development Risks – Technology - sometimes bleeding edge – Personnel - sometimes high turnover – Budget - risk entrepreneurial investments – Business - business case based on future customers Maintenance Risks – Technology - sometimes technology obsolete – Personnel - sometimes dated skills – Budget - risk averse cost containment – Business - business case based on existing customers

5 Key Software Maintenance Factors Software Product User Requirements (i.e., Change Request and Specification) Organizational Environment Operational Environment Maintenance Personnel Maintenance Process

6 Software Product Application domain Documentation quality Code flexibility Code complexity/structure Product quality

7 User Requirements Requests for additional features Correction of defects (bugs) Other support (e.g. training, help desk)

8 Organizational Environment Change in Policies – Medical – FDA Medical Device Regulation Competition Informal standards – like: – What your client is used to! – What the developers are used to! Internal Management Changes – Mergers and Acquisitions

9 Operational Environment Hardware Communications Operating Systems Systems Software Third Party Software

10 Maintenance Personnel Staff Turnover Application Domain Expertise Working Practices

11 Ingredients of a Maintenance Process (1 of 2) Process requests before working on them: – Capture maintenance requests – Deal with Emergency Fixes/Priority CRs – Investigate change requests Verify bugs from DRs/PRs Understand the impacts (1 st Impact Analysis) – Estimate the Effort / Cost – Prioritize requests Competing against other requests! – Assigning to maintenance release and team – Scheduling the maintenance release

12 Ingredients of a Maintenance Process (2 of 2) Conduct detailed Impact Analysis Update estimates Update estimates Plan the change strategies Plan the change strategies Update Requirements (as needed) Update Requirements (as needed) More on this – Thursday… More on this – Thursday… Design the Changes Plan the implementation Plan the implementation Update Design (Architecture, Logical, Physical) Update Design (Architecture, Logical, Physical) Implement and Integrate the Changes Test Changes with Various Configurations Deciding to send it out Special, or in a specific sub-release Special, or in a specific sub-release Deploy the Release Above – A process overview, which shows how processes interrelate here (and often their associated organizations). From 005/10/25/ aspx

13 What is Release Management? The key role in managing what goes out next A team or person who makes those decisions – Consider what customers want ASAP – Consider what’s tested & ready to include – Take out “extras” you don’t want A cool software management job for technical people

14 Example Maintenance Process “Pre-fixing” “Pre-fixing” Help Desk Help Desk Technical Support Technical Support Maintenance Personnel Maintenance Personnel Customers instead of Users! Customers instead of Users! ance_process.asp

15 Maintenance in the System Life Cycle SYSTEM LIFE CYCLE PROJECT ASSESSMENT PROJECT PLANNING PROJECT CONTROL DECISION MAKING RISK MANAGEMENT CONFIGURATION MANAGEMENT INFORMATION MANAGEMENT ENTERPRISE(5) SYSTEM LIFE CYCLE MANAGEMENT RESOURCE MANAGEMENT QUALITY MANAGEMENT ENTERPRISE ENVIRONMENT MANAGEMENT INVESTMENT MANAGEMENT TECHNICAL (11) PROJECT (7) ACQUISITION SUPPLY AGREEMENT (2) TRANSITION STAKEHOLDER REQUIREMENTS DEFINITION REQUIREMENTS ANALYSIS ARCHITECTURAL DESIGN IMPLEMENTATION INTEGRATION VERIFICATION VALIDATION OPERATION MAINTENANCE DISPOSAL (25) ISO/IEC System Life Cycle Processes

16 Maintenance in the Software Life Cycle MAINTENANCE IEEE/EIA Software Life Cycle Processes

’s Maintenance Process A Primary Life Cycle Process § 5.5 (ISO/IEC 14764) Defines the basic activities of the maintainer: managing modifications to the software product to keep it current and in operational fitness. Activity Tasks 1 Process ImplementationDocument maintenance activities, problem tracking procedures, & Manage modifications to the system. 2 Problem and modification Analyze problem reports. Replicate or verify analysis problems. Develop modifications. Document problems, analysis, fixes. Get modifications approved. 3 Modification implementationDocument where changes are needed. Implement modifications and test. 4 Maintenance review/ Review integrity of modified system. Get approval for acceptancemodifications. 5 MigrationEnsure products meet standard. Develop and use Migration Plan. Notify users of migration. Conduct parallel operations if needed. Notify all concerned, archive all records. Perform post-op review of changes. Keep data from old environment. 6 Software retirementDocument plans for retirement. Notify all users of plans and activities. Conduct parallel operations. Notify all concerned, archive all records. Keep data from retired product per contract.

18 Maintenance Process Standards ISO/IEC Process Implementation Problem and modification analysis Modification implementation Maintenance review/acceptance Migration Software retirement IEEE STD 1219 Problem identification Analysis Design Implementation System test Acceptance test Delivery

19 Maintainability Means – Management – Operational environment of the target systems – Target system software, maturity, documentation For the developer, especially means “modifiability of code”: – Localizing changes All the refactoring ideas! – Preventing ripple effects Ditto – Deferring binding time Like runtime registration, configurations, parameterization, component replacement, scripting

20 “Demystifying Maintainability” Article by Manfred Broy, et al Everyone thinks they know what “maintainability” is, – And something about how to achieve it – Like having a good design to begin with – And doing refactoring But in contrast to attributes such as performance and correctness, there is no common understanding of: – What maintainability actually is, how it can be achieved, measured, or assessed. – In fact, every software organization has its own definition of maintainability. The authors defined a quality model that – – Associates maintenance activities with system properties, including – The capabilities of the organization. They found that keys to maintainability were – – Measurements as well as – Manual inspections. They applied this to large scale commercial software projects. Having a good definition of maintainability caused – – A slowdown of decay and – A significantly increased awareness for long-term quality aspects.

21 “Demystifying Maintainability” Article Associating maintenance activities with system properties…