Presentation is loading. Please wait.

Presentation is loading. Please wait.

Managing Changes in the Real World

Similar presentations


Presentation on theme: "Managing Changes in the Real World"— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 Q&A Trend Micro CONFIDENTIAL - ENGINEERING DOCUMENT


Download ppt "Managing Changes in the Real World"

Similar presentations


Ads by Google