SlideShare a Scribd company logo
Managing Changes,
Risks, and Quality
spm - ©2014 adolfo villafiorita - introduction to software project management
Goals of the Unit
• Requests for changes and changes will occur in your
project
• The goal of this unit is understanding:
– The importance of keeping a project under scope
– How request for changes can positively or negatively influence
your project
– The techniques to manage changes
!2
spm - ©2014 adolfo villafiorita - introduction to software project management
The Framework
• The scope document formalizes the goals of a project
• Ideally, once the goals are fixed, the project should move
on to the design/implementation phase and achieve the
project goals, through a progressive refinement
• Any deviation from such course of action is a perturbation
(it changes goals, plans, costs, outputs, work to be
performed, …)
• Changes, however, are inevitable
• The goal of a sound project management, therefore, is
ensuring that the change process is properly managed
!3
spm - ©2014 adolfo villafiorita - introduction to software project management
Fundamental Concepts
• Change Control is the set of practices to ensure
request for changes are properly taken care of
• Configuration Management is the set of practices
to ensure project outputs remain coherent over time
!
• Change Control and Configuration Management span over the
lifecycle of the project outputs
• In software projects artifacts are extremely simple to change
(e.g., editing a file)
• In software projects, connection with bug reporting/bug lifecycle
!4
Initiate Plan Execute &
Monitor
Close
Develop
Monitor
Goals,
Cost
and
Schedule
Release
Change Control & Configuration Management
Quality Management
Human Resource Management
Kick Off
Activities
Formalize
Goals
Define
Schedule
Define Costs
Assess
Feasibility
Close
Collect
Outputs
[Obtain
Approval]
Risk Management
Change Control
spm - ©2014 adolfo villafiorita - introduction to software project management
Causes of Request for Changes
• Incompleteness or incoherencies in the project
requirements or in the description of work
• A better comprehension of the system to be
developed
• A technical opportunity
• A technical challenge
• A change in the external environment
• Non-compliance of a project deliverable
!7
spm - ©2014 adolfo villafiorita - introduction to software project management
Request
Check and
Formally
Record
Evaluate Impact
Approve
Reject
Change Request
(formally tracked)
Change Request Impact Assessment Directive
Action Items
Execute
Changes
Record and
Distribute
Artifacts
(updated)
A Change Control Process
!8
• It runs in parallel to the other PM activities
throughout the project
spm - ©2014 adolfo villafiorita - introduction to software project management
Comments
• A change control board might be appointed to
approve/reject changes
• The cost and risk of changes increase as the project
moves to the delivery
• The process ensures a formal record is kept and and a
clear procedure is set to evaluate the impact of
changes
• Change and change management is embraced by agile
methodologies (changes “treated” as requirements)
!9
Software Evolution
Models
spm - ©2014 adolfo villafiorita - introduction to software project management
What makes a Software System
• Software systems are made of many different artifacts
(sources, libraries, external libraries, documentation,
conversion scripts, databases)
• Software systems run in many different configurations
(e.g., base/pro, versions 1 and 2, Linux/OSX/Windows)
• Two sources of complexity need to be addressed to
develop or maintain a software product:
– Identification of the artifacts
– Evolution
!11
spm - ©2014 adolfo villafiorita - introduction to software project management
Linear Development Model
!12
Source Code
Version 1
Application
Version 1
Source
Code
Version 3
Application
Version 3
produces
Source
Code
Version 2
Application
Version 2
produces produces
replaces replaces
spm - ©2014 adolfo villafiorita - introduction to software project management
Branching Development Model
!13
Source
Code
Version 1
Application
Version 1
Source
Code
Version 3
Application
Version 3
produces
Source
Code
Version 2
Application
Version 2
produces
replaces replaces
Source
Code
Version 1.1
Application
Version 1.1
Source
Code
Version 2.1
Source
Code
Version 2.1
Application
Version 2.1
produces
produces produces
spm - ©2014 adolfo villafiorita - introduction to software project management
Software Development Models
• Linear development:
– Only one version of an application is running at any given time
(Example: one-offs; many web applications are one-offs)
• Branching development:
– Various versions of an application are running at a given time
!14
Configuration
Management
spm - ©2014 adolfo villafiorita - introduction to software project management
Configuration Management
Configuration Management (CM) is a
set of activities running in parallel to
the development process, whose goal
is establishing and maintaining
system’s coherency over time
!
– Part of the project management plan
– Helps define project standards and best practices
!16
spm - ©2014 adolfo villafiorita - introduction to software project management
Configuration Management Main Goals
• Being able to build a system from a consistent set of
components
• Being able to retrieve a software component when
needed (consider: storage time, storage means)
• Being able to view the history of changes a system has
undergone
• Being able to retrieve a previous version of a system
!
• Remark: closely related to the change management
process
!17
spm - ©2014 adolfo villafiorita - introduction to software project management
Some Examples
• A bug is reported by a user on a COTS software we
have been selling for ten years.
• A client requests an enhancement to a one-off system
we sold in 2005.
• We need to reproduce/understand an odd behavior of
the control software of a space exploration probe which
is now orbiting Jupiter
!18
spm - ©2014 adolfo villafiorita - introduction to software project management
Steps and Tools: Establish Baseline
• The first step is “establishing what a product is”
• A good CM requires to:
– Clearly identify the items which constitute a product
– Identify the relationships among these items
– Choose an appropriate identification and numbering
scheme for versions
– Take “snapshots”: baseline records
!19
spm - ©2014 adolfo villafiorita - introduction to software project management
Steps and Tools: Manage Changes
• The second step is “maintaining coherency over time”
• A good CM process requires to:
– Define the “baseline record” (the starting point)
– Identify and approve requests for changes (see change
control)
– Formally record changes and history of each item
– Maintaining old versions
• For family of products there could be different
baselines. Changes might need to be applied to one
or more baseline (consider a security fix to a browser)
!20
spm - ©2014 adolfo villafiorita - introduction to software project management
Steps and Tools: Considerations
• For software development, a version control system
implements various of the functions described above
• Tools are not sufficient: an adequate process has to be
in place
• Semantic versioning is an example of numbering
schema
!21
spm - ©2014 adolfo villafiorita - introduction to software project management
Version Control Systems: Main Concepts
• Working version: the file (or set of files we are
currently editing)
• Repository: the storage where all versions of a file (or
set of files) are kept together with additional information
!22
Repository Repository'
a.each do |x|
puts x
end
#a.each do |x|
#puts x
#end
a.each do |x|
puts x
end
#a.each do |x|
#puts x
#end
commit checkout commit
a.each do |x|
puts x
end
#a.each do |
x|
#puts x
#end
History Log
Tags
Version N.
Files
a.each do |x|
puts x
end
#a.each do |
x|
#puts x
#end
History Log
Tags
Version N.
Files
a.each do |x|
puts x
end
#a.each do |
x|
#puts x
#end
spm - ©2014 adolfo villafiorita - introduction to software project management
Version Control Systems: Main Concepts
• In the simple case (early VCS) each file would have an
independent repository
• Coherence is kept by assigning the same tags to all
artifacts constituting a baseline
• More recent VCS manage sets of artifacts in an
integrated way
• Tagging is used to mark important baseline records
• A VCS typically support parallel access and editing of
artifacts
!23

