Glossary of Terms
In the proposed framework, this represents the combined, fuzzified effect of various COCOMO cost drivers (like product, platform, personnel, project attributes) used in the Iteration Effort Estimation Model (IEEM). Calculated using formula (8).
An iterative and incremental approach to software development performed cooperatively to produce high-quality software meeting changing user requirements. Designed to deal with change and uncertainty.
A common defuzzification method used to convert a fuzzy output set (resulting from fuzzy inference) into a single crisp numerical value. Calculated using formula (7).
A widely used algorithmic software cost estimation model that predicts effort and duration based on project size (e.g., KLOC) and various cost drivers. Versions include Basic, Intermediate (COCOMO-81), and COCOMO II.
An updated version of COCOMO, developed upon COCOMO-81. It includes models for different stages (Early Design, Post-Architecture) and uses 5 Scaling Factors and 17 Effort Multipliers (Cost Drivers) rated on levels like Very Low to Extra High.
Factors in COCOMO models that influence the effort required for a project (e.g., Required Reliability (RELY), Product Complexity (CPLX), Analyst Capability (ACAP), Use of Software Tools (TOOL)). They adjust the nominal effort estimate.
The process of converting a fuzzy output (represented by a membership function or a fuzzy set) from a fuzzy inference system into a single, precise (crisp) number.
In the proposed framework's velocity calculation (IEEM), these are factors representing dynamic aspects expected during an iteration (e.g., expected team changes, new tools, stakeholder delays). Used in formula (9).
In Intermediate COCOMO, the product of the selected cost driver ratings. It multiplies the nominal effort to get the adjusted effort estimate (Effort_adj = Effort_in * EAF
).
The first phase/model in the proposed framework. It provides an initial effort estimate *before* the project architecture is fully defined, using fuzzy logic on COCOMO II early design factors (like PREC, FLEX, RESL, TEAM, PMAT) and KLOC.
The process of predicting the amount of effort (typically in person-months or person-hours) required to develop a software system. Used for budgeting, planning, bidding, and risk analysis.
In the proposed framework's velocity calculation (IEEM), these are factors representing inherent team or environmental friction (e.g., team composition, process maturity, team dynamics). Used in formula (9).
A system that uses fuzzy set theory and fuzzy logic (IF-THEN rules) to map inputs to outputs. It involves fuzzification, rule evaluation (inference engine), and defuzzification.
A form of many-valued logic dealing with reasoning that is approximate rather than fixed and exact. It uses linguistic variables (e.g., "Low", "Nominal", "High") and membership functions to handle uncertainty and imprecision, suitable for complex systems like effort estimation.
The process of converting crisp (precise) input values into fuzzy sets, represented by membership degrees (between 0 and 1) in various linguistic categories (e.g., converting a KLOC value into degrees of membership in "Small", "Medium", "Large").
The second phase/model in the proposed framework, used *after* the project architecture is defined. It estimates effort for each iteration based on Story Points, adjusted COCOMO factors (ACF), and calculated Velocity (derived from fuzzy FR and DF factors).
In the proposed framework, the calculated effort for an iteration, expressed in adjusted story points. It combines the original Story Points (SP) with the influence of the Adjusted COCOMO Factors (ACF). Calculated using formula (10).
A short, time-bound cycle (often 1-4 weeks) in Agile development during which a team produces a potentially shippable increment of software.
Thousands of Lines of Code. A common, though often criticized, unit for measuring the size of a software project, used as input in models like COCOMO and the fuzzy EEEM.
In fuzzy logic, a curve or function (e.g., triangular, trapezoidal) that defines how each point in the input space is mapped to a membership value (or degree of membership) between 0 and 1 for a particular fuzzy set.
A metric used to evaluate the accuracy of an estimation model. It measures the absolute difference between the predicted effort and the actual effort, relative to the actual effort. Formula: |Actual Effort - Predicted Effort| / Actual Effort
.
Prediction Level. A metric evaluating estimation accuracy, defined as the percentage of projects whose MRE is less than or equal to a specified level L (e.g., PRED(0.25) is the percentage of projects with MRE <= 0.25).
In COCOMO II, these are five factors (PREC, FLEX, RESL, TEAM, PMAT) that account for economies or diseconomies of scale, affecting the exponent in the effort equation.
A relative unit of measure used in Agile development (especially Scrum) to estimate the overall effort required to fully implement a product backlog item or user story. It considers complexity, uncertainty, and volume of work. Often uses a Fibonacci-like sequence (1, 2, 3, 5, 8, ...).
A short, simple description of a feature told from the perspective of the person who desires the new capability, usually a user or customer. Often follows the format: "As a [type of user], I want [some goal] so that [some reason]."
A measure of the amount of work (typically in Story Points) a team can complete during a single iteration (Sprint). It's used for planning future iterations. In the proposed framework, it's calculated using fuzzy logic on Friction Factors (FR) and Dynamic Factors (DF) via formula (9).