Software Project Monitoring and Control

Total Page:16

File Type:pdf, Size:1020Kb

Software Project Monitoring and Control Module 12 Software Project Monitoring and Control Version 2 CSE IIT, Kharagpur Lesson 31 Risk Management and Software Configuration Management Version 2 CSE IIT, Kharagpur Specific Instructional Objectives At the end of this lesson the student would be able to: • Identify the main categories of risks which can affect a software project. • Explain how to assess a project risk. • Identify the main strategies to plan for risk containment. • Explain what risk leverage is. • Explain how to handle the risk of schedule slippage. • Explain what is meant by configuration of a software product. • Differentiate among release, version and revision of a software product. • Explain the necessity of software configuration management. • Identify the principal activities of software configuration management. • Identify the activities carried out during configuration identification. • Identify the activities carried out during configuration control. • Identify the popular configuration management tools. Risk management A software project can be affected by a large variety of risks. In order to be able to systematically identify the important risks which might affect a software project, it is necessary to categorize risks into different classes. The project manager can then examine which risks from each class are relevant to the project. There are three main categories of risks which can affect a software project: Project risks. Project risks concern varies forms of budgetary, schedule, personnel, resource, and customer-related problems. An important project risk is schedule slippage. Since, software is intangible, it is very difficult to monitor and control a software project. It is very difficult to control something which cannot be seen. For any manufacturing project, such as manufacturing of cars, the project manager can see the product taking shape. He can for instance, see that the engine is fitted, after that the doors are fitted, the car is getting painted, etc. Thus he can easily assess the progress of the work and control it. The invisibility of the product being developed is an important reason why many software projects suffer from the risk of schedule slippage. Technical risks. Technical risks concern potential design, implementation, interfacing, testing, and maintenance problems. Technical risks also include ambiguous specification, incomplete specification, changing specification, technical uncertainty, and technical obsolescence. Most technical risks occur due to the development team’s insufficient knowledge about the project. Business risks. This type of risks include risks of building an excellent product that no one wants, losing budgetary or personnel commitments, etc. Version 2 CSE IIT, Kharagpur Risk assessment The objective of risk assessment is to rank the risks in terms of their damage causing potential. For risk assessment, first each risk should be rated in two ways: • The likelihood of a risk coming true (denoted as r). • The consequence of the problems associated with that risk (denoted as s). Based on these two factors, the priority of each risk can be computed: p = r * s Where, p is the priority with which the risk must be handled, r is the probability of the risk becoming true, and s is the severity of damage caused due to the risk becoming true. If all identified risks are prioritized, then the most likely and damaging risks can be handled first and more comprehensive risk abatement procedures can be designed for these risks. Risk containment After all the identified risks of a project are assessed, plans must be made to contain the most damaging and the most likely risks. Different risks require different containment procedures. In fact, most risks require ingenuity on the part of the project manager in tackling the risk. There are three main strategies to plan for risk containment: Avoid the risk: This may take several forms such as discussing with the customer to change the requirements to reduce the scope of the work, giving incentives to the engineers to avoid the risk of manpower turnover, etc. Transfer the risk: This strategy involves getting the risky component developed by a third party, buying insurance cover, etc. Risk reduction: This involves planning ways to contain the damage due to a risk. For example, if there is risk that some key personnel might leave, new recruitment may be planned. Risk leverage To choose between the different strategies of handling a risk, the project manager must consider the cost of handling the risk and the corresponding reduction of risk. For this the risk leverage of the different risks can be computed. Version 2 CSE IIT, Kharagpur Risk leverage is the difference in risk exposure divided by the cost of reducing the risk. More formally, risk leverage = (risk exposure before reduction – risk exposure after reduction) / (cost of reduction) Risk related to schedule slippage Even though there are three broad ways to handle any risk, but still risk handling requires a lot of ingenuity on the part of a project manager. As an example, it can be considered the options available to contain an important type of risk that occurs in many software projects – that of schedule slippage. Risks relating to schedule slippage arise primarily due to the intangible nature of software. Therefore, these can be dealt with by increasing the visibility of the software product. Visibility of a software product can be increased by producing relevant documents during the development process wherever meaningful and getting these documents reviewed by an appropriate team. Milestones should be placed at regular intervals through a software engineering process to provide a manager with regular indication of progress. Completion of a phase of the development process before followed need not be the only milestones. Every phase can be broken down to reasonable-sized tasks and milestones can be scheduled for these tasks too. A milestone is reached, once documentation produced as part of a software engineering task is produced and gets successfully reviewed. Milestones need not be placed for every activity. An approximate rule of thumb is to set a milestone every 10 to 15 days. Software configuration management The results (also called as the deliverables) of a large software development effort typically consist of a large number of objects, e.g. source code, design document, SRS document, test document, user’s manual, etc. These objects are usually referred to and modified by a number of software engineers through out the life cycle of the software. The state of all these objects at any point of time is called the configuration of the software product. The state of each deliverable object changes as development progresses and also as bugs are detected and fixed. Release vs. Version vs. Revision A new version of a software is created when there is a significant change in functionality, technology, or the hardware it runs on, etc. On the other hand a new revision of a software refers to minor bug fix in that software. A new release is created if there is only a bug fix, minor enhancements to the functionality, usability, etc. Version 2 CSE IIT, Kharagpur For example, one version of a mathematical computation package might run on Unix-based machines, another on Microsoft Windows and so on. As a software is released and used by the customer, errors are discovered that need correction. Enhancements to the functionalities of the software may also be needed. A new release of software is an improved system intended to replace an old one. Often systems are described as version m, release n; or simple m.n. Formally, a history relation is version of can be defined between objects. This relation can be split into two sub relations is revision of and is variant of. Necessity of software configuration management There are several reasons for putting an object under configuration management. But, possibly the most important reason for configuration management is to control the access to the different deliverable objects. Unless strict discipline is enforced regarding updation and storage of different objects, several problems appear. The following are some of the important problems that appear if configuration management is not used. Inconsistency problem when the objects are replicated. A scenario can be considered where every software engineer has a personal copy of an object (e.g. source code). As each engineer makes changes to his local copy, he is expected to intimate them to other engineers, so that the changes in interfaces are uniformly changed across all modules. However, many times an engineer makes changes to the interfaces in his local copies and forgets to intimate other teammates about the changes. This makes the different copies of the object inconsistent. Finally, when the product is integrated, it does not work. Therefore, when several team members work on developing an object, it is necessary for them to work on a single copy of the object, otherwise inconsistency may arise. Problems associated with concurrent access. Suppose there is a single copy of a problem module, and several engineers are working on it. Two engineers may simultaneously carry out changes to different portions of the same module, and while saving overwrite each other. Though the problem associated with concurrent access to program code has been explained, similar problems occur for any other deliverable object. Providing a stable development environment. When a project is underway, the team members need a stable environment to make progress. Suppose somebody is trying to integrate module A, with the modules B and C, he cannot make progress if developer of module C keeps changing C; this can be especially frustrating if a change to module C forces him to recompile A. When an effective configuration management is in place, the manager freezes the objects to form a base line. When anyone needs any of the objects under configuration control, he is provided with a copy of the base line item.
Recommended publications
  • Managing the Configuration of Information Systems with a Focus on Security
    MANAGING THE CONFIGURATION OF INFORMATION SYSTEMS WITH A FOCUS ON SECURITY Shirley Radack, Editor Computer Security Division Information Technology Laboratory National Institute of Standards and Technology U.S. Department of Commerce Organizations have to make frequent changes to their information systems in order to implement new and updated hardware and software components, correct software flaws and other errors, address new security threats, and adapt to changing business objectives. These constant changes result in adjustments being made to the configuration of information systems; these activities could have an impact on the security of the systems and operations. In developing information systems, organizations employ many components that can be interconnected in different arrangements to meet the organization’s business, mission, and information security needs. To protect information systems and information, organizations need techniques for the secure configuration, operation, and management of system components, including mainframes, workstations, servers, networks, operating systems, middleware, and applications, and for the management and control of risks to systems and information. The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) has issued a new guide to help organizations develop a well-defined process for managing and controlling secure system configurations, and for managing risks in information systems. NIST Special Publication 800-128, Guide to Security- Focused
    [Show full text]
  • Business Rule Based Configuration Management and Software System Implementation Using Decision Tables
    Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys Vilnius Gediminas Technical University, Sauletekio av. 11, LT-10223 Vilnius, Lithuania [email protected], [email protected] Abstract. Deployment and customization of the software in different information systems of separate organizations challenge large requirement conformity, project and specification management, design and architecture complexity, code integration, compatibility and interoperability issues, frequently causing the need of reengineering through the entire all the system development lifecycle. The paper proposes new business rule based method of information system configuration management and automated way of configuration implementation into the final software system code. 1 Introduction Business systems are functioning according to business rules in specific business domain. Due to dynamic of its nature, business environment is changing frequently according to internal and external influences such as changes in law, new competition etc. [1]. However Business rules (BR) of particular problem domain are similar in several organizations but they are never applied the same way even they depend on the same legal regulations. Production and implementation of such a software system into the large amount of slightly different information systems of separate organizations challenge large requirement conformity, project and specification management, design and architecture complexity,
    [Show full text]
  • ITIL Asset and Configuration Management in the Cloud
    ITIL Asset and Configuration Management in the Cloud January 2017 © 2017, Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only. It represents AWS’s current product offerings and practices as of the date of issue of this document, which are subject to change without notice. Customers are responsible for making their own independent assessment of the information in this document and any use of AWS’s products or services, each of which is provided “as is” without warranty of any kind, whether express or implied. This document does not create any warranties, representations, contractual commitments, conditions or assurances from AWS, its affiliates, suppliers or licensors. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers. Contents Introduction 1 What Is ITIL? 1 AWS Cloud Adoption Framework 2 Asset and Configuration Management in the Cloud 3 Asset and Configuration Management and AWS CAF 5 Impact on Financial Management 5 Creating a Configuration Management Database 6 Managing the Configuration Lifecycle in the Cloud 8 Conclusion 9 Contributors 10 Abstract Cloud initiatives require more than just the right technology. They also must be supported by organizational changes, such as people and process changes. This paper is intended for IT service management (ITSM) professionals who are supporting a hybrid cloud environment that leverages AWS. It outlines best practices for asset and configuration management, a key area in the IT Infrastructure Library (ITIL), on the AWS cloud platform.
    [Show full text]
  • Quality Assurance and Configuration Management
    Quality Assurance and Configuration Management Energy, Climate, & Sandia National Laboratories implements quality assurance and configuration Infrastructure Security systems essential to the control and traceability of modeling used to demonstrate regulatory compliance. Introduction agencies, including, most significantly, the U.S. Nuclear Regulatory Commission Sandia National Laboratories has a long and the U.S. Environmental Protection history of involvement in significant Agency, as well as various federal, state, national programs directed at solving and other organizations. Among more the national problem of managing the notable successes of this work has been disposal of various forms of nuclear the adaptation of quality assurance wastes. These involvements include to activities sponsored largely by the significant responsibility on the Waste U.S. Department of Energy involved Isolation Pilot Plant (WIPP), the Yucca in the characterization, selection, and Mountain Site Characterization Project performance analyses associated with (YMP), the Hanford Tank Waste programs involving nuclear waste Remediation System (TWRS), and management. Quality assurance the Greater Confinement Disposal requirements originated from a need to (GCD) programs. In addition, control and assure the quality of nuclear Sandia has also played major roles power plant design, construction, and in nuclear waste transportation, operations; modifying these concepts and in several environmental for application to scientific investigation remediation and restoration and characterization activities was a programs, including those at Fernald, necessary and beneficial effort that Ohio, and Hanford, Washington. has proven successful for nuclear waste A key to the success of our activities management. on these programs, particularly for Decades of experience under the WIPP, YMP, TWRS, and GCD, was the scrutiny of independent audits, development and application of quality identifying quality deficiencies, and assurance for program activities.
    [Show full text]
  • Service Asset and Configuration Management (SACM/CMDB) Process
    Service Transition SERVICE ASSET AND CONFIGURATION MANAGEMENT PROCESS VERSION: 4.3 REVISION DATE: February 23, 2017 Service Transition USER GUIDE Service Asset and Configuration Management Process 4.3 | 02/23/2017 Contents Section 1. Introduction ......................................................................................... 1 1.1 Purpose .............................................................................................. 1 1.2 Goal .................................................................................................... 1 1.3 Overview ............................................................................................ 1 1.4 Key Relationships with other processes ........................................ 2 1.5 Definitions .......................................................................................... 2 Section 2. Roles and Responsibilities .................................................................. 4 2.1 Process Owner/Configuration Manager ......................................... 4 2.2 Configuration Item Class Owner ..................................................... 4 2.3 Configuration Item Class Administrator ......................................... 4 2.4 Configuration Item Company Administrator .................................. 5 2.5 IT Service Continuity Management (ITSCM) Role......................... 5 2.6 IT Staff ................................................................................................ 5 2.7 ITSM Product Manager ....................................................................
    [Show full text]
  • 2. Configuration Management
    Computer Science and Software Engineering University of Wisconsin - Platteville 2. Configuration Management Yan Shi SE 3730 / CS 5730 Lecture Notes Outline . What is configuration management? — Identification — Change control — Status accounting — Audit and review . CM techniques and practices — lock-modify-unlock — copy-modify-merge — RCS — branching — deltas . CM tools Why is CM needed? . ``This worked yesterday and doesn't work now.” What happened? . ``The user manual says to do this, but when I do it, something different happens.'' Which is correct, the manual or the code? Why was one changed? . ``The code changes that I made last week are no longer in the code.” What happened to the fix? Who changed the code and Why? . ``The listing doesn't match what the program does!'' Which is correct? . ``Did the bug get fixed in this copy, too?'' Why is CM needed? . Control the changes — Versions of documents need to be combined to form a product, or configuration — With many people working on many files, inconsistencies can occur . Required for testing — We must know and control what source was used to produce a software system in order to know what is being tested — We need to be able to build and rebuild a software system reliably . Reduce the quality cost — https://www.youtube.com/watch?v=Ij1yDpfZI8Q CM CONCEPTS AND COMPONENTS What is Configuration Management? . Software CM is a discipline for managing the evolution of software systems throughout all stages of the software life cycle. SCM is a component of SQA system. — Infrastructure component — Organizational framework . SQA teams are often required to take the responsibility of managing the CM system.
    [Show full text]
  • A Guide to Configuration Management for Intelligent Transportation Systems
    A Guide to Configuration Management for Intelligent Transportation Systems April 2002 Prepared for Intelligent Transportation Systems Joint Program Office US Department of Transportation By Mitretek Systems, Inc. FHWA-OP-02-048 EDL #13622 Technical Report Documentation Page 1. Report No. 2. Government Accession No. 3. Recipient's Catalog No. FHWA-OP-02-048 4. Title and Subtitle 5. Report Date April 2002 A Guide to Configuration Management for Intelligent Transportation 6. Performing Organization Code Systems 7. Author(s) 8. Performing Organization Report No. Paul J. Gonzalez 9. Performing Organization Name and Address 10. Work Unit No. (TRAIS) Mitretek Systems, Inc. 11. Contract or Grant No. 600 Maryland Avenue, SW, Suite 755 DTFH61-00-C-00001 Washington, DC 20024 12. Sponsoring Agency Name and Address 13. Type of Report and Period Covered Department of Transportation Intelligent Transportation Systems Joint Program Office 400 Seventh Street, SW – Room 3416 Washington, DC 20590 14. Sponsoring Agency Code HOIT 15. Supplementary Notes William S. Jones – Task Manager 16. Abstract This monograph is one of a series intended to introduce the topic of systems engineering to managers and staff working on transportation systems projects, with particular emphasis on Intelligent Transportation Systems (ITS) projects. Systems engineering is a discipline that has been used for over 50 years and has its roots in the building of large, complex systems for the Department of Defense. Systems engineering is an approach to building systems that enhances the quality of the end result and the expectation is that its application to transportation systems projects will make those projects more effective in developing and implementing the systems they are intended to build.
    [Show full text]
  • Configuration Management Process Map
    Configuration Management Process Asset Library Office of Information and Technology Table of Contents Configuration Management Process Map ............................................... 1 Configuration Management Description and Goals................................................ 2 Description................................................................................................................. 2 Goals........................................................................................................................... 2 Configuration Management RACI Information ........................................................ 3 Configuration Management Associated Artifacts Information .............................. 5 Configuration Management Tools and Web Sites Information ............................. 5 Configuration Management Standards Information ............................................... 5 Configuration Management Process ........................................................................ 6 Process Activity Name: CFG-01 Identify Configuration Items ........................... 6 Process Activity Name: CFG-02 Place Configuration Items Under Configuration Control .............................................................................................. 7 Process Activity Name: CFG-03 Adopt Change Management Procedures ...... 8 Process Activity Name: CFG-04 Verify and Audit Configuration Items ............ 9 Process Activity Name: CFG-05 Generate Reports ........................................... 11 Configuration
    [Show full text]
  • Configuration Management Basics
    Configuration Management Basics Enchantment Chapter of INCOSE October 12, 2011 Ann Hodges, CSEP [email protected] 505-844-6284 Topics • What is CM? • CMII Summary • Practical Suggestions for Applying CM Practices What is Configuration Management (CM)? A process that establishes and maintains consistency of a product's attributes with its requirements and product configuration information throughout the product's life cycle [EIA] Why CM? • CM ensures the effective management of the evolving configuration of a system, including all of its work products, during its life cycle [SE: pg 5.11] • Change is inevitable, and managing the impact of change is the focus of CM – It is important to maintain enough of and the right information to ensure that deliverables can be related and are controlled based on engineering and management trade-off decisions Systems engineering activities rely on product configurations being known and controlled When Does CM Occur? • CM activities occur throughout the life cycle of both the project and the product – CM begins at the initial determination of mission need and continues until project closeout or product retirement (from “lust to dust”) Industry Standard CM Activities* Quality Product Configuration Audit Identification Configuration Change Control Configuration Status Accounting Status Configuration CM Planning and Management * Adapted from [EIA] Figure 1 CM Planning and Management • Identify needs/requirements – Factors that might impact CM activities (e.g., team co- location, partners/subcontractors/suppliers,
    [Show full text]
  • Best Practices in Cyber Supply Chain Risk Management
    National Institute of Standards and Technology Best Practices in Cyber Supply Chain Risk Management Conference Materials Cyber Supply Chain Best Practices In a Nutshell: Cybersecurity in the supply chain cannot be viewed as an IT problem only. Cyber supply chain risks touch sourcing, vendor management, supply chain continuity and quality, transportation security and many other functions across the enterprise and require a coordinated effort to address. Cyber Supply Chain Security Principles: 1. Develop your defenses based on the principle that your systems will be breached. When one starts from the premise that a breach is inevitable, it changes the decision matrix on next steps. The question becomes not just how to prevent a breach, but how to mitigate an attacker’s ability to exploit the information they have accessed and how to recover from the breach. 2. Cybersecurity is never just a technology problem, it’s a people, processes and knowledge problem. Breaches tend to be less about a technology failure and more about human error. IT security systems won’t secure critical information and intellectual property unless employees throughout the supply chain use secure cybersecurity practices. 3. Security is Security. There should be no gap between physical and cybersecurity. Sometimes the bad guys exploit lapses in physical security in order to launch a cyber attack. By the same token, an attacker looking for ways into a physical location might exploit cyber vulnerabilities to get access. Key Cyber Supply Chain Risks: Cyber supply chain risks covers a lot of territory. Some of the concerns include risks from: • Third party service providers or vendors – from janitorial services to software engineering -- with physical or virtual access to information systems, software code, or IP.
    [Show full text]
  • Configuration Management Guidelines
    Configuration Management Guidelines Date: April 2014 www.iaqg.org/scmh Section 7.5 Forward . The guideline describes Configuration Management functions and principles and defines Configuration Management terminology for use with Aerospace and Defense AS&D product line. It is targeted at Small and Medium size companies acting as subcontractors/suppliers either in a Build to Print or a Build to Spec relationship. The intention of these guidelines is to assist organizations with understanding the concept and process of Configuration Management and is not intended to be a requirement, nor auditable. 2 Introduction . The Aerospace Standards (e.g. IAQG 9100) call for the implementation of Configuration Management and documents control throughout the entire life cycle of product realization. Configuration Management establishes a language of understanding between the customer and the supplier both in predefined relationship (such as Built to Print) and those in which the supplier is given some freedom (such as Built to Spec). 3 Introduction . When Configuration Management principles are applied using effective practices, return on investment is maximized, product life cycle costs are reduced and the small investment in resources necessary for effective Configuration Management is returned many fold in cost avoidance. These Guidelines provide the reader with the basic ideas of the industry needs, the benefits to the implementing organization and describes Configuration Management functions and principles. 4 List of Topics 1. What is “Configuration”? 2. Why it is important to manage and control configuration in AS&D 3. Applicable Terms and Definitions 4. The objectives of Configuration Management 5. Benefits for an enterprise gained through application of CM 6.
    [Show full text]
  • Reduce Network Risks with Secure Configuration Management Learn About the Security Aspect of Configuration Management for Network Devices
    Reduce Network Risks with Secure Configuration Management Learn about the security aspect of configuration management for network devices Share: All network devices require scripts or configurations that determine how they should work in a network. These configurations are manually written and differ from vendor to vendor. Furthermore, device configurations change frequently due to application or technology deployments, network expansions, organizational changes and device failures or end-of-life replacements. Deploying and managing device configurations in large networks with hundreds of devices makes it a time consuming, extensive process that is very error-prone. BT/Gartner1 has estimated that 65% of cyber-attacks exploit systems with vulnerabilities introduced by configuration errors. This is one of the major reasons why configuration and change management has been gaining significance in the security aspect of the network. Misconfigurations known as vulnerabilities create huge security risks. Some examples include: A misconfigured HSRP (Hot Standby Router Protocol) can be responsible for the backup link not working Unidentified security holes or unintended backdoor in the firewall Intended VPN tunnel not used due to IPSec (Internet Protocol Security) configuration error Inconsistent QoS (Quality of Service) configurations impacting VoIP (Voice over IP) performance Most organizations implement internal and external regulatory standards for device configuration and management. However, they may not necessarily follow them. This may be due to the difficulty of enforcing the process or lack of control or negligence. Whatever may be the reason, the price to pay is big. Companies incur huge costs due to these network incidents and suffer even more damage to reputation and brand value.
    [Show full text]