More Related Content

Similar to C04.01-ManagingChanges.key.pdf

Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
NikhilDudka
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
MohammadSamiuddin10
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
BhuWan Khadka
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
Aruna M
 
Fa10 mcs-005
Fa10 mcs-005Fa10 mcs-005
Fa10 mcs-005
Danish Nauman
 
ISBB_Chapter10.pptx
ISBB_Chapter10.pptxISBB_Chapter10.pptx
ISBB_Chapter10.pptx
AronBalais1
 
Proposal dms for dwf v2
Proposal   dms for dwf v2Proposal   dms for dwf v2
Proposal dms for dwf v2
Media-Mosaic
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
ShudipPal
 
Proposal DMS
Proposal   DMS Proposal   DMS
Proposal DMS
Media-Mosaic
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slides
CMDLMS
 
Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration Management
KanchanPatil34
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
Md. Shafiuzzaman Hira
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
Shree M.L.Kakadiya MCA mahila college, Amreli
 
matt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & toolmatt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & tool
CuongHoang80
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processes
anointon
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
Sushant895574
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
Voyager scmVoyager scm
Muhammad_Aneeque - PM
Muhammad_Aneeque - PMMuhammad_Aneeque - PM
Muhammad_Aneeque - PM
Shaikh Muhammad Aneeque
 

