0
1.8kviews
Explain SCM Issues.

Subject: Software Engineering

Topic: Software Configuration Management

Difficulty: Medium

1 Answer
0
9views

Definition:- A set of management disciplines within the software engineering process to develop a baseline.

Configuration Status Reporting Questions

  1. What happened?

  2. Who did it?

  3. When did it happen?

  4. What else will be affected by the change?

WebApp Configuration Issues

• Content

• integrating heterogeneous media

• volatility

• People

• designers often are forced to create content

• content creators often have no software engineering knowledge

• Scalability

• simple WebApps become large quickly

• rigor of configuration control should be proportional to its size

• Politics

• Who owns a WebApp?

• Who assumes responsibility for accuracy?

• Who makes changes?

• Who pays for changes?

The issues of SCM are as follows:

Consistent changes cause fewer build and integration problems:-

Integrating a consistent change set (single logical change) reduces build and integration errors caused by developers forgetting about files when delivering their changes. It also ensures that the testing was performed against the same versions being integrated, making integration errors less frequent.

Activities are logically how people group what they do:-

Generally, developers think about what feature, request for enhancement, or defect they are working on, which are all types of activities. By conforming to this activity-centric approach in the SCM tool and by using automation, developers are not required to know many details of the SCM implementation.

Activities are a level of abstraction that all project members can use in common, enabling project leaders, testers, developers, and customer support personnel to communicate more effectively.

Activities provide a natural link to change request management:-

Change request management (a subset of which is defect tracking) is an essential part of most software-development organizations, and tracking change requests is one of the key best practices of SCM. Instead of being a collection of versions in meaningless bundles, the change set should be tied to the change request stored in the change request management system. This combining of the change request and the change set allows accurate reporting of what defects were fixed and what files were changed between project baselines.

Activities provide a natural link to project management:-

Project managers are interested not only in what is being changed but also in the status of the change, who is assigned to it, and how much effort is estimated to be needed to implement the change. The change set links the project-management data for an activity to the files and versions that are changed. This link supports better automation, bringing advantages to the project leader without requiring extra effort on the part of the developer. For example, when a developer completes a change in the SCM tool, a change of status in the activity could be made automatically and would show up on a project report.

Activities facilitate reporting:-

Activity-based SCM allows all reports and tools to display information in terms of the changes made rather than the files and versions that went into making the change. This is more natural for everyone involved with a project.

Activities streamline code reviews:-

Traditionally, when performing code reviews, a reviewer receives a list of files and which versions of these files to review. The trick is determining which version to compare against when doing the review. Should you compare the latest version against the immediate predecessor, the last baseline, or some other version? It is unclear.

With the change set information, it is possible for the SCM tool to provide the developer with the predecessor version of the change set automatically. This makes performing code reviews easier and less error-prone.

Activities streamline testing efforts:-

Testing organizations often work with software builds "thrown over the wall" by development organizations. They must determine what went into the build or what was different from the previous build to decide what needs to be tested and what level of testing is required.

Most testing organizations do not have the resources to run the full test suite on every software build that development delivers. So, automatic reporting between two baselines that provides a list of the activities included in the new baseline is far easier to work with than a list of the hundreds of file versions that were modified from one baseline to the next.

Please log in to add an answer.