Predict size
The size of the software is a scale factor. To predict any software reliability metric, you need to predict the size of the software in KSLOC (1,000 Source Lines of Code). Effective KSLOC is how much of the KSLOC is new or significantly modified.
Effective, normalized size
Software size reflects the amount of work required to develop or modify it. It’s normalized so new code is weighted heavier than modified code or reused-but-unmodified code. “Effective” size means the size has been normalized for whether the code is new, modified, or reused. “Normalized” means the effective size has been converted to one base language. Size can be measured by detailed estimates or by estimating people-years of work. See IEEE 1633 Appendix A for more on sizing.
Requs AI Predict provides two methods for size prediction:
- KSLOC detailed size estimates
- People Year (PY) estimates
Software size is roughly doubling every four years — see the SEI reference on this trend.
People Years (PY) prediction
Enter the number of people-years for just one release of the product.
- Go to the Survey tab and select Required Inputs.
- Scroll right until the Project Size frame is in view.
- Select PY from the radio button option.
- Enter the number of people-years for just one release of the product.
- Do not include management, testing or QA.
- Include only software engineers working on this release of the product.
- Convert all effort to people-years.
Dashboard size estimate frame — PY method
The Dashboard’s Size Estimate frame shows the calculations used to estimate normalized effective size.
The lower and upper bounds on size determine the lower and upper bounds for defects, failure rate, MTTF, and every downstream metric.
KSLOC detailed size prediction
- Go to the Survey tab and select Required Inputs.
- Scroll right until the Project Size frame is in view.
- Select K from the radio button option.
1. Select the language
Language is an input because it’s used to convert predicted defects per KSLOC to one universal base language — Assembler. Some languages are more dense than others. Select the language for this component; if a component mixes two language types, create a project for each type.
2. Enter the size predictions
New, modified, reused, and auto-generated KSLOC.
Dashboard size estimate frame — KSLOC method
1. Code expansion is determined by the language type you selected.
Lower bound = Normalized EKSLOC − (Normalized EKSLOC × confidence bound %)
Continue to the next stage of the prediction.
Size feeds directly into the defect density assessment.