COCOMO Forum Delphi version 2.0 Results

advertisement
Software Maintenance Influence Factors – Delphi
SOFTWARE OPERATIONS, MAINTENANCE AND SUSTAINMENT
INFLUENCE FACTORS
DELPHI ROUND 1
I. Participant Information:
Multiple attendees at COCOMO forum. Process was:
- Each attendee rated each factor
- Group jointly discussed which factors were important
- Group ranked the most important factors
Years of experience in cost modeling and estimation: 15 – 27 years (average 22)
Years of experience with software operations, maintenance, and sustainment: 5-39 years
(average 26)
What category would best describe your application domain? (Check all that apply)
Military - Airborne
Military - Ground
Military - Missile
Military - Sea
Military - Simulation
Military - Space
Military - Support
Military – Trainers
Commercial – General
Information Systems
Medical Systems
Process Control
Software Products
System Software
Telecommunications
Commercial - Aerospace
Web
Other (please specify): Military and IT system, NASA, Battle Command Sensors
Contact Information:
Donald J. Reifer
Reifer Consultants LLC
Email: don@reifer.com
Phone: (928) 237-9060
Cheryl Jones
U.S. Army/Picatinny Arsenal
Email: Cheryl.jones5@us.army.mil
Phone: (973) 724-2644
Fax: (973) 724-2382
Page 1 of 7
Software Maintenance Influence Factors – Delphi
Introduction
In an effort to better support software operations, maintenance, and sustainment estimation and
budgeting, the U.S. Army is endeavoring to develop new and more accurate models for estimating
costs. In this Delphi exercise, we need your help to determine what factors influence the costs of
software operations, maintenance, and sustainment so that we can control variation and develop
more accurate estimates.
Software operations, maintenance and sustainment for this survey is defined to include the four
major activities identified as follows:
 Software maintenance: those activities associated with modifying a software product/system
or component after delivery to correct faults, improve performance or attributes, or adapt it to a
changed environment.
 Software sustaining engineering: those activities associated with supporting a deployed
software product/system in its operational environment.
 Software support infrastructure and facilities: those infrastructure tasks associated with
managing the integrity and quality of software releases and the processes, suppliers and their
products, and the facilities used to develop them as they are generated, distributed and fielded.
 Program/project management: all project, organizational and enterprise activities associated
