VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
SPM PPT.pptx
1. SOFTWARE CONFIGURATION
ITEMS AND TASKS, BASELINES,
PLAN FOR CHANGE
Presented to- Presented by-
Ms. Jyotsna Seth Balvinder Singh
Harsh Dubey
Azimuddin
Abhisweta
2. Overview
❖ What is Software Configuration Management ?
❖ What are Software Configuration Items ?
❖ What are Software Configuration Tasks ?
❖ What is Baseline ?
❖ What is Plan For Change ?
3. Software Configuration Management
❖ Software configuration management (SCM) is the process of tracking and controlling
changes made to software artifacts such as source code, documentation, and other project-
related files. The main purpose of SCM is to provide a framework for managing and
controlling changes to software throughout its lifecycle.
❖ SCM plays a critical role in software development by ensuring that changes to software
artifacts are properly managed, tracked, and controlled throughout the development
lifecycle. This helps to minimize errors, improve collaboration, and increase the overall
quality of the software being developed.
4. Software Configuration Items
In software development, a Configuration Item (CI) refers to any software artifact that is
subject to change during the development process. This can include source code files,
compiled binaries, documentation, test cases, and any other deliverables that make up the
final software product. Each Configuration Item can be uniquely identified and tracked
throughout the development process using a version control system.
5. Software Configuration Tasks
❖ Tasks, on the other hand, are specific activities or work items that need to be completed
in order to develop and deliver the software product. Tasks can be associated with one or
more Configuration Items and are typically managed through a project management tool,
such as Jira or Trello.
❖ In the context of software configuration management, tasks can be used to manage the
change process for Configuration Items. For example, if a bug is discovered in the
software, a task can be created to fix the bug and associated with the relevant
Configuration Item(s). Once the fix is completed and tested, the Configuration Item(s) can
be updated and a new version created, which is then associated with the original task.
6. Tasks can also be used to manage other aspects of the software development process,
such as requirements gathering, design, testing, and deployment. By breaking down the
development process into smaller, more manageable tasks, teams can track progress and
identify potential issues early on, allowing them to make adjustments and stay on track
towards meeting their goals.
Tasks in Software Configuration Management-
‣ Configuration Identification- is a method of determining the scope of the software system.
‣ Baselines- A baseline is a formally accepted version of a software configuration item.
‣ Change Control- is a procedural method which ensures quality and consistency when
changes are made in the configuration object.
‣ Configuration Status Accounting- Configuration status accounting tracks each release
during the SCM process.
‣ Configuration Audits and Reviews- Software Configuration audits verify that all the
software product satisfies the baseline needs.
7. Baselines
❖Baselines are an essential part of software project management. They are used to
measure the progress of the project and ensure that it is on track to meet its goals.
❖These are a set of documents which serve as a reference point for the project's
progress and are used to measure changes in the project's scope, schedule, and budget.
Baselines are created early in the project's lifecycle and are revised as needed to
reflect changes in the project.
8. A project baseline typically has three components-
1.Scope baseline: This includes the project's scope statement, work breakdown structure
(WBS), and requirements documentation. The scope baseline is used to measure the
project's progress against its scope and ensure that it stays within the agreed-upon
boundaries.
2.Schedule baseline: This includes the project's schedule, milestones, and deadlines. The
schedule baseline is used to measure the project's progress against its timeline and ensure
that it stays on schedule.
3.Cost baseline: This includes the project's budget, resource allocation, and cost estimates.
The cost baseline is used to measure the project's progress against its budget and ensure
that it stays within the allocated funds.
9. Need for Baselines
1.Provides a reference point: Baselines provide a reference point for measuring progress
against the project's original goals, timeline, and budget.
2.Ensures consistency: By having agreed-upon baselines, project managers can ensure
consistency across the project team and stakeholders.
3.Helps with decision-making: Baselines provide a framework for informed decision-making
based on a clear understanding of the project's status.
4.Reduces risk: Baselines help reduce the risk of project failure by providing a framework for
monitoring progress and taking corrective actions as needed.
5.Facilitates communication: Baselines enable effective communication among project team
members, stakeholders, and clients, providing a common reference point for discussions.
6.Supports project success: By providing a clear framework for measuring progress and taking
corrective actions, baselines support the overall success of software projects.
10. PROBLEMS CAUSED BY NOT HAVING A PROJECT
BASELINE
1.Schedule delays : Without knowing when you need material, it’s difficult to ensure it’s
ordered on time, especially if it’s something that needs to be ordered weeks or months
in advance.
2.Issues with quality management: An unclear scope baseline can result in substandard
quality. For example, if you know paint is needed but not what color or finish, the
outcome may not meet the customer’s quality standards.
3.A lack of proper change management: Without baselines in place, it’s difficult to track
and manage changes. You have no yardstick to measure against, so it can be challenging
to know if your outcome is different than originally expected.
4.Customer and/or sponsor dissatisfaction: Any of the five problems above can result in
poor project performance, which will mean unhappy stakeholders, including your
customer and/or sponsor.
11. Plan for Change
❖ A plan for change in software project management involves identifying areas that require
improvement and implementing changes to improve the overall project performance. This
can include changes to the project methodology, team structure, communication processes,
or technology used.
❖ The first step in developing a plan for change is to conduct a thorough analysis of the
current project management process. This involves identifying the strengths and
weaknesses of the current process, as well as opportunities for improvement. A gap
analysis can be conducted to identify the areas where improvements are required.
12. Need for Change
Change is an inevitable part of software project management, and it is essential to recognize its
importance for successful project completion. Here are some reasons why change is crucial in
software project management-
1.Responding to changing requirements: Software projects can experience changes in requirements
due to various reasons such as changes in the market, technology, or customer needs. The ability to
adapt and respond to these changes is critical to ensure that the software meets the stakeholders'
needs.
2.Addressing issues and risks: Change management allows software project managers to identify and
address issues and risks that arise during the project. It helps to mitigate potential negative impacts
that could affect the project's success.
3.Improving project outcomes: Changes can lead to improvements in project outcomes by
identifying areas for improvement and implementing new ideas and solutions. By embracing
change, project managers can continuously improve the software development process and ensure
that the final product meets or exceeds stakeholders' expectations.
13. Benefits of Plan for Change
1.Increased efficiency: Change can lead to increased efficiency by eliminating redundant
processes, automating repetitive tasks, and streamlining workflows. For example,
implementing agile methodologies in software development can result in faster development
cycles, more frequent releases, and better collaboration among team members.
2.Improved quality: Change can also result in improved quality by introducing new tools and
techniques for testing and quality assurance. For instance, adopting continuous integration
and continuous delivery (CI/CD) can ensure that code changes are tested and deployed
quickly, thereby reducing the likelihood of bugs and errors in the software.
3.Reduced costs: Change can also help reduce costs by eliminating waste, optimizing
resources, and improving productivity. For example, using cloud-based infrastructure and
software can reduce the need for expensive hardware and software purchases, while also
providing scalability and flexibility.