From Software ConOps to ROM
in Six Easy Steps
Carol Dekkers, CFPS (Fellow), PMP, CSM Dan French, CFPS (Fellow) PMP, CSM
President, Quality Plus Technologies, Inc Domain Expert, COBEC
Office: +1 813-816-1329 Office: +1 571-225-0380
Quality Plus Technologies, Inc.
Quality Plus Technologies, Inc.
2
U.S. expert and project editor for ISO/IEC JTC1 SC7 SW Engineering standards. IFPUG Past President & committee chair (Industry Standards), ICEAA Board Member
Independent consultant, author and speaker (30+ countries) with US & international clients
ICEAA 2022 Educator of the year & Lead Author of CEBOK-S; o 2023 Global Leader in Consulting; 2022 IFPUG Honorary Fellowl
Certified FP Specialist (CFPS-Fellow), SCEC, Certified Scrum Master (CSM), PMP, P.Eng.
Resides in FL, USA. Interests include: festival event & volunteer management, tennis, travel, craft beverages and gourmet food
Highlights - Carol Dekkers, PMP, CFPS (Fellow), P.Eng. CSM
Quality Plus Technologies, Inc.
Highlights - Dan French, PMP, CFPS (Fellow), CSM
3
Quality Plus Technologies, Inc.
Topics
4
Quality Plus Technologies, Inc.
A. Software Development Cost Drivers1
5
Cost drivers are variables in an analogy (e.g., effort per size measure) or parametric, regression-based CER (cost estimating relationship) where effort is estimated as a function of one or more explanatory variables
Quality Plus Technologies, Inc.
B. ConOps to ROM 🡪 6 steps
6
Step 0:
Concept of Operations document
ConOps
Step 1: SW Boundary
Step 2: SW FUR
Identify DEV Scope
Step 3: Size the LF
Step 4: Size the EP
Estimate SW Size (SFP)
Step 5: Historical Productivity
Step 6. ROM: effort, cost, schedule
Create ROM Estimate
Quality Plus Technologies, Inc.
Step 0: Concept of Operations (ConOps)/2
Concept of Operations (ConOps) for Program
xxx
7
Quality Plus Technologies, Inc.
Concept of Operations (ConOps)
8
ConOps, EPICS and other documents outline HIGH-LEVEL, EARLY requirements
Quality Plus Technologies, Inc.
Identify DEV Scope/2
Step 1: Software Boundary:
9
Quality Plus Technologies, Inc.
Identify DEV Scope
Step 2: SW Functional User Requirements (FUR): -
10
Quality Plus Technologies, Inc.
Estimate Software Size
CEBoK-S: Software size (Lesson X)
11
Functional size:
Quality Plus Technologies, Inc.
What is Functional Size?
Software requirements�
(Note: ALL types of software requirements impact cost and duration)
2. Non-Functional Requirements (HOW GOOD)
3. Technical Requirements (HOW TO BUILD)
Functional Size
(in units of FP or SFP)
Non-functional and technical requirements are evaluated (sized) as part of productivity (complexity, skills, etc.) when selecting analogy or via IFPUG SNAP or VAF methods
1. Functional (User) Requirements (WHAT does SW do?)
Quality Plus Technologies, Inc.
History of Functional Size �(Function Points)
13
Quality Plus Technologies, Inc.
IFPUG Simple Function Points (SFP) v2.1
14
Quality Plus Technologies, Inc.
IFPUG FP v4.3.1 �versus IFPUG SFP v2.1
15
(4.6 SFP each)
IFPUG FP v4.3.1
To “count” IFPUG FP 🡪 Identify function type (ILF, EIF, EI, EO,EQ) 🡪Evaluate DET, RET, FTR 🡪 Determine functional complexity (Low/Avg/High) 🡪 Translate # FP
To “estimate” IFPUG SFP 🡪 Identify Logical Files & Elementary Processes
🡪 Translate # FP
Quality Plus Technologies, Inc.
Estimate Software Size
Step 3: Size the Logical files (LF)
Each LF = 7 SFP
16
Quality Plus Technologies, Inc.
Estimate Software Size
Step 4: Size the Elementary Processes (EP)
Examples include :
Each EP = 4.6 SFP
17
Quality Plus Technologies, Inc.
Estimate Software Size
Step 3: Size the Logical Files
Step 4: Size the Elementary Processes (EP)
18
Data out
Data In
c
Quality Plus Technologies, Inc.
Create ROM Estimate
Step 5: Historical data productivity
Step 6: ROM (Rough order of magnitude) using CER*
19
Step 5: Historical productivity
Step 6: ROM Estimated effort
ROM Estimated cost
ROM Estimated schedule (duration)
* CER = Cost Estimating Relationship
Quality Plus Technologies, Inc.
Historical Productivity Data
20
Quality Plus Technologies, Inc.
Create ROM Estimate
Step 5: Historical Productivity Data
21
Quality Plus Technologies, Inc.
Match / adjust scope of activities in Historical data
22
Stake-holder Req. | System Req. | System Arch. Design | SW Req. | SW Arch. Design | SW Detail Design | SW Construction | SW Integration | SW Qual. Testing | System Integration | System Qualification | System Installation | System Acceptance |
| ||||||||||||
| ||||||||||||
SW Development “end to end”
System Development “end to end”
Design, Code, Test, Integration
(DCTI)
Quality Plus Technologies, Inc.
Historical ISBSG D&E Repository
23
Quality Plus Technologies, Inc.
Create ROM Estimate
Step 6: ROM Estimate effort, cost & schedule (duration)
24
Quality Plus Technologies, Inc.
25
Adapted from ICEAA CEBoK-S Lesson X (Size) – Assume a ConOps document outlined SW scope
Quality Plus Technologies, Inc.
C. ConOps Case Study �Case Study
26
Quality Plus Technologies, Inc.
Identify DEV Scope�Step 1: Identify Software Boundary(ies)
27
Boundary
In same s/w Boundary
ONE software boundary identified
Quality Plus Technologies, Inc.
Identify DEV Scope: �Step 2: Identify FUR
28
Req # | Requirement (Use Case) |
1. | Logon (by all users) |
2. | Maintain professor information (by the registrar) |
3. | Select courses to teach (by professors) |
4. | Maintain student information (by the registrar) |
5. | Register for course(s) (by students) |
6. | Close registration (by the registrar) |
7. | Submit grades (by professors) |
8. | View report card (by students) |
Note:manual or non-functional software reqs could also be in ConOps | |
Functional?
Quality Plus Technologies, Inc.
Estimate Software Size�Step 3: Size the Logical Files (LF)
29
# | Use case for Course Registration System |
1. | Logon (by all users) |
2. | Maintain professor information (by the registrar) |
3. | Select courses to teach (by professors) |
4. | Maintain student information (by the registrar) |
5. | Register for course(s) (by students) |
6. | Close registration (by the registrar) |
7. | Submit grades (by professors) |
8. | View report card (by students) |
| |
USER
PROFESSOR
CATALOG OF COURSES CATALOG
STUDENT
COURSE SESSION (Incl Grades)
ESTIMATE
LF = 35 SFP
Quality Plus Technologies, Inc.
Estimate Software Size�Step 4: Size the Elementary Processes
30
# | Use case for Course Registration System |
1. | Logon (by all users) |
2. | Maintain professor information (by the registrar) |
3. | Select courses to teach (by professors) |
4. | Maintain student information (by the registrar) |
5. | Register for course(s) (by students) |
6. | Close registration (by the registrar) |
7. | Submit grades (by professors) |
8. | View report card (by students) |
| |
Logon = 1 EP
CRUD = 4 EP
Select= 1 EP
CRUD = 4 EP
Register= 1 EP
Close = 1 EP
Submit = 1 EP
Rpt card = 1 EP
14 EP * 4.6 SFP each
= 65 SFP
TOTAL EST SIZE = 35 + 64.4 = 100 SFP
Quality Plus Technologies, Inc.
Create ROM Estimate
31
Step 4: Estimated functional size
Step 5: Historical productivity
Step 6: ROM Estimated effort
ROM Estimated cost
ROM Estimated schedule (duration)
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 5: Historical data (analogy)
32
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 5: Historical data (analogy)
COULD USE ADDITIONAL FILTERS IF TOO MANY PROJECTS ARE FOUND
33
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 5: Historical data scope of activities
34
Stake-holder Req. | System Req. | System Arch. Design | SW Req. | SW Arch. Design | SW Detail Design | SW Construction | SW Integration | SW Qual. Testing | System Integration | System Qualification | System Installation | System Acceptance |
| ||||||||||||
| ||||||||||||
SW Development “end to end”
System Development “end to end”
Design, Code, Test, Integration (DCTI)
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 5: Historical data scope of activities
Attribute | Student Registration | Mapping Required / Criteria for Inclusion |
Data Quality | A or B | Include data points that have all or a majority of fields provided for the project – that is data quality = A or B only |
Size | 75-200 FP | Limited by ISBSG database version… >2000 |
Industry Sector, Organization Type | Any sector and type | Not used as an initial filter, unless we need to further refine our dataset |
Application Group and Application Type | Not particular | Include only data points that map to the Application Group: Business Application, and Application Type: Application software or Financial |
Development Type | New Development | Include only data points that are new development |
FP Counting approach | IFPUG 4+ | Include only data points that have sizing units of measure IFPUG 4.0 or newer (compatible with current IFPUG 4.3.1) |
Filter the ISBSG D&E (2007 version) records
35
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 5: Historical data (analogy)
After filtering based on our criteria, then normalizing (as necessary) the activities and effort,: 6 potentially analogous records that match
2
1
36
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 6: ROM Effort, Cost, Schedule
37
Quality Plus Technologies, Inc.
Create ROM Estimate�Step 6: ROM Effort, Cost, Schedule
38
Quality Plus Technologies, Inc.
Cross-check ROM Estimate�with COCOMO II
COCOMO II™ web tool http://softwarecost.org/tools/COCOMO/
Created by Ray Madachy at the Naval Postgraduate School. Email: rjmadach@nps.edu
39
Assumptions:
Quality Plus Technologies, Inc.
COCOMO II cross check results
40
Results:
Quality Plus Technologies, Inc.
ROM Estimate & COCOMO II Cross-check�Summary
41
ROM estimate (based on Est Size = 100 SFP) | Analogy Estimate | COCOMO II Cross Check | Variance (%) |
Estimated Effort (in hours and in PM) | 2446 hours 16 PM | 2798 hours 18.4 PM | 14.4% |
Estimated Cost ($) | $147 K USD | $167 K USD | 13.7% |
Estimated Schedule (months) | 8 -9 months (2 people) | 9.3 months (team size varied from 1-2.4 people) | 5-16% |
Additional cross checks/ next steps: (if this was a real ROM estimate)
Quality Plus Technologies, Inc.
Summary: ConOps to ROM 🡪 6 steps
42
Step 0:
Concept of Operations document
ConOps
Step 1: SW Boundary
Step 2: SW FUR
Identify DEV Scope
Step 3: Size the LF
Step 4: Size the EP
Estimate SW Size
Step 5: Historical Productivity
6. ROM: effort, cost, schedule
Create ROM Estimate
Quality Plus Technologies, Inc.
Conclusions
43
Quality Plus Technologies, Inc.
Resources
44
Quality Plus Technologies, Inc.
�Carol Dekkers, CFPS (Fellow), PMP, CSM Dan French, CFPS(Fellow), PMP, CSM
President, Quality Plus Technologies, Inc Domain Expert, COBEC
Office: +1 813-816-1329 Office: +1 571-225-0380
THANK YOU FOR YOUR TIME AND INTEREST
Quality Plus Technologies, Inc.
Quality Plus Technologies, Inc.
CEBoK-S Case Study – See Lesson X: Software Size
46
Quality Plus Technologies, Inc.
History of Simple Function Points
47
Quality Plus Technologies, Inc.
IFPUG FP vs Simple FP
48
Quality Plus Technologies, Inc.
IFPUG FP & SFP Measurement Process
49
Quality Plus Technologies, Inc.
Backup: IFPUG FP vs IFPUG SFP (1 of 2)
50
Concept | IFPUG FP | IFPUG SFP |
IFPUG standardized glossary | Yes | Yes, same |
Intent to measure functional size based on FUR | Yes | Yes, same |
Method owned by IFPUG | Yes | Yes |
IFPUG FP measurement steps: 1. Gather available documentation 2. Purpose/scope/boundary, identify FUR 3a. Measure data functions 3b. Measure transactional functions 4. Calculate functional size 5. Document and report | Yes, but steps 3a and 3b involve additional sub-steps: subclassification into 3 types of transactional functions and 2 types of data functions, and a complexity classification (into Low, Average, or High) to get FP values | Yes |
Base functional components (BFC): transactional functions and data functions | Yes: Transactional functions are subdivided into EI, EO, EQ, and Data functions are subdivided into ILF, EIF | Yes: Transactional functions are called “Elementary Processes” and Data Functions are called “Logical Files” |
Table 1: IFPUG FP compared to IFPUG SFP
Quality Plus Technologies, Inc.
Backup: IFPUG FP vs IFPUG SFP (2 of 2)
51
Table 1: IFPUG FP compared to IFPUG SFP
Number of different FP values allocated across function types | 3 FP values allocated as Low, Average or High across 5 function types (total of 8 different values) | 2 SFP values allocated, one each to two function types |
Range of FP values by category | Transactional functions are worth between 3 and 7 FP depending on type and complexity. Logical files are worth 7 to 15 FP depending on type and relative complexity | All transactional functions are considered to be EP and assigned 4.6 SFP. All data functions are considered to be logical files and assigned 7 SFP |
Unit of measure | Function Points (FP) | Simple Function Points (SFP) |
Convertibility | 1 FP = 1 SFP | 1 SFP = 1 FP |
Quality Plus Technologies, Inc.