Managing Changes in the Real World

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Configuration Management
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Configuration Management
Chapter 27 Change Management
Software Configuration Management
Software Engineering Institute Capability Maturity Model (CMM)
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Software Configuration Management (SCM)
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Engineering Modern Approaches
Component-level testing – Equivalence partitioning, boundary value analysis, path testing Navigation testing – Testing navigation syntax and semantics.
Software Configuration Management
Software Configuration Management (SCM)
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Software Development Process and Management (or how to be officious and unpopular)
Software Quality Assurance
SOFTWARE CONFIGURATION MANAGEMENT. Change is inevitable when computer software is built. And change increases the level of confusion among software engineers.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Management of Software Project CSM Software Configuration Management (SCM)
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
Configuration Management How to keep from losing control of change.
SCM. Introduction Change is inevitable when software is built Change increases the level of confusion Confusion arises when changes are not –Analyzed.
Software Engineering Lecture 9: Configuration Management.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
REGRESSION TESTING Software Quality Engineering NC Zunaira Tariq Bese 19B Software Quality Engineering NC Zunaira Tariq Bese 19B.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Change Request Management
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management CSC-532
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Software Configuration Management (SCM)
Managing the Project Lifecycle
Chapter 11: Software Configuration Management
Quality Assurance: Early Work Items
Configuration Management
Software Configuration Management
Chapter 27 Change Management
Lecture 3 Change Management
IS442 Information Systems Engineering
Configuration Management (managing change)
Software Configuration Management
Chapter 27 Change Management
Design and Programming
Chapter 27 Change Management
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 11: Software Configuration Management
Welcome to Corporate Training -1
Chapter 27 Change Management
Chapter # 6 Software Configuration Management
Requirements Management - I
SNS College of Engineering Coimbatore
Chapter 27 Change Management
Security+ All-In-One Edition Chapter 18 – Change Management
Software Configuration Management
Presentation transcript:

Managing Changes in the Real World Terrence Chou Global Director May 27, 2003

Outline Why Managing Changes? What’s the Changes? When to Manage Changes? Where to Manage Changes? How to Manage Changes? What Software Configuration Management Do? Q&A We would outline this section in to “Why”, “What”, “When”, “Where”, and “How” to introduce in depth how the Software Configuration Management is needed for software developing. There’s a Q&A section at final that feel free to raise any questions then. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

Why Managing Changes? Changes is inevitable when computer software is built Changes increases the level of confusion among project’s software engineers Lower the risk of project failure due to changes Once we are try to build a computer software, we will gather a lot of needs from time to time, thus, changing is always inevitable or maybe we could call a fate that we’d never ever able to avoid changes. And that’s why we need to manage those changes. Also, if we don’t manage the changes, it will increasing the level of confusion among all the software engineers significantly while developing the projects. Take an example, we might change using UDP, instead of TCP, as the communication protocol, if this kind of change can’t be manage or track by all the parties, it will lead to different design but surely failed to do the integration later on. This is also why we need to manage changes. Third, and the last, the reason why we want to manage changes is to lower the risk caused by the changes, because for the major change request (CR), it should pass the change control process/ change control board that we will try to forecast the potential risks bring by this change. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

What’s the Changes? Market Requirement Document Product Requirement Document System Requirement Specification Design Specification Source Files (source code, bitmap, and etc) Test Specification (Test Plan/Test Case/Test Procedure) We just list out what kind of changes are usually happened during the whole software development life cycle. And they are: MRD PRD SRS Design spec. Source files Test spec. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

What’s the Changes? Four fundamental sources of change: New business or market conditions dictate changes in product requirements or business rules New customer needs demand modification of data produced by information system, functionality delivered by products, or services delivered by a computer-based system Reorganization or business growth/downsizing causes changes in project priorities or software engineering team structure Budgetary or scheduling constraints cause a redefinition of the system or product And the changes are usually caused by: New business or market conditions affect the product requirement or business rules. New customer got new needs. Reorganization or remodeling the business leads to the changing of project priorities or team structure. Cause by resource (budget or schedule) changes. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

When to Manage Changes? Whenever there is a change request (CR), the changing then need to be managed The request for change can occur at any time during the software process Baselined Configuration Items (CIs) should always being manageable We already know there will having changes, but “when” should be manage them? There are few good points: Whenever there is a change request (CR) that need managing, during the whole software development life cycle. Baselined configuration items (CIs) should *always* being manageable. For example, we shipping a beta version to customer, and we need to know what we shipped, what kind of changes are made within this bid, what kind of changes made after that beta, etc. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

Where to Manage Changes? A project database is used to keep the changes PVCS by Intersolv, 1993 Make by Bell LAB, 1975 SCCS by Rochkind, 1975 RCS by Richy, 1985 Cedar by Xerox PARC, 1970 Visual SourceSafe by Microsoft, 1997 Below are the known systems for managing the changes. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

How to Manage Changes? Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT Take Visual SourceSafe as an example. And the keywords in this graph is *check-out* and *check-in* the changes made. And the system will help to track all the revisions we made as times goes by. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

How to Manage Changes? Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT The system will definitely need access right control if it’s a so called SCM system. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

What Software Configuration Management Do? Software Configuration Management (SCM) is an umbrella activity that is applied throughout the software process, the whole software life cycle. Because change can occur at any time, SCM activities are developed to help Identify change Control change Ensure that change is being properly implemented Report changes to others who may have an interest Software support  Software configuration mgmt. What “SCM” is? It’s not only a software support, IT, etc. It’s include major works as follows: Help identifying changes Help controlling changes Help ensuring the change is being properly implemented Help reporting the changes to all the parties who may interested in. Thus, in Trend Micro, we could the SCM functional team with specialist Build Master. They will do the followings: Build up and maintain the SCM system (source code control system, defect tracking system, document managing system, build environment, etc) Help identify what source files should be managed and in what kind of fashion (e.g. create tree structure in source control system, don’t let .obj files being checked in, etc) Create the label for all the releases which enables us able to recreate any bid we made earlier. Enable all the debugging information within each bid, and make sure all these information are preserved. Have all the parties aware of major changes if there’s any, so the product might buy in the new change. Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT

Q&A Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT