configuration management it is the stream systematically controlling the changes that take place...

18
Configuration Management •It is the stream systematically controlling the changes that take place during development •IEEE defines SCM as the process of identifying and defining the items in the system, controlling the change of these items throughout their life cycle, recording and reporting the status of the items change requests, verifying the completeness and correctness of items •Changes may occur due to – •Evolution of the work products as proj proceeds •Changes due to the defects(bugs) being found and then fixed •Changes due to requirements changes

Upload: virginia-oneal

Post on 28-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Configuration Management

•It is the stream systematically controlling the changes that take place during development•IEEE defines SCM as the process of identifying and defining the items in the system, controlling the change of these items throughout their life cycle, recording and reporting the status of the items change requests, verifying the completeness and correctness of items•Changes may occur due to –•Evolution of the work products as proj proceeds•Changes due to the defects(bugs) being found and then fixed•Changes due to requirements changes•All these are reflected in files containing source,data or documentation

Page 2: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Configuration Mgmt• SCM directly controls the products of the process

and only directly influences the activities producing the product

• It is essential to satisfy one of the basic objective of the project– delivery of a high quality s/w product to the client

• Software which is delivered to the client contains various source or object files and associated documentation

• During the course of the project,the files change, leading to diff.versions

Page 3: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

CM functionality• Requirements of project from its config.mgmt process depends on

nature of the project—– Give latest version of pgm:- suppose the program has to be

modified,modification has to be carried out in the latest copy of that program otherwise changes made earlier may be lost

– Undo a change or revert back to a specified version:- a change is made to a pgm, but later it would be a need to undo change request

– Prevent unauthorized changes or deletions:-a programmer may decide to change some pgms, only to discover that change has adverse side effects. The CM must allow this to happen smoothly

– Prevent unauthorized changes/deletions:- a programmer may decide to change some programs,only to discover that the change has adverse side effects. The CM process ensures that unapproved changes are not permitted

– Gather all sources,docs,and other info from current system:-all sources and related files are needed for releasing the product. The CM process must provide this functionality. All sources and related files of a working system are needed for reinstallation

Page 4: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

CM mechanism• The mechanism used to provide necessary functionality include:-

– Config.identification and baselining– Version control or version mgmt– Access control– A s/w config.item(SCI) or item is a document or an artifact that

is placed under configuration control and can be regarded as a basic unit for modification

– Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system's or product's performance

– its functional and physical attributes with its requirements, design, and operational information throughout its life

– SCM defined by Pressman is—– “set of activities designed to control change by identifying the work products

that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made.”

Page 5: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

SCI• As the proj proceeds hundreds of changes are made to these

config.items hence baselines are established• A baseline once established,captures logical state of the

system and forms the basis of change thereafter• A baseline also forms a reference pt. in the development of a

system• SCIs(s/w config item) are being managed by SCM are not

independent of one another• An SCI x is said to depend on another SCI y, if a change to y

might require a change to be made to x for x to remain correct or for the baselines to remain consistent

• A change request might require the changes to be made to some SCIs, the dependency of other SCIs on the ones being changed might require that other SCIs also need to be changed

• Dependency among SCIs is to be properly understood and documented

Page 6: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Version Control• Key issue for CM• Many tools are available to help manage the

various versions of programs• Without such a mechanism,many of the reqd CM

functions cannot be supported• Version control helps preserve older versions of

the programs whenever pgms are changed• Commonly used CM systems are :- Source Code

Control System, a method of controlling software versions

• Others are CVS,VSS

Page 7: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Access control• Life cycle of SCI

– While an SCI is under development, is not visible to other SCIs, it is in the working state

– An SCI in working state can’t be changed freely – Once developer is satisfied with the SCI is stable enough

to be used by others, the SCI is given for review and the item enters the state “under review”

– Once an item is in this state, it is “frozen”– Any changes made to a pvt.copy that the developer

may have made are not recognized– After a review the SCI is entered into library after which

the item is formally under SCM– The purpose of this review is to make sure that item is

of satisfactory quality

Page 8: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

CM process• CM process defines the set of activities need to be performed

to control change• 1st stage in CM process is planning• Then process has to be executed,using some tools• CM plan requires discipline from project personnel in terms of

storing items in proper locations, making changes properly, monitoring the status of config.items and performing CM audits

• Planning for config mgmt involves identifying the config items and specifying the procedures to be used for controlling and implementing changes to these config items

• Examples of config items include requirement specification,design docs, source code,test plans, test scripts, test procedures,test data,stds used in the project, acceptance plan,docs such as CM plan and project plan, user documentation such as user manual, training material, contract docs,quality records(review and test records) and CM records(release records,status tracking records)

• Any customer supplied products or purchased items that will be the part of the delivery are also config items

Page 9: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

CM process contd…• To facilitate proper naming of configuration items, the naming

convention for CM items are decided during the CM planning stages

• In addition to naming std,version numbering must be planned. When a config item is changed,the old item is not replaced with the new copy instead the old copy is maintained and a new one is created

• This approach results in multiple versions of an item• If CM tool is used , it handles the version numbering otherwise has

to be done explicitly in the project• The config controller/project manager do the CM planning, it is

begun only when the project is been initiated and the operating environment and requirements specifications are clearly documented. The o/p of this is CM plan

• The config controller is responsible for implementation of CM planning

• For CM to work well,to avoid mistake in SCI(s/w config item), auditing and regular checking of SCI is done

• The audit may also check that changes to SCIs due to change requests have been done

• Refer http://ptgmedia.pearsoncmg.com/images/0321117662/samplechapter/hassch01.pdf

Page 10: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

CMM• CMM provides roadmap for process improvement• Software process capability describes the range of

expected results that can be achieved• The process capability of an organization determines what

can be expected from the organization in terms of quality and productivity. The goal of process improvement is to improve the process capability

• A maturity is a well defined evolutionary plateau towards achieving a matured s/w process

• CMM (Capability Maturity Model) is a model of process maturity for software development - an evolutionary model of the progress of a company’s abilities to develop software.Development of this model was necessary so that the U.S. federal government could objectively evaluate software providers and their abilities to manage large projects. 

Page 11: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

CMM contd…• Many companies had been completing their projects with

significant overruns in schedule and budget. The development and application of CMM helps to solve this problem. 

• The key concept of the standard is organizational maturity. A mature organization has clearly defined procedures for software development and project management.

• These procedures are adjusted and perfected as required. • In any software development company there

are standards for processes of development, testing, and software application; and rules for appearance of final program code, components, interfaces, etc.(refer diag.next slide)

• CMM – 5 levels (refer the doc sent)

Page 12: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of
Page 13: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Risk management• Risk mgmt is an attempt to minimize the chances of failure

caused by unplanned events• The aim of risk mgmt is not to avoid doing such projects

where there is a risk but to minimize the impact of risks in the projects which are undertaken

• Risk is defined as an exposure to the chance of injury/loss• In the context of s/w project, risk may have an adverse effect

on cost, quality and schedule• Risk mgmt is the area to ensure that the impact of risks on

cost, quality and schedule is minimal• Risk management has to deal with identifying the undesirable

events that can occur,the probability of their occurring and the loss if an undesirable event occurs

• Once this is known, the strategies for either reducing the probability of risk or reducing the effect of risk materializing are formulated

• Risk assessment and risk control are two imp aspects

Page 14: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Risk assessment• Risk assessment is undertaken at the time of project planning• This involves identifying the risks, analyzing them and

prioritizing them on the basis of analysis• Risk identification is the first step,identifies all different risks

for a particular project. These risks are project dependents• Methods that can aid risk identification include checklists of

possible risks,surveys, meetings and brainstorming and reviews of plans, processes and work products

• Based on surveys of experienced project managers, Boehm has produced a list of 10 risk items likely to compromise the success of s/w project

• 1) personal shortfalls—having good knowledge in specific skills in specific areas;adequate training may reduce the risk

• 2)unrealistic schedules and budget—high level mgmt imposes the schedule, may not be based on the characteristics of project and hence may be unrealistic

• 3)developing wrong s/w functions- due to lack of correct SRS

Page 15: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Risk items/factors• 4)Developing wrong user interface• 5)Gold plating– adding features to s/w which are marginally

useful,adds unnecessary risk to the project as it consumes resources and indirectly the time

• 6)Continuing the stream of requirement changes – incremental development or info hiding

• 7)Shortfalls in externally furnished components• 8)Shortfalls in externally performed tasks• 9)Real time performance shortfalls• 10)Straining computer science capabilities– if a project relies

on technology that is not well developed, then project may fail

• Risk identification identifies undesirable events that might take place during the project i.e. enumerates “unforeseen” events that might occur

• Hence the next tasks are risk analysis and prioritization

Page 16: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Risk analysis• In risk analysis, the probability of occurrence of risk has to be

estimated, along with the loss that will occur if the risk does materialize

• If the cost models are used for cost and schedule estimation, the same can be used to assess the cost and schedule risk

• In COCOMO cost model,the cost estimate depends on rating of diff cost drivers,

• Risk analysis can be done by estimating the worst case value of size and all the cost drivers and then estimating the project cost from these values

• The other approaches for risk analysis include studying the probability and the outcome of possible decisions(decision analysis),understanding task dependencies to decide critical activities and probability and cost of their not being completed on time(n/w analysis),risks on various quality factors like reliability and usability(quality factor analysis) and evaluating the performance(performance analysis)

Page 17: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Risk exposure• Once the probabilities of risks materializing and losses due

to the same have been analyzed,they can be prioritized. • RE=Prob(UO) * Loss(UO) undesirable outcome• Prob(UO)– is the probability of risk materializing• Loss(UO)- total loss incurred due to unsatisfactory outcome• The loss is not only direct financial loss but in terms of

credibility,future business and loss of property/life• RE is an expected value of loss due to particular risk• The higher the RE the higher the priority of the risk item

Page 18: Configuration Management It is the stream systematically controlling the changes that take place during development IEEE defines SCM as the process of

Risk control• The main objective of risk mgmt is to identify top few risk

items and focus on them• Knowing the risks of value, then one can prepare the plan

so that their consequences are minimal– basic goal of risk mgmt

• For most risks, risk mitigation steps are performed• They are either reducing probability of risk materializing or

reduce the loss due to risk materializing• the commonly occurring risks are maintained in a table• Even risk monitoring is also carried out,which monitors the

status of various risks and their control activities• One simple approach of risk monitoring is to analyze the

risks afresh at each major milestone and change the plans as needed