Professional Documents
Culture Documents
Method of Software Development Project Duration Estimation
Method of Software Development Project Duration Estimation
Article
Method of Software Development Project Duration Estimation
for Scrum Teams with Differentiated Specializations
Vasyl Teslyuk * , Anatoliy Batyuk and Volodymyr Voityshyn
Department of Automated Control Systems, Computer Science and Information Technologies Institute,
Lviv Polytechnic National University, 79000 Lviv, Ukraine
* Correspondence: vasyl.m.teslyuk@lpnu.ua
Abstract: Estimation is an essential step of software development project planning that has a sig-
nificant impact on project success—underestimation often leads to problems with the delivery or
even causes project failure. An important aspect that the classical estimation methods are usually
missing is the Agile nature of development processes in the implementation phase. The estimation
method proposed in this article aims at software development projects implemented by Scrum teams
with differentiated specializations. The method is based on the authors’ system of working-time
balance equations and the approach to measuring project scope with time-based units—normalized
development estimates. In order to reduce efforts spent on the estimation itself, an analysis of depen-
dencies among project tasks is not mandatory. The outputs of the methods are not recommended
to be treated as commitments; instead, they are supposed to be used to inform project stakeholders
about the forecasted duration of a potential project. The method is simple enough to allow even an
inexpensive spreadsheet-based implementation.
time taking into account competency levels and specializations of team members as well as
their involvement in the project; defined steps of the method; demonstrated usage of the
method by an example.
The proposed method ensures estimating the duration of a software project providing
as the output a project release plan that represents optimistic and pessimistic scenarios of
project implementation. Importantly, the method ensures minimizing the working time
spent on the estimation itself. It is also worth noting that the outcomes received by applying
the method are not recommended to be used to make commitments (e.g., when signing a
contract with the client); instead, the outcomes can be used in further project stages—precise
estimation and implementation monitoring. Software implementation of the method does
not require a sophisticated toolset—in the simplest scenario, the implementation can be
done as a spreadsheet (e.g., MS Excel, Google Sheets, etc.); according to the authors’ vision,
the method is going to be included in the software product [10].
2. Literature Review
Estimation methods have been evolving along with the entire software development
industry starting from the second half of the 20th century. In this section, we provide a
brief overview of the most famous estimation techniques including the ones related to the
method proposed in this study.
One of the oldest and most used estimation methods is the Program Evaluation and
Review Technique (PERT) which was developed by the United States Navy [1] and then
adopted in other industries including software development. The method combines expert
evaluation of estimable items providing the so-called three-point estimates for optimistic,
pessimistic, and the most likely scenarios as well as statistics-based techniques that allow
calculating the final estimate. Additionally, the method includes approaches to monitor
the implementation process and adjust the plan accordingly to the remaining efforts and
time. One of the most significant weaknesses of PERT is that it does not take into account
the Agile nature of modern software development processes. It is recommended to use the
three-point estimation technique of the PERT in the first step of the method proposed in
the current article.
Another well-known method often applied in conjunction with PERT is the Critical
Path Method (CPM) [2] which is intended for estimating the duration of a project as the
duration of the longest project task path. Usage of the method requires a task breakdown
structure and analysis of dependencies among the tasks. The CPM is quite useful for
definite estimation [9] when its outcomes are supposed to be used as commitments. Since
applying the method requires a highly detailed project scope, it is not suggested to use the
method in the early stages of project estimation and planning.
The Graphical Evaluation and Review Technique (GERT) [11] is based on a more ad-
vanced network analysis than PERT or CMP. This method allows combining the probabilis-
tic nature of network logic (i.e., dependencies between project tasks) and effort estimates.
GERT is usually applicable to the planning of complex projects.
Published in the late 1970s, the Putnam model [12,13] was one of the first model-
based estimation techniques. It uses the Rayleigh distribution to establish interrelation
among such variables as software size (expressed in so-called effective lines of code), efforts
(working time spent on the development measured in man-hours), and duration (project
schedule). This estimation technique is also well-known as SLIM (Software Lifecycle
Management) [14] which, in turn, is the name of the proprietary suite that implements the
Putnam model.
The Functional Point Analysis (FPA) method [3] is founded on the idea of measuring
the size of software in so-called function points that express the “amount” of delivered
external functionality (not taking into account internal technology aspects). The Use Case
Points (UCP) method [15] is based on similar principles as FPA except that a use case is
chosen as the object of measurement (the “use case” term is used in the same meaning as
in Unified Modeling Language). To this family of estimation methods also belongs the
Systems 2022, 10, 123 3 of 19
Usage of Relying on
Estimation Basic Measure
No. Abbreviation Category 1 SDLC Stage 2 Historical Expert
Method Unit 3
Data Judgement
Project Analysis and
evaluation and Expertise- design
1 PERT Man-hour No Yes
review based (ending), im-
technique plementation
Analysis and
Critial path Expertise- design
2 CPM Man-hour No Yes
method based (ending), im-
plementation
Graphical Analysis and
evaluation and Expertise- design
3 GERT Man-hour No Yes
review based (ending), im-
technique plementation
Software
Analysis and
4 lifecycle SLIM Model-based Effective LOC Yes No
design
management
Functional Analysis and
5 FPA Model-based Function point Yes No
point analysis design
Use case point Analysis and
6 UCP Model-based Use case point Yes No
analysis design
Software
non-functional Analysis and
7 SNAP Model-based SNAP point Yes No
assessment design
process
Constructive Analysis and
8 COCOMO Model-based LOC Yes No
cost model design
LOC, function
Constructive Analysis and
9 COCOMO II Composite point, use case Yes Yes 4
cost model II design
point
Planning
Expertise-
10 poker and its n/a Implementation Story point No Yes
based
modifications
Constructive
Model-based, Analysis and
Agile
11 CAEA Expertise- Design, Imple- Story point Yes Yes
Estimation
based mentation
Algorithm
Estimation of
project
duration for Analysis and
Expertise-
12 Scrum team n/a design Man-hour No Yes
based
with (beginning)
differentiated
specializations
1 It is applied classification of the estimation methods from [34]. 2 The SDLC stages are taken from Table 5.
3Basic measure unit is a measurement unit used to size software. 4 In COCOMO II, expert opinion can be used if
historical data are not available.
The method of estimating project duration proposed in the current study is supposed
to be used in conjunction with expert judgment (e.g., the three-point estimation of PERT)
in order to receive so-called normalized development estimates (NDE) expressed in time-
based units, preferably, man-hours (see definition of the NDE term below). Calculation
Systems 2022, 10, 123 5 of 19
of the project duration is based on the structuring of software developers working time
and sprint-based release planning (which makes the difference with CPM that requires a
detailed analysis of dependencies among project tasks). The current version of the method
does not require any explicit usage of historical data, instated, it uses the experience of
the experts involved in the estimation. In the future, when enough historical data are
accumulated, improved versions of the method can be created.
3. Results
3.1. Structuring of Software Developer Working Time
Let W be the working time that a software developer spends being assigned to a
project. Project working time, W, can be divided into parts such as project scope imple-
mentation, M, which is part of working time spent for developing project features (it also
includes team collaboration related to the development); working time spent on general
project activities, G, including project meetings (daily stand-ups, sprint plannings, demos,
retrospectives, etc.), environment setup at the beginning, project stabilization before releas-
ing; non-working time, N, when a developer does not do any real project work (vacations,
sick leaves, day offs, waiting time while being blocked by dependencies). Hence, project
working time, W, can be expressed as the sum of the three components mentioned above:
W = M + G + N. (1)
Typically, to implement a software project, it is necessary to combine a few program-
ming technologies (e.g., back-end, front-end, database). A particular software developer
can be a specialist in a single programming technology or be able to do tasks belonging
to different technologies (usually, back-end engineers also do database tasks, or so-called
full stack developers perform both front-end and back-end tasks). Let project scope imple-
mentation working time belonging to technology s, M(s) , consist of two major components:
development working time (DWT), D (s) , and supplementary development activities A(s) .
Component D (s) is the working time that a software developer spends on coding only
excluding supplementary development activities, A(s) , such as team collaboration, defect
fixing, writing unit tests, etc. Therefore, project scope implementation working time, M, is
expressed by the following equation:
q q
M= ∑ M (s) = ∑ D (s) + A(s) , (2)
s =1 s =1
N = O + I. (3)
By the definition, variables from (4) are greater than or equal to 0: W ≥ 0, D (s) ≥ 0,
A(s) ≥ 0, G ≥ 0, O ≥ 0, and I ≥ 0. The basic measurement unit for these variables is the
man-hour.
Given that a development team consists of n members, and a project lasts for k sprints,
it implies from (4) that the equation applicable for a particular software engineer from the
team is:
q
∑ δi
j j(s) j(s) j(s) j j j
Wi = Di + Ai + Gi + Oi + Ii , i = 1, k, j = 1, n, (5)
s =1
where ωmax is the maximum possible value of the involvement coefficient limited by
the higher allowed boundary for overtimes. Since regular overtimes cause decreases in
the productivity of individual team members (that even may affect the productivity of
the whole team), considering overtimes in estimates is a question rather related to risk
management, therefore, it is out of the scope of the current study.
U = ρD = αηD, (7)
Systems 2022, 10, 123 7 of 19
C = max U, (8)
U∈ U
where U is a set of all possible values of NDWT, U. In essence, NDC expresses the
maximum possible amount of scope that can be implemented by a particular developer
or the whole team within a certain time range (e.g., project sprint). Drawing the parallels
with the Agile estimation techniques [8,17–19], NDC is nothing else as a forecast of the
velocity of a Scrum team expressed in time-based units. For a development team with
differentiated specializations, NDC is defined as a vector each item of which corresponds
to a particular specialization:
C = C (1) , C (2) , . . . , C ( q ) ,
where NDC for a particular specialization is a sum of NDCs of each software developer for
all the sprints:
k k n
∑ Ci ∑ ∑ Ci
(s) j(s)
C (s) = = , s = 1, q.
i =1 i =1 j =1
j(s) j(s)
where Ui and Di are sets of all possible values of NDWT and DWT respectively for
developer j on sprint i for specialization s.
The normalized development estimate (NDE), E, of a certain project scope is a forecast
of DWT supposing that the work is done by an ASD. In other words, the NDE, E, is a
forecast of NDWT, U. One of the main purposes of both terms is to unify the measurement
of the amount of project scope expressing it in time-based units (e.g., man-hours). It is
assumed that NDE can result from expert evaluations (e.g., the three-points estimation
of PERT).
Since the implementation of a project requires joint efforts of several specializations,
NDE has to be provided for each specialization separately:
E = E (1) , E (2) , . . . , E ( q ) ,
k n k n
∑ ∑ Ui ∑ ∑ α j ( s ) η i Di
j(s) j j(s)
E(s) = = , s = 1, q, (10)
i =1 j =1 i =1 j =1
Systems 2022, 10, 123 8 of 19
j
where α j(s) is CLPC of developer j for specialization s; ηi is an IPC for developer j on
sprint i. It is worth emphasizing the assumption that the competency levels of the software
developers are not changed during the project, i.e., parameters α j(s) do not depend on a
project sprint, i.
j(s)
Assuming that working time spent on supplementary development activities, Ai ,
j(s)
proportionally depends on development working time, Di , we receive the expression:
j(s) (s) j(s)
Ai = d i Di , i = 1, k, j = 1, n, s = 1, q, (12)
(s)
where a supplementary development activities coefficient (SDAC), di > 0, can change
along with the project implementation (e.g., on project start, a portion of supplementary
development activities is higher due to, for example, the necessity to get familiar with
(s)
project tasks and build as a team); also, di depends on peculiarities of a specialization (e.g.,
back-end development requires writing unit tests whilst database development usually
does not).
j
Similarly to (12), given that general project activities, Gi , proportionally depends on a
j j
project’s working time, Wi , deducting the leave time, Oi (a developer on a leave cannot
participate in general project activities):
j j j
Gi = gi · Wi − Oi , i = 1, k, j = 1, n, (13)
where 0 ≤ gi ≤ 1 is a general project activities coefficient (GPAC) that might vary depend-
ing on the project phase (e.g., usually, the coefficient values are higher on project start
and finish).
(s)
It is worth noting that coefficients di and gi reflect, in particular, the amount of
working time spent on team collaboration. Therefore, the coefficients have to take into
account a team-building lifecycle (in Scrum, they are usually applied to the model that
defines such stages as forming, storming, norming, performing, and adjourning [35]). A
(s)
study of the dependence of coefficients di and gi on the team development stage is out
of scope.
j(s) j
Substituting in (11) variables Ai and Gi expressed by (12) and (13) respectively, we
get a modified version of the system of working time balance equations:
q h
i
j j(s) (s) j(s) j j
( 1 − g ) W = ∑ 1 + d D + (1 − gi )Oi + Ii , i = 1, k, j = 1, n,
i i δi i i
s =1
j j
Wi = ωi Li , i = 1, k, j = 1, n, (14)
k n
j(s) j j(s)
(s)
E = ∑ ∑ α ηi Di , s = 1, q.
i =1 j =1
Systems 2022, 10, 123 9 of 19
∗
If a software developer j has specialization s∗ , then D (s ) ≥ 0, and D (s) = 0 for
∀s ∈ {s ∈ N | 1 ≤ s ≤ q, s 6= s∗ }. Hence, the first equation of system (14) can be written
as follows:
j(s∗ ) (s∗ ) j(s∗ )
j j j
(1 − gi )Wi = δi 1 + di Di + (1 − gi )Oi + Ii , i = 1, k, j = 1, n. (15)
From (15) and (6), it is possible to get an expression to calculate DWT for developer j
(that possesses specialization s∗ ):
j(s∗ ) 1 h
j j j
i
Di = (s∗ )
(1 − gi )ωi Li − (1 − gi )Oi − Ii , i = 1, k, j = 1, n, (16)
1 + di
which, in turn, leads to the expression for NDC:
∗ j
j(s∗ ) α j ( s ) ηi
Ci = (1 − gi )ω j Li − (1 − gi )min O j − min I j , i = 1, k, j = 1, n, (17)
(s∗ ) i i j i j
1 + di Oi Ii
j j
where Oi and Ii are sets of all possible values of leave time and idle time respectively for
developer j on sprint i.
kmin ≤ k∗ ,
h ik∗
∀s ∈ {1, . . . , q}, C (s) ≥ E(s) , (18)
h i ∗
k −1
( s̃ ) ( s̃ )
∃s̃ ∈ {1, . . . , q}, C <E ,
h ik
where C (s) is NDC for specialization s if a project lasts k sprints.
j
weeks, Oi = 4 man-hours. As defined above, the idle time might be caused by a lack
of project task (when all the scope for a particular specialization is already completed)
as well as blocking by unresolved dependencies. In the second case, the risk of being
j
blocked can be included in the estimate by specifying certain values of variable Ii .
In phase b, the rest of the developers are added to the team. One of the main goals of
the current phase is to overcome the so-called storming and norming stages of the team
building lifecycle [35]. Due to this, the amount of working time spent on general project
activities, especially on collaboration among the team members, is still relatively high.
The primary goal of phase c is to implement the project scope. In this phase, the
development team is supposed to demonstrate the highest performance in comparison
with the other phases. The duration of this phase, k [c] , is unknown, and one of the estimation
tasks is to find its fulfilling conditions (18).
The next phase, d, is intended for preparing the software product for the user acceptance
testing (UAT). Usually, the stabilization phase includes regression testing, defect fixing, and
preparation of an environment for UAT. Development of the project scope is not supposed to
be done in this phase (since the whole project scope is implemented previously).
During the UAT phase, a selected group of end users test the delivered software. Since
there is no project scope to develop, part of the team members is unassigned. The reduced
team is focused on the preparation of launching the software system to production.
The main tasks of the final phase, f , are to fix defects found during UAT, prepare
the production environment, and release the system. Like the previous two phases, no
development of the project scope is supposed to be done.
Summary of the project release planning, as well as values of the parameters, are
provided in Table 3.
Number of
Phase Total Number Development (s)
Phase Name Mandatory L[ p] , Hours 2 g[ p] d[ p] δ[ p]
Identifier, p of Sprints Team
Sprints 1
a Project start 2 2 152 Core team 0.50 0.40 1
b Team scaling 2 0 152 Whole team 0.40 0.35 1
c Performing k [c] 0 76 · k [c] Whole team 0.20 0.25 1
d Stabilization 1 1 76 Whole team 1.00 n/a 0
e UAT 2 2 152 Reduced team 1.00 n/a 0
f Releasing 2 2 152 Reduced team 1.00 n/a 0
1 The project release plan defines 7 mandatory sprints: 2 sprints on phase a, 1 sprint on phase d, 2 sprints on
phases e and f respectively. The number of the other sprints varies depending on the estimated amount of project
scope. 2 Duration of each sprint is 2 weeks which is 10 working days or 80 working hours. Assuming that, on
average, for each month, there is 1 state holiday; consequently, every 2 sprints miss 1 working day or 8 working
hours. Hence, the duration of a project sprint is 76 (not 80) working hours.
Software Developer
Project Role Competency Level s α j(s) 1 ω[ a ] ω[ b ] ω[ c ] ω[ d ] ω[ e ] ω[ f ]
Identifier, j
Technical leader and
1 Senior 1 1.2 0.5 0.5 0.50 0.50 0.5 0.5
back-end engineer
2 Back-end engineer Senior 1 1.2 1 1 1 1 0 0
3 Back-end engineer Middle 1 1 1 1 1 1 1 1
4 Back-end engineer Middle 1 1 1 1 1 1 0 0
5 Back-end engineer Junior 1 0.7 1 1 1 1 1 1
6 Front-end engineer Senior 2 1.2 1 1 1 1 0 0
7 Front-end engineer Middle 2 1 1 1 1 1 1 1
8 Front-end engineer Middle 2 1 1 1 1 1 1 1
9 Mobile engineer Middle 3 1 1 1 1 1 1 1
10 Mobile engineer Middle 3 1 1 1 1 1 0 0
11 Database engineer Senior 4 1.2 0.5 0.5 0.50 0.50 0.5 0.5
12 Database engineer Junior 4 0.7 1 1 1 1 0 0
1Engineers participating in the development team have differentiated specializations, i.e., a particular developer
has only one specialization and cannot perform tasks of the other specializations which is reflected in the CLPC.
j
The IPC, η[ p] , have the following values:
Figure 1. The dynamics of remaining NDE reduction for the optimistic scenario.
The calculations in this section were performed by means of the Google Colab Note-
books technology using Python 3.7.13 as a programming language and the Matplotlib 3.2.2
library for visualization (the used distributions of Python and Matplotlib were provided by
the Google Colab as of 9 May 2022).
Figure 2. The dynamics of remaining NDE reduction for the pessimistic scenario.
4. Discussion
4.1. Main Findings
One of the primary outcomes of the current study is the approach to measuring
project scope and, consequently, the productivity of a development team. The approach
involves using an NDE, which expresses the amount of development efforts in time-based
units (e.g., man-hours). Such an approach eliminates a weakness of the “point”-based
measurement [3,8,15,16]—the necessity to transform “points” to working time which, in
turn, relies on previously accumulated historical data. Instead, NDEs are received as the
result of expert judgment (see step 1 of the method).
Proposed in the study the system of working time balance Equation (11) (and its
modification (14)), on the one hand, establishes the connection between NDEs and the
working time structure of a software developer and, on the other hand, maps working time
on a project timeline. In the context of the proposed method, one of the main uses of the
system is the expression for NDC of a Scrum team (17).
Systems 2022, 10, 123 15 of 19
Based on the idea of NDE and the system of working time balance equations, the
method of project duration estimation produces valuable outputs on each of the four steps
(1—NDEs, 2—development team composition, 3—release plan, 4—estimated project du-
ration) supposed to be used to inform project stakeholders about the resources and time
required to complete the project. In order to minimize the efforts spent on the estimation
itself, the method tolerates certain simplifications, in particular, omitting analysis of depen-
dencies between project tasks and reducing risk management to estimating optimistic and
pessimistic scenarios only without identification of concrete risks. It is worth noting that
due to these simplifications, outputs of the methods are not recommended to be treated as
commitments (e.g., when signing a contract with the client).
In the current form, the proposed estimation technique is applicable for a Scrum-
based development process. In the authors’ opinion, the method could also be applied to
other Agile methodologies (e.g., Kanban) without significant modifications. If a software
development project consists of several iterations, it is recommended that the method is
applied to each iteration separately (such an approach is going to ensure better granularity
of the estimates). Since the method is going to be used in the intermediate estimate stage,
for example, in the early pre-sale stage, the main potential users of the method are software
architects involved in the pre-sale process.
5. Conclusions
The goal of the study has been achieved—we have created a method intended for
estimating the duration of software development projects supposed to be implemented
by scrum teams with differentiated specializations. The method is based on the system of
equations reflecting the structure of software developers’ working time. We also proposed
an approach to unify the measurement of software developer productivity by introducing
the term “average” software developer (ASD) as well as related terms such as normalized
development estimate (NDE), normalized development capacity (NDC), and others.
Since the outcomes of the method are not definite enough, they are not recommended to
be used for commitments (e.g., on signing a contract with the client). Instead, the outcomes can
be used as inputs on the next estimate stage—precise estimation and release planning which, in
turn, is supposed to provide outputs reliable enough to make commitments.
From the advantages of the method, it is worth highlighting the following: the system
of equations reflecting the structure of software developer working time significantly
simplifies further monitoring of project implementation and collection feedback on the
estimates; the current version of the method does not require any historical data; relative
ease of software automation that allows even spreadsheet-based implementation. The main
disadvantages of the method are strong dependency on expert evaluations in step 1 (which
is the most effort-intense in comparison to the other steps); lack of definite recommendations
on how to choose such parameters as GPACs and SDACs; no automation for recommending
a team composition on step 3.
The following steps to evolve the method are envisioned: the creation of the modifi-
cation intended for Scrum teams with mixed specializations (when a software developer
can perform tasks of more than one specialization); automate recommending an optimal
team composition that allows reducing manual efforts on step 3; include management
of dependencies, assumptions, and risks as significant factors that influence the project
duration. It is also important to define a business process that involves application of the
method in practice which, in turn, opens an opportunity for its implementation as a part of
a full-scale software product (one of the possible concepts is provided in [10]).
Author Contributions: Conceptualization, V.T. and V.V.; Investigation, A.B. and V.V.; Methodology,
V.V.; Project administration, V.T. and A.B.; Software, V.V.; Validation, V.T. and A.B.; Visualization, V.V.;
Writing—original draft, V.T. and V.V.; Writing—review and editing, V.T. and V.V. All authors have
read and agreed to the published version of the manuscript.
Funding: This research received no external funding.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Data Availability Statement: Not applicable.
Acknowledgments: The authors would like to appreciate the editors and the anonymous reviewers
for their insightful suggestions to improve the quality of this paper.
Conflicts of Interest: The authors declare no conflict of interest.
Abbreviations
The following abbreviations are used in this manuscript:
Systems 2022, 10, 123 18 of 19
References
1. Bureau of Naval Weapons, United States, Special Projects Office. Program Evaluation Research Task PERT Summary Report: Phase 1;
Special Projects Office, Bureau of Naval Weapons, Department of the Navy: Monterey, CA, USA , 1958.
2. Kelley, J.E.; Walker, M.R. Critical-Path Planning and Scheduling. In Proceedings of the Eastern Joint IRE-AIEE-ACM Computer
Conference, Boston, MA, USA, 1–3 December 1959 ; Association for Computing Machinery: New York, NY, USA, 1959; pp. 160–173.
[CrossRef]
3. Albrecht, A.J. Measuring Application Development Productivity. In Proceedings of the IBM Applications Development Sympo-
sium, Monterey, CA, USA, 14–17 October 1979; IBM Corporation: White Plains, NY, USA, 1979.
4. Boehm, B.W. Software Engineering Economics; Prentice-Hall: Hoboken, NJ, USA, 1981.
5. Boehm, B.W. Software Engineering Economics. IEEE Trans. Softw. Eng. 1984, SE-10, 4–21. [CrossRef]
6. Boehm, B.W.; Abts, C.; Clark, B.K.; Devnani-Chulani, S.; Horowitz, E.; Madachy, R.J.; Reifer, D.J.; Steece, B. COCOMO II
Model Definition Manual, Version 2.1; Center for Software Engineering, The University of Southern California: Los Angeles, CA,
USA, 1995.
7. Boehm, B.W.; Abts, C.; Brown, A.W.; Devnani-Chulani, S.; Clark, B.K.; Horowitz, E.; Madachy, R.J.; Reifer, D.J.; Steece, B. Software
Cost Estimation with COCOMO II; Prentice-Hall: Hoboken, NJ, USA, 2000.
8. Grenning, J.W. Planning Poker or How to Avoid Analysis Paralysis While Release Planning. Hawthorn Woods Renaiss. Softw.
Consult. 2002, 3, 22–23.
9. Project Management Institute. Project Management Institute, A Guide To The Project Management Body Of Knowledge (PMBOK-Guide),
6th ed.; PMBOK® Guide; Project Management Institute: Pennsylvania, PA, USA, 2017.
10. Batyuk, A.; Voityshyn, V. Process Mining-Based Information Technology for Operational Support of Software Projects Estimation.
In Proceedings of the XVI International Scientific Conference on Intellectual Systems of Decision-Making and Problems of
Computational Intelligence (ISDMCI’2020), Gliwice, Poland, 12–13 May 2020; pp. 9–11.
11. Pritsker, A.A.B. GERT: Graphical Evaluation and Review Technique; RM-4973-NASA; Rand Corp.: Santa Monica, CA, USA , 1966.
12. Putnam, L.H. A General Empirical Solution to the Macro Software Sizing and Estimating Problem. IIEEE Trans. Softw. Eng. 1978,
SE-4, 345–361. [CrossRef]
13. Putnam, L.H.; Myers, W. Measures for Excellence: Reliable Software on Time, Within Budget; Yourdon Press: New York, NY, USA, 1992.
14. Ghafory, H.; Sahnosh, F.A. The Review of Software Cost Estimation Model: SLIM. Int. J. Adv. Acad. Stud. 2020, 2, 511–515.
15. Karner, G. Resource Estimation for Objectory Projects. Object. Syst. SF AB 1993, 17, 9.
16. Tichenor, C. A New Software Metric to Complement Function Points: The Software Non-Functional Assessment Process (SNAP).
CrossTalk J. 2013, 26, 21–26.
17. Mallidi, R.K.; Sharma, M. Study on Agile Story Point Estimation Techniques and Challenges. Int. J. Comput. Appl. 2021, 174, 9–14.
[CrossRef]
18. Coelho, E.; Basu, A. Effort Estimation in Agile Software Development Using Story Points. Int. J. Appl. Inf. Syst. 2012, 3, 7–10.
[CrossRef]
19. Munialo, S.W.; Muketha, G.M. A Review of Agile Software Effort Estimation Methods. Int. J. Comput. Appl. Technol. Res. 2016,
5, 612–618. [CrossRef]
Systems 2022, 10, 123 19 of 19
20. Bhalerao, S.; Ingle, M. Incorporating Vital Factors in Agile Estimation through Algorithmic Method. Int. J. Comput. Sci. Appl.
2009, 6, 85–97.
21. Alshammari, F.H. Cost Estimate in Scrum Project with the Decision-Based Effort Estimation Technique. Soft Comput. 2022.
[CrossRef]
22. Sudarmaningtyas, P.; Mohamed, R. A Review Article on Software Effort Estimation in Agile Methodology. Pertanika J. Sci. Technol.
2021, 29, 837–861. [CrossRef]
23. Usman, M.; Mendes, E.; Weidt, F.; Britto, R. Effort Estimation in Agile Software Development: A Systematic Literature Review. In
Proceedings of the 10th International Conference on Predictive Models in Software Engineering, Turin, Italy, 17 September 2014;
pp. 82–91. [CrossRef]
24. Saeed, A.; Butt, W.H.; Kazmi, F.; Arif, M. Survey of Software Development Effort Estimation Techniques. In Proceedings of the
2018 7th International Conference on Software and Computer Applications (ICSCA 2018), Kuantan, Malaysia, 8–10 February
2018; Association for Computing Machinery: New York, NY, USA, 2018; pp. 82–86. [CrossRef]
25. Vyas, M.; Bohra, A.; Lamba, D.C.S.; Vyas, A. A Review on Software Cost and Effort Estimation Techniques for Agile Development
Process. Int. J. Recent Res. Asp. 2018, 5, 1–5.
26. Habibi, F.; Birgani, O.T.; Koppelaar, H.; Radenović, S.N. Using Fuzzy Logic to Improve the Project Time and Cost Estimation
Based on Project Evaluation and Review Technique (PERT). J. Proj. Manag. 2018, 3, 183–196. [CrossRef]
27. Nassif, A.B.; Azzeh, M.; Idri, A.; Abran, A. Software Development Effort Estimation Using Regression Fuzzy Models. Comput.
Intell. Neurosci. 2019, 2019, 8367214. [CrossRef] [PubMed]
28. van Dorp, J.R. A Dependent Project Evaluation and Review Technique: A Bayesian Network Approach. Eur. J. Oper. Res. 2020,
280, 689–706.
[CrossRef]
29. Shabeer, M.K.P.; Krishnan, S.I.U.; Deepa, G. Software Effort Estimation Using Genetic Algorithms with the Variance-Accounted-
for (VAF) and the Manhattan Distance. In Ubiquitous Intelligent Systems; Smart Innovation, Systems and Technologies; Karuppusamy,
P., Perikos, I., García Márquez, F.P., Eds.; Springer: Singapore, 2021; Volume 243, pp. 421–434._32. [CrossRef]
30. Satapathy, S.M.; Acharya, B.P.; Rath, S.K. Early Stage Software Effort Estimation Using Random Forest Technique Based on Use
Case Points. Inst. Eng. Technol. Softw. 2016, 10, 10–17. [CrossRef]
31. Mahmood, Y.; Kama, N.; Azmi, A.; Khan, A.S.; Ali, M. Software Effort Estimation Accuracy Prediction of Machine Learning
Techniques: A Systematic Performance Evaluation. J. Softw. Pract. Exp. 2021, 52, 39–65. [CrossRef]
32. Trendowicz, A.; Jeffery, R. Classification of Effort Estimation Methods. In Software Project Effort Estimation; Springer: Cham,
Switzerland, 2014; pp. 155–208._6. [CrossRef]
33. Zarour, A.; Zein, S. Software Development Estimation Techniques in Industrial Contexts: An Exploratory Multiple Case-Study.
Int. J. Technol. Educ. Sci. 2019, 3, 72–84.
34. Boehm, B.; Abts, C.; Chulani, S. Software Development Cost Estimation Approaches—A Survey. Ann. Softw. Eng. 2000,
10, 177–205.:1018991717352. [CrossRef]
35. Tuckman, B.W. Developmental Sequence in Small Groups. Psychol. Bull. 1965, 63, 384–399. [CrossRef] [PubMed]
36. van der Aalst, W.M.P. Process Mining: Data Science in Action, 2nd ed.; Springer: Berlin, Germany, 2016. [CrossRef]
37. Di Ciccio, C.; Marrella, A.; Russo, A. Knowledge-Intensive Processes: Characteristics, Requirements and Analysis of Contempo-
rary Approaches. J. Data Semant. 2015, 4, 29–57. [CrossRef]
38. Kumar, R.; Khan, S.A.; Khan, R.A. Durability Challenges in Software Engineering. J. Def. Softw. Eng. 2016, 42, 29–31.
39. Khan, S.A.; Alenezi, M.; Agrawal, A.; Kumar, R.; Khan, R.A. Evaluating Performance of Software Durability through an Integrated
Fuzzy-Based Symmetrical Method of ANP and TOPSIS. Symmetry 2020, 12, 493. [CrossRef]
40. Sahu, K.; Shree, R.; Kumar, R. Risk Management Perspective in SDLC. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 2014, 4, 1247–1251.
Reproduced with permission of copyright owner. Further reproduction
prohibited without permission.