with planning, organizing, funding, and managing software support resources to achieve
mission and performance objectives.
Factors that have a direct impact on operations, maintenance, and sustainment costs estimated in
pursuit of these four activities at both the enterprise and program/project levels include influence
factors, size drivers and effort multipliers. Influence factors are parameters outside the
program/project’s control. Size and effort multipliers are factors that the manager has some power
over.
1. Instructions
The questionnaire consists of three parts: influence factors, size drivers and effort multipliers. We
would appreciate your rating the importance of each candidate for these factors, drivers and
multipliers using a scale of 1 to 10, with 10 being the most important.
2. Software Operations, Maintenance and Sustainment Influence Factors
Factors that influence estimates are many and stem from the business complexity, task alignment
and execution models imposed on the program/project organizationally from outside sources as
illustrated in the Figure below. Please rate these factors in the paragraphs that follow:
Page 2 of 7
Software Maintenance Influence Factors – Delphi
Business Factors (rate important using scale of 1 to 10 with 10 being most important)
Program and domain characteristics #1
Color of money #2 (not for commercial programs)
Source of funds #3
Other (write-in): Changing Mission, users #4
Low level technical and business decision autonomy #5 (drives cost is don’t have authority)
Resourcing business models #6 (having staff in place, going from contractor to govt)
Extent of policy coverage – governance
Diverse organizational task and activity portfolios
Product and data rights
Estimation/budgeting approaches
Information system capabilities (including accounting systems)
Other _______________________________
Complexity Factors (rate important using scale of 1 to 10 with 10 being most important)
System of system integration requirements #1
Legacy software architectures #2
Backfit security, safety, and other certification requirements #3 (2 were merged for this)
Legacy software technologies
Other (write-in): Level of hw/sw integration (little “m”)
Other _______________________________
Page 3 of 7
Software Maintenance Influence Factors – Delphi
Resource and Task Alignment Factors (rate important using scale of 1 to 10 with 10 being most
important)
Alignment of task and funding models #1
Top-level expectations versus realities #2 (must for model) (sked)
Policies, budgets, resources, tasks and outputs
Autonomous personnel and funding decisions
Plans versus execution
Management reserves (reduced allocations)
Overhead versus direct funded functions
Amount of “technical debt”
(this may be the wrong place for this –should be in little “m”)
Other _______________________________
Other _______________________________
Execution Factors (rate important using scale of 1 to 10 with 10 being most important)
Event-driven requirements and reprioritizations #1
No. of releases being done in parallel (using same resources) #2
Multiple customers – direct user involvement #3 (lack of, too much, joint program)
Short-term mission driven execution schedules
Multiple funding streams
(little “m” – skeds dictated – can’t affect it)
(goes with multiple customers)
Backlog at start of release
Uncertainty of planning parameters
Organizational capability – flexibility – stability
Other _______________________________
Other _______________________________
Page 4 of 7
Software Maintenance Influence Factors – Delphi
Software Maintenance
Term refers to those software activities associated with modifying a software product/system or
component after delivery to correct faults, improve performance or attributes, or adapt it to a
changed environment.
3. Software Maintenance Size Drivers
The size of the software maintenance tasks is directly influenced by factors like the how many
programs/ projects are competing for a limited number of resources (labs, people, etc.) at the
enterprise level and the number of changes and repairs that have to be incorporated into the release
at the program/project level. Please rate these factors in the paragraphs that follow:
Enterprise Size Factors (rate important using scale of 1 to 10 with 10 being most important)
Number of programs/projects competing for resources
Stability of releases measured by change rate
(size driver)
(cost driver)
Number of releases being supported being supported by program/project
Stability of core funding
(cost driver)
(unstable – drives to contractor – lose personnel – expensive)
Other _______________________________
Other _______________________________
Other _______________________________
Program/Project Size Factors (rate important using scale of 1 to 10 with 10 being most
important)
Number of change requests (in release) #1a (input queue – merge top 3 into “scope”
Number of repairs (in release) by priority and type #1b
Number of COTS packages updated #1C
Number of emergency repairs being replaced (patches) #2 (if good, have less of these)
Other _______________________________
Other _______________________________
Other _______________________________
Page 5 of 7
Software Maintenance Influence Factors – Delphi
4. Software Maintenance Effort Multipliers
The effort needed to perform the software maintenance tasks is influenced first by the work that
needs to be performed and those factors or drivers to which effort is sensitive (effort multipliers).
For software maintenance, please rate the factors which follow to provide us with assessments of
which have the greatest impact on effort. Effort multipliers have been taken from COCOMO II
and SEER and are defined by texts describing them.
People (rate important using scale of 1 to 10 with 10 being most important)
Personnel continuity #1 (if maintainer is different than developer, need to affect personnel)
Analyst capability #2
Applications experience #3
Platform experience #4
Programmer capability
Language & tool experience
Other _______________
Product (rate important using scale of 1 to 10 with 10 being most important)
Product complexity #1
Required reliability #2
Other (write-in): Required Security #3
Application type #4
Other (write-in): Hw/sw integration #5
Platform/domain type
Degree of reuse
Language type
Documentation match to needs
Requirements volatility (change)
Execution time constrain
Main storage constrain
Data base size
Platform volatility
Page 6 of 7
Software Maintenance Influence Factors – Delphi
Project (rate important using scale of 1 to 10 with 10 being most important)
Architecture/risk resolution #1
Team cohesion #2
Constrained schedule #3 (changed from “Required development schedule” – creates technical
debt – could also be “Degree of Technical Debt”)
Degree of precedentedness
Use of software tools
Development flexibility
Multi-site capability
Resource dedication
Other _______________
Other _______________
Process (rate important using scale of 1 to 10 with 10 being most important)
Process volatility (change) #1
Use of modern programming practices #2
Process maturity
measurement)
#3 (not CMMI – spirit of process maturity – quality & performance
Acquisition method
Development method
Development standard
Other _______________
Other _______________
Page 7 of 7
Download