Similar to C04.01-ManagingChanges.key.pdf (20)

Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
04. Project Management
04. Project Management04. Project Management
04. Project Management
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Fa10 mcs-005
Fa10 mcs-005Fa10 mcs-005
Fa10 mcs-005
 
ISBB_Chapter10.pptx
ISBB_Chapter10.pptxISBB_Chapter10.pptx
ISBB_Chapter10.pptx
 
Proposal dms for dwf v2
Proposal   dms for dwf v2Proposal   dms for dwf v2
Proposal dms for dwf v2
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Proposal DMS
Proposal   DMS Proposal   DMS
Proposal DMS
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slides
 
Unit 6 Software Configuration Management
Unit 6 Software Configuration ManagementUnit 6 Software Configuration Management
Unit 6 Software Configuration Management
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 
matt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & toolmatt heinzelman software quality assurance presentation technical & tool
matt heinzelman software quality assurance presentation technical & tool
 
Lesson 2 software processes
Lesson 2   software processesLesson 2   software processes
Lesson 2 software processes
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Voyager scm
Voyager scmVoyager scm
Voyager scm
 
Muhammad_Aneeque - PM
Muhammad_Aneeque - PMMuhammad_Aneeque - PM
Muhammad_Aneeque - PM
 

More from ssuser8babb7

C03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdfC03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdf
ssuser8babb7
 
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdfC07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
ssuser8babb7
 
C07.01-02-SW-DevelopmentProcess.key.pdf
C07.01-02-SW-DevelopmentProcess.key.pdfC07.01-02-SW-DevelopmentProcess.key.pdf
C07.01-02-SW-DevelopmentProcess.key.pdf
ssuser8babb7
 
C06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdfC06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdf
ssuser8babb7
 
C05.03-Communication.key.pdf
C05.03-Communication.key.pdfC05.03-Communication.key.pdf
C05.03-Communication.key.pdf
ssuser8babb7
 
C05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdfC05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdf
ssuser8babb7
 
C04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdfC04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdf
ssuser8babb7
 
C03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdfC03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdf
ssuser8babb7
 
C03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdfC03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdf
ssuser8babb7
 
C03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdfC03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdf
ssuser8babb7
 
C03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdfC03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdf
ssuser8babb7
 
C03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdfC03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdf
ssuser8babb7
 
C03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdfC03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdf
ssuser8babb7
 
C03.04-Estimating.key.pdf
C03.04-Estimating.key.pdfC03.04-Estimating.key.pdf
C03.04-Estimating.key.pdf
ssuser8babb7
 

More from ssuser8babb7 (14)

C03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdfC03.04c-InDepth-OP.key.pdf
C03.04c-InDepth-OP.key.pdf
 
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdfC07.03-05-SW-DevelopmentProcess-Agile.key.pdf
C07.03-05-SW-DevelopmentProcess-Agile.key.pdf
 
C07.01-02-SW-DevelopmentProcess.key.pdf
C07.01-02-SW-DevelopmentProcess.key.pdfC07.01-02-SW-DevelopmentProcess.key.pdf
C07.01-02-SW-DevelopmentProcess.key.pdf
 
C06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdfC06.00-ProjectPricing.key.pdf
C06.00-ProjectPricing.key.pdf
 
C05.03-Communication.key.pdf
C05.03-Communication.key.pdfC05.03-Communication.key.pdf
C05.03-Communication.key.pdf
 
C05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdfC05.02-OrganizationalStructures.key.pdf
C05.02-OrganizationalStructures.key.pdf
 
