## 2 Background
### Measurement of Development Efforts  
The existing approaches to measurement (or sizing) of development efforts can be grouped into the three main categories [14; 15]. The most commonly used category is based on the idea of function points [16]. Such units as object points [2], use-case points [17], story points [5; 6; 7; 8], etc., are derived from the concept of function points. Another well-known development effort measurement unit comprises logical lines of code (the so-called SLOC metric) used by COCOMO [18] and COCOMO II [2]. And the third category is working time-based (e.g., used in PERT [3; 4]), expressing development efforts in man-hours, man-days, man-months, etc. The main downside of the approaches from the first and second categories is the difficulty in converting them to time-based units, which usually requires some historical data. To eliminate such an issue, the authors' estimation framework operates with time-based units to measure development efforts. The theoretical basis of this is given in the current section below.  
An _\"average\" software developer_ (ASD) is a software developer who possesses a high enough competency level to act as a team player and implement project tasks of acceptable quality without permanent supervision by more experienced colleagues; and, at the same time, such a developer has room for improvement in terms of efficiency and complexity of the work performed. A middle software engineer is the position which is closest to the ASD. The development effort \"normalization\" approach follows from the concept of the ASD.  
The _normalized development working time_ (NDWT), \(U\), is the DWT spent by an ASD implementing certain project tasks who is 100% involved (i.e., 8 h per working day) in a project. If \(D\) is the DWT spent by a developer who is different from the ASD, then the following expression takes place:  
\[U=\rho D, \tag{2}\]  
where \(\rho\) is the _productivity coefficient_ (PC). Assuming that the development productivity is influenced by the competency level and the project involvement,  
\[\rho=\alpha\eta, \tag{3}\]  
where \(\alpha\) is the _competency-level productivity coefficient_ (CLPC) and \(\eta\) is the _involvement productivity coefficient_ (IPC). For an ASD, \(\alpha=1\); \(0<\alpha<1\) for a developer of a competency level lower than the ASD, and \(\alpha>1\) for a competency level higher than the ASD. In the case of 100% of project involvement, \(\eta=1\); for partial involvement or overtime, \(0<\eta<1\). The IPC and CLPC parameters are used in Section 4 to define the project team composition.  
The _normalized development capacity_ (NDC), \(C\), is maximum possible value of NDWT that can be spent on the project tasks implementation:  
\[C=\max_{U\in\mathbb{U}}U=\rho\max_{D\in\mathbb{D}}D, \tag{4}\]  
where \(\mathbb{U}\) and \(\mathbb{D}\) are the sets of all possible values of NDWT and DWT respectively. In particular, the maximization in (4) is aimed at minimizing idle time \(I\) and leaves time \(O\). For the preliminary estimation, NDC is defined as (12) and (13).  
The _normalized development estimate_ (NDE), \(E\), of a certain portion of the project scope is a forecasted DWT assuming that the work is performed by an ASD. Usage of the NDE for preliminary estimation is explained in Section 4, in particular, for sizing of estimable items.  
In the authors' estimation framework, the NDC and NDE occupy one of the key places, being \"common denominators\" for measuring development efforts. Importantly, these parameters determine project duration (Inequalities (14) and (15) in Section 4). It is worth noting that the described \"normalization\" approach has been expanded to include the project involvement definition, introducing a new term--_normalized development full-time equivalent_ (Equation (7) in Section 4).