Software Maintenance Influence Factors – Delphi

SOFTWAREOPERATIONS, MAINTENANCE AND SUSTAINMENTINFLUENCE 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

ContactInformation:

Donald J. ReiferCheryl Jones

Reifer Consultants LLCU.S. Army/Picatinny Arsenal

Email: mail:

Phone: (928) 237-9060Phone: (973) 724-2644

Fax: (973) 724-2382

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 todeterminewhat 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 SustainmentInfluence 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:

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 ______

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 (little “m” – skeds dictated – can’t affect it)

Multiple funding streams (goes with multiple customers)

Backlog at start of release

Uncertainty of planning parameters

Organizational capability – flexibility – stability

Other ______

Other ______

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 (size driver)

Stability of releases measured by change rate (cost driver)

Number of releases being supported being supported by program/project (cost driver)

Stability of core funding (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 ______

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

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 #3 (not CMMI – spirit of process maturity – quality & performance measurement)

Acquisition method

Development method

Development standard

Other ______

Other ______

Page 1 of 7