C04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdfC04.02-RiskManagement.key.pdf
C04.02-RiskManagement.key.pdf
 
C03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdfC03.09-AgileMonitoringAndControl.key.pdf
C03.09-AgileMonitoringAndControl.key.pdf
 
C03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdfC03.10-ProjectClosing.key.pdf
C03.10-ProjectClosing.key.pdf
 
C03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdfC03.08-09-ExecutionMonitoringControl.key.pdf
C03.08-09-ExecutionMonitoringControl.key.pdf
 
C03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdfC03.07-BudgetingAndAccounting.key.pdf
C03.07-BudgetingAndAccounting.key.pdf
 
C03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdfC03.06-OptimizingThePlan.key.pdf
C03.06-OptimizingThePlan.key.pdf
 
C03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdfC03.05-Scheduling.key.pdf
C03.05-Scheduling.key.pdf
 
C03.04-Estimating.key.pdf
C03.04-Estimating.key.pdfC03.04-Estimating.key.pdf
C03.04-Estimating.key.pdf
 

Recently uploaded

Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
harshapolam10
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
upoux
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
PreethaV16
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
upoux
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
PIMR BHOPAL
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 

Recently uploaded (20)

Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 

C04.01-ManagingChanges.key.pdf

  • 2. spm - ©2014 adolfo villafiorita - introduction to software project management Goals of the Unit • Requests for changes and changes will occur in your project • The goal of this unit is understanding: – The importance of keeping a project under scope – How request for changes can positively or negatively influence your project – The techniques to manage changes !2
  • 3. spm - ©2014 adolfo villafiorita - introduction to software project management The Framework • The scope document formalizes the goals of a project • Ideally, once the goals are fixed, the project should move on to the design/implementation phase and achieve the project goals, through a progressive refinement • Any deviation from such course of action is a perturbation (it changes goals, plans, costs, outputs, work to be performed, …) • Changes, however, are inevitable • The goal of a sound project management, therefore, is ensuring that the change process is properly managed !3
  • 4. spm - ©2014 adolfo villafiorita - introduction to software project management Fundamental Concepts • Change Control is the set of practices to ensure request for changes are properly taken care of • Configuration Management is the set of practices to ensure project outputs remain coherent over time ! • Change Control and Configuration Management span over the lifecycle of the project outputs • In software projects artifacts are extremely simple to change (e.g., editing a file) • In software projects, connection with bug reporting/bug lifecycle !4
  • 5. Initiate Plan Execute & Monitor Close Develop Monitor Goals, Cost and Schedule Release Change Control & Configuration Management Quality Management Human Resource Management Kick Off Activities Formalize Goals Define Schedule Define Costs Assess Feasibility Close Collect Outputs [Obtain Approval] Risk Management
  • 7. spm - ©2014 adolfo villafiorita - introduction to software project management Causes of Request for Changes • Incompleteness or incoherencies in the project requirements or in the description of work • A better comprehension of the system to be developed • A technical opportunity • A technical challenge • A change in the external environment • Non-compliance of a project deliverable !7
  • 8. spm - ©2014 adolfo villafiorita - introduction to software project management Request Check and Formally Record Evaluate Impact Approve Reject Change Request (formally tracked) Change Request Impact Assessment Directive Action Items Execute Changes Record and Distribute Artifacts (updated) A Change Control Process !8 • It runs in parallel to the other PM activities throughout the project
  • 9. spm - ©2014 adolfo villafiorita - introduction to software project management Comments • A change control board might be appointed to approve/reject changes • The cost and risk of changes increase as the project moves to the delivery • The process ensures a formal record is kept and and a clear procedure is set to evaluate the impact of changes • Change and change management is embraced by agile methodologies (changes “treated” as requirements) !9
  • 11. spm - ©2014 adolfo villafiorita - introduction to software project management What makes a Software System • Software systems are made of many different artifacts (sources, libraries, external libraries, documentation, conversion scripts, databases) • Software systems run in many different configurations (e.g., base/pro, versions 1 and 2, Linux/OSX/Windows) • Two sources of complexity need to be addressed to develop or maintain a software product: – Identification of the artifacts – Evolution !11
  • 12. spm - ©2014 adolfo villafiorita - introduction to software project management Linear Development Model !12 Source Code Version 1 Application Version 1 Source Code Version 3 Application Version 3 produces Source Code Version 2 Application Version 2 produces produces replaces replaces
  • 13. spm - ©2014 adolfo villafiorita - introduction to software project management Branching Development Model !13 Source Code Version 1 Application Version 1 Source Code Version 3 Application Version 3 produces Source Code Version 2 Application Version 2 produces replaces replaces Source Code Version 1.1 Application Version 1.1 Source Code Version 2.1 Source Code Version 2.1 Application Version 2.1 produces produces produces
  • 14. spm - ©2014 adolfo villafiorita - introduction to software project management Software Development Models • Linear development: – Only one version of an application is running at any given time (Example: one-offs; many web applications are one-offs) • Branching development: – Various versions of an application are running at a given time !14
  • 16. spm - ©2014 adolfo villafiorita - introduction to software project management Configuration Management Configuration Management (CM) is a set of activities running in parallel to the development process, whose goal is establishing and maintaining system’s coherency over time ! – Part of the project management plan – Helps define project standards and best practices !16
  • 17. spm - ©2014 adolfo villafiorita - introduction to software project management Configuration Management Main Goals • Being able to build a system from a consistent set of components • Being able to retrieve a software component when needed (consider: storage time, storage means) • Being able to view the history of changes a system has undergone • Being able to retrieve a previous version of a system ! • Remark: closely related to the change management process !17
  • 18. spm - ©2014 adolfo villafiorita - introduction to software project management Some Examples • A bug is reported by a user on a COTS software we have been selling for ten years. • A client requests an enhancement to a one-off system we sold in 2005. • We need to reproduce/understand an odd behavior of the control software of a space exploration probe which is now orbiting Jupiter !18
  • 19. spm - ©2014 adolfo villafiorita - introduction to software project management Steps and Tools: Establish Baseline • The first step is “establishing what a product is” • A good CM requires to: – Clearly identify the items which constitute a product – Identify the relationships among these items – Choose an appropriate identification and numbering scheme for versions – Take “snapshots”: baseline records !19
  • 20. spm - ©2014 adolfo villafiorita - introduction to software project management Steps and Tools: Manage Changes • The second step is “maintaining coherency over time” • A good CM process requires to: – Define the “baseline record” (the starting point) – Identify and approve requests for changes (see change control) – Formally record changes and history of each item – Maintaining old versions • For family of products there could be different baselines. Changes might need to be applied to one or more baseline (consider a security fix to a browser) !20
  • 21. spm - ©2014 adolfo villafiorita - introduction to software project management Steps and Tools: Considerations • For software development, a version control system implements various of the functions described above • Tools are not sufficient: an adequate process has to be in place • Semantic versioning is an example of numbering schema !21
  • 22. spm - ©2014 adolfo villafiorita - introduction to software project management Version Control Systems: Main Concepts • Working version: the file (or set of files we are currently editing) • Repository: the storage where all versions of a file (or set of files) are kept together with additional information !22 Repository Repository' a.each do |x| puts x end #a.each do |x| #puts x #end a.each do |x| puts x end #a.each do |x| #puts x #end commit checkout commit a.each do |x| puts x end #a.each do | x| #puts x #end History Log Tags Version N. Files a.each do |x| puts x end #a.each do | x| #puts x #end History Log Tags Version N. Files a.each do |x| puts x end #a.each do | x| #puts x #end
  • 23. spm - ©2014 adolfo villafiorita - introduction to software project management Version Control Systems: Main Concepts • In the simple case (early VCS) each file would have an independent repository • Coherence is kept by assigning the same tags to all artifacts constituting a baseline • More recent VCS manage sets of artifacts in an integrated way • Tagging is used to mark important baseline records • A VCS typically support parallel access and editing of artifacts !23