Advantages Disadvantages Software Configuration Management

Enhancing Configuration Management Software By Roger Knupp, Director-Configuration Management, ServiceLink. Achieving Your Highest Success Rate with Configuration Management Solutions By Daniel Horton, CIO, Sallyport Global. A Guide to Configuration Management By Frank Otero, President & CEO, PACO Technologies. Embracing Cloud Computing for the IT Infrastructure By Bill Russell, CIO, St. Advantages of Utility Software. Some more system software types which are readily used these days are Loaders, Shells, database management systems such as SQL and Linkers. The system software which is stored on non volatile memory is known as firmware. Advantages and Disadvantages of Cloud Computing. There is no doubt that businesses can reap huge benefits from cloud computing. However, with the many advantages, come some drawbacks as well. Take time to understand the advantages and disadvantages of cloud computing, so that you can get the most out of your business technology, whichever cloud provider you choose.

Project management has become a fundamental way for organizations to optimize processes, ensuring that they offer the highest level of efficiency and effectiveness while carrying out projects throughout the company. Project management software is one of the most helpful tools that can assist project managers in being as effective as possible, regardless of the industry. While incorporating project management software can certainly improve processes, there are distinct advantages and disadvantages to using it, which require careful evaluation.

Advantages of Project Management Software

The variety of tools available in project management software can help drive a project forward. These advantages include:

  • Collaborate with team members in real-time. Project management software commonly offers communication tools that can assist teams in discussing issues in real time. The benefit is that each team member can be kept up to date, quickly dealing with issues as they arise.
  • Document sharing. For projects that require the use of significant documentation, document sharing tools allow individuals to edit, update the status of reports and create systems that allow for transparency and communication.
  • Manage project costs. Controlling costs is one of the most important benefits of project management. Project management software generally includes tools that can assist in managing project costs.
  • Ability to manage risks, forecasting, and budgets. Knowing project risks, creating forecasts and tracking budgets are some of the biggest advantages of project management software.
  • Reporting capabilities. With flexible report formats and the ability to quickly access needed data, project management software can keep tasks on schedule.
  • Intuitive to use. Dashboard-based software requires little training to implement. Simple to use and easy to install, new project management software allows for quick ramp-up times.

Disadvantages of Project Management Software

Recommended for You

Though there are clearly many good reasons to utilize project management software, there are also disadvantages to consider:

  • Some programs can be very costly with very little ROI. While project management software can provide great solutions, many times those solutions need to be custom designed or solved by purchasing multiple software programs. These can be costly options and can be difficult to implement.
  • Project management software may complicate simple projects. While using project management software is a popular option for many organizations, simpler projects may not need project management software. When project management software is used inappropriately it can unnecessarily complicate matters.
  • Execution issues when relying on automated alerts. While alerts are helpful to remind team members that tasks are due, a problem develops when more time is spent on setting up the alert than the task itself.

Understanding Organizational Needs

Before purchasing a particular software package, it is critical to evaluate the requirements of the organization. Knowing exactly which functions will be needed will help to streamline the decision making process. Carefully developing a list of functions and characteristics in terms of “required” and “optional” will help to determine which packages most closely fit the needs of the company. Additionally, the evaluation of the software package using “Use Cases” is a critical step before implementation. A Use Case combines a scenario that the individual organization may face, such as managing risks, capital or budgets with the capabilities of the software resulting in a good sense of whether the software behaves as expected.

While project management software can be a necessary and helpful addition to an organization that is working with complex reporting or product development, there are distinct advantages and disadvantages to purchasing the software. Knowing the extent of the organization’s requirements is the first step in making sure that project management software is a good fit, followed by a careful evaluation of whether there are more benefits than drawbacks to incorporating project management software on a project by project basis.

Home > Articles > Programming

  1. What Is Software Configuration Management?
Page 1 of 9Next >

Software Maintenance

Learn how Software configuration management SCM can benefit your organization in four areas: control, management, cost savings, and quality.
This chapter is from the book
Quality Software Project Management, Two Volume Set

This chapter is from the book

This chapter is from the book

Quality Software Project Management, Two Volume Set

Software engineers usually find coding to be the most satisfying aspect of their job. This is easy to understand because programming is a challenging, creative activity requiring extensive technical skills. It can mean getting to 'play' with state-of-the-art tools, and it provides almost instant gratification in the form of immediate feedback. Programming is the development task that most readily comes to mind when the profession of software engineering is mentioned.

That said, seasoned engineers and project managers realize that programmers are part of a larger team. All of the integral tasks, such as quality assurance and verification and validation, are behind-the-scenes activities necessary to turn standalone software into a useful and usable commodity. Software configuration management (SCM) falls into this category—it can't achieve star status, like the latest 'killer app,' but it is essential to project success. The smart software project manager highly values the individuals and tools that provide this service.

Company

This chapter will answer the following questions about software configuration management.

What Is Software Configuration Management?

Software configuration management (SCM) is the organization of the components of a software system so that they fit together in a working order, never out of synch with each other. Those who have studied the best way to manage the configuration of software parts have more elegant responses.

Roger Pressman says that SCM is a '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.'1

We think that Pressman's description is a better description because we often view SCM as meaning software change management.

Wayne Babich describes SCM as 'the art of identifying, organizing, and controlling modifications to the software being built by a programming team. It maximizes productivity by minimizing mistakes.'2

The Software Engineering Institute says that it is necessary to establish and maintain the integrity of the products of the software project throughout the software life cycle. Activities necessary to accomplish this include identifying configuration items/units, systematically controlling changes, and maintaining the integrity and the traceability of the configuration throughout the software life cycle.

Military standards view configuration as the functional and/or physical characteristics of hardware/software as set forth in technical documentation and archives in a product. In identifying the items that need to be configured, we must remember that all project artifacts are candidates—documents, graphical models, prototypes, code, and any internal or external deliverable that can undergo change. In SW PM terminology, a configuration item might be a proposal/estimate or bid, project plan, risk management plan, quality assurance plan, CM plan itself, test plan, system requirements specification, system design document, review metric, code, test result, tool (editors, compilers, CASE), and so on. There are basic objects and aggregate objects to be configured. The number of relationships among them reflects the complexity of the configuration task.

Why Is SCM Important?

Software project managers pay attention to the planning and execution of configuration management, an integral task, because it facilitates the ability to communicate status of documents and code as well as changes that have been made to them. High-quality released software has been tested and used, making it a reusable asset and saving development costs. Reused components aren't free, though—they require integration into new products, a difficult task without knowing exactly what they are and where they are.

CM enhances the ability to provide maintenance support necessary once the software is deployed. If software didn't change, maintenance wouldn't exist. Of course, changes do occur. The National Institute of Standards and Technology (NIST) says that software will be changed to adapt, perfect, or correct it. Pressman points out that new business, new customer needs, reorganizations, and budgetary or scheduling constraints may lead to software revision.

CM works for the project and the organization in other ways as well. It helps to eliminate confusion, chaos, double maintenance, the shared data problem, and the simultaneous update problem, to name but a few issues to be discussed in this chapter.

Who Is Involved in SCM?

Virtually everyone on a software project is affected by SCM. From the framers of the project plan to the final tester, we rely on it to tell us how to find the object with the latest changes. During development, when iterations are informal and frequent, little needs to be known about a change except what it is, who did it, and where it is. In deployment and baselining, changes must be prioritized, and the impact of a change upon all customers must be considered. A change control board (CCB) is the governing body for modifications after implementation.

How Can Software Configuration Be Implemented in Your Organization?

We used to say, 'Make a plan and stick with it—never waffle,' and 'Requirements must be frozen—how else will we know what to code?' Now, we say, 'Plans are living documents—they will be in a continual state of change as project knowledge increases.' We now know that requirements are never frozen—they merge, morph, and evolve and become expanded, enhanced, and extended. As long as artifacts of software development can undergo change, we will need some method of managing the change.

Because SCM is such a key tool in improving the quality of delivered products, understanding it and how to implement it in your organization and on your projects is a critical success factor. This chapter will review SCM plan templates and provide you with a composite SCM plan template for use in any of your projects. We will cover the issues and basics for a sound software project CM system, including these:

  • SCM principles
  • The four basic requirements for an SCM system
  • Planning and organizing for SCM
  • SCM tools
  • Benefits of SCM
  • Path to SCM implementation

Software Configuration Management Principles

The concept of configuration is analogous to a bill of materials to assemble any product. Think of the product of an SCM as a system parts list, as in FIGURE 31–1.

FIGURE 31–1 SCM Is a 'Software Parts List'

Unlike hardware, software is not physical (tangible), is more complex, is easier to change, propagates change effects, and is data as well as logic.

Software Change Management

Related Resources

  • Book $27.99

Advantages Disadvantages Software Configuration Management Systems

  • Book $39.99

Advantages Disadvantages Software Configuration Management Software

  • Book $56.10