Effort Distribution in Model-Based Development
Effort Distribution in Model-Based Development
Abstract. In this paper we explore how the total effort spent on soft-
ware development projects is distributed over different development dis-
ciplines over time. In particular, we focus on projects that employ model-
based development practises. We present empirical data that was col-
lected from 20 industrial software development projects. We discuss how
the pattern that emerges from these industrial data sets relates to the
humps-picture that has become iconic for the RUP development process.
1 Introduction
3 Research Setting
The projects that were examined for this research all made use of services offered
by a specialized department for software delivery that is part of a major IT
service delivery organization. The tooling that was used by the projects in our
data set consists of:
– IBM Rational ClearQuest, used for tracking defects
– QSM SLIM-Estimate, a tool for estimating time, effort and cost
– QSM SLIM-Control, used to assess the status of a project.
– Open Workbench, an open-source alternative to Microsoft Project
– CA Clarity, a web-based project portfolio management (PPM) system
4 Approach
4.1 Data Collection
Data was primarily gathered by means of examining data from CA Clarity, Open
Workbench, IBM ClearQuest and the log files of automated SLOC counters. This
data was triangulated by looking at various other sources of electronic data. As
a first check, project documentation stored in IBM ClearCase systems such as
management summaries and memos were consulted. Incomplete or inconsistent
data was later compared to the measurement rapports created by the Estimation
and Measurement team of which backups are kept on the delivery facility’s own
servers. These servers contain information on both current and past projects in
which the delivery facility’s services were used. If ambiguities regarding project
data still exist after consulting the prescribed administration systems, the in-
formal project documentation and the measurement assessments, the project’s
process coach and project manager were consulted.
5 Findings
Of the projects in our data set, eight projects used Java 2 Enterprise Edition
for development, 11 used Microsoft .NET and one developed using C++. The
average project spent 11,504 person-hours during a development lead time of
336.1 calendar-days and produced 84,908.53 lines of code which were derived
from an initial assessment of 941.47 function points. In 25% of the projects,
software development was offshored. The average peak team size during con-
struction phase was 10 FTE and the average project manager experience in the
software engineering industry was 15.25 years of which 7.5 were spent in a man-
agerial role. The projects were executed in a CMM level 3 certified development
environment. Offshored development processes were handled by a CMM level 5
certified organisation.
we can see that the effort spent during the inception and construction phases
measured in our collected dataset are comparable to the mean of the values that
Reifer, Kroll and QSM Inc. found for inception (x̄ = 7.23%) and construction
(x̄ = 61.7%) whereas the mean value for the phase elaboration (x̄ = 20.63%) is
slightly higher and the mean value for transition (x̄ = 10.23%) is slightly lower.
The relatively lower amount of effort spent on the elaboration phase for projects
from our data set could indicate that the translation of requirements to a formal
design had a lower priority. It is unlikely that the reason for this difference is
an aberrant definition the scope of the elaboration phase as the QSM tooling
that was used contains industry averages to benchmark project planning. The
higher value for transition effort that was found could be explained by a higher-
then-average amount of rework or testing. In the many books and articles on
RUP, often indications are given about the relative length and resource cost of
the four phases. Kruchten presented a diagram [11] in which an indication is
given of the relative relationship between the resources and time spent during
each of the four RUP phases. The dimensions of the rectangles are very similar
to the values Boehm et al. presented. As they do not mention a source for their
data in their presentation, it seems plausible that they used Kruchten’s diagram
as a reference. This diagram is depicted in figure 2. A similar plot was made
for the data found for the projects in our data set. This plot is shown in figure
3. Comparing the data in table 2, the duration of the inception discipline of
60 construction
50
effort (%)
40
30
20
elaboration transition
10
inception
0
0 20 40 60 80 100
time (%)
Fig. 3. Relative resources and time spent per phase for projects in our data set
projects in our data set is 50% longer than Boehm et al. presented, while the
duration of the elaboration phase is about 30% shorter. This difference could
be attributed to the delivery facility’s definitions of where the inception phase
ends and the elaboration phase begins. This explanation seems plausible as, for
example, some early modelling ventures in the inception phase usually occur.
Work on these ventures is usually pursued onwards ‘in the background’ as project
initiation formalities take most attention during these early stages. The problem
of attributing the effort spent on these modelling activities to the inception or
elaboration phase is usually not pressing and as such effort is randomly assigned
to one or the other.
Interestingly enough, while the amount of effort spent during the construc-
tion phase for the projects in our data set is very close to what Boehm et al.
presented, projects from our data set seem to use a significantly shorted dura-
tion to apply this effort. An explanation for this phenomenon could be that it is
customary to increase the size of the development team during the construction
phase. Although an increase of developers does not always lead to improvements
in development lead time, the estimation and measurement team of the deliv-
ery facility prepares optimal scenarios for construction on forehand in order to
quantify the added benefit of each added developer. This value-aware type of
planning could have lead to a decreased lead time for the construction phase.
The significantly longer duration of the transition discipline could be an
indicator of problematic testing and deployment ventures. This could be a direct
result the problematic nature of the increased amount of developers that had to
cooperate during the construction phase.
Some projects in our data set use a discipline called quality assurance to write
down effort. This discipline is not formally defined by RUP and encompasses
activities that are geared towards the increase of process quality. Effort that
is spent during this discipline is mostly used to interact with the development
facility’s process coach and tool support and assembly line department. Some
projects argue that effort spent on these activities should be recorded as effort
spent on the disciplines project management and environment. An overview of
the relative effort spent on each discipline as a percentage of total effort spent
of the projects of our data set is depicted in figure 4. We see that the effort
deployment
2%
quality assurance other analysis and
0% 9% design
environment 11%
3% requirements
engineering
8%
change and
configuration testing
management 12%
4%
project
management
13%
implementation
38%
spent on analysis and design discipline is less then a third of the discipline spent
on implementation. Although we could not find comparable data to verify these
findings, we would expect the values found for implementation and analysis and
design to be at least equal in model-based development.
5.4 RUP Hump Diagram
After averaging the data we obtain from the industrial project, we created a plot
of the RUP discipline effort distribution hump chart (see figure 5). In this section
we will compare, for each discipline, the graph generated from our projects with
that of the RUP hump-figure. One difference that stands out is that the graphs
from our projects are much more spiky than the RUP humps.
2.00 requirements
1.50
1.00
0.50
1.40
analysis and design
1.20
1.00
0.80
0.60
0.40
0.20
10.00 implementation
8.00
6.00
4.00
2.00
5.00 test
4.00
3.00
2.00
1.00
1.00 deployment
0.80
0.60
0.40
0.20
1.50
1.00
0.50
0.80
0.70
environment
0.60
0.50
0.40
0.30
0.20
0.10
0.16
0.14
quality assurance
0.12
0.10
0.08
0.06
0.04
0.02
Fig. 5. Redraw of the RUP hump chart based on collected effort data (effort in absolute
person hours)
are three interesting features of the new hump compared to the prescriptive
hump. First, the large effort hump that peaks for only a short period of time
at the very first beginning of the time line. Second, the rather coarse fashion in
which the effort is distributed between halfway and the end of the project. And
third, the surprisingly large effort hump at the end.
The requirements peak at the beginning can be explained by the fact that
the delivery facility does not do the business modelling for projects. Often, a
thorough assessment of the business needs has been made by the consulting
division of the IT service delivery company in which the delivery facility resides.
Crude requirements have therefore already been made so that the project team
that works with the delivery facility can immediately start by reworking the
requirements in greater detail. The work done in that first phase serves as input
for the first analysis and design effort as can be seen in figure 7.
The rather coarse manner in which the requirements effort declines towards
the end of the project is a phenomenon that could be explained by the iterative
approach of the projects in our data set as a peak in requirements effort is
followed by a peak in analysis and design effort. This is most visible towards the
end of the project time line.
The large effort hump in requirements engineering can most likely be at-
tributed to the relatively large amount of rework that is done at the end of
projects. Both the analysis and design and implementation disciplines portray
similar patterns of behaviour.
Analysis and Design Discipline The two humps for the analysis and design
discipline differ mainly in the sense that the bulk of the effort lies more towards
the middle than to the centre, as the original RUP hump seems to imply. Fur-
thermore, there seem to be four distinguishable peaks for the new hump whereas
the hand-drawn image had only three. Another interesting observation is that a
fair amount of effort is done near the end of the project. Apparently, there is less
consistency with regard to when analysis and design effort is focussed on mostly
during a project. A possible explanation might be project member’s definition
of what defines analysis and design effort. Some developers log the time that
is spent on preparing to code with techniques such as pseudo coding, as effort
spent on analysis and design while others would define such effort as implemen-
tation effort. The overlap with the implementation discipline apparently is not
that large as the implementation discipline shows a much more defined pattern
of behaviour. Another explanation of the seemingly more randomly distributed
Fig. 7. Comparison of RUP humps from data and from RUP documentation for anal-
ysis and design discipline
analysis and design effort could be that the analysis and design discipline is a
discipline that is very affected by the chosen development strategy. The use of
a design varies strongly from method to method. Some project managers use
design and modelling for requirement elicitation while other project managers
have their team members create parts of the design after implementation.
Fig. 8. Comparison of RUP humps from data and from RUP documentation for im-
plementation discipline
hump, shows that the peak of the main hump lies at roughly 12 person-hour
per time unit. It also illustrates that the effort spent during the smaller slopes
before and after the main hump are in the range between approximately two
and four person-hours. These values are a multitude of the peak values for most
other discipline effort humps. This leads to the observation that in almost any
given period, the bulk of the effort is spent on implementation.
Test Discipline The fairly substantial effort peak at roughly 30% into the
project in the testing effort hump in Fig. 9 could be the result of strongly in-
creased test effort that is required after the first implementation effort in more
agile oriented approaches. There also follows a block of increased testing after
the main peak of the implementation discipline, but that block is not so high as
that of the testing peak at 30% of the project. The concentration of the test effort
Fig. 9. Comparison of RUP humps from data and from RUP documentation for test
discipline
References
1. Heijstek, W.: Empirical investigations in rational unified process effort distribu-
tion in industrial software engineering projects. Master’s thesis, Leiden University
Graduate School (2007)
2. Port, D., Chen, Z., Kruchten, P.: An empirical validation of the RUP “hump” dia-
gram. In: ISESE ’05: Proceedings of the 4th International Symposium on Empirical
Software Engineering. (2005)
3. Milicic, D., Wohlin, C.: Distribution patterns of effort estimations. euromicro 00
(2004) 422–429
4. Iwata, K., Nakashima, T., Anan, Y., Ishii, N.: Improving accuracy of multiple
regression analysis for effort prediction model. icis-comsar 0 (2006) 48–55
5. Baldassarre, M.T., Boffoli, N., Caivano, D., Visaggio, G.: Speed: Software project
effort evaluator based on dynamic-calibration. icsm 0 (2006) 272–273
6. Menzies, T., Chen, Z., Hihn, J., Lum, K.: Selecting best practices for effort esti-
mation. IEEE Transactions on Software Engineering 32(11) (2006) 883–895
7. Lopez-Martin, C., Yanez-Marquez, C., Gutierrez-Tornes, A.: A fuzzy logic model
based upon reused and new & changed code for software development effort esti-
mation at personal level. 15th International Conference on Computing (CIC’06) 0
(2006) 298–303
8. Braz, M.R., Vergilio, S.R.: Software effort estimation based on use cases. compsac
1 (2006) 221–228
9. Huang, L., Boehm, B.: Determining how much software assurance is enough?: a
value-based approach. In: EDSER ’05: Proceedings of the seventh international
workshop on Economics-driven software engineering research, New York, NY, USA,
ACM Press (2005) 1–5
10. Yiftachel, P., Peled, D., Hadar, I., Goldwasser, D.: Resource allocation among
development phases: an economic approach. In: EDSER ’06: Proceedings of the
2006 international workshop on Economics driven software engineering research,
New York, NY, USA, ACM Press (2006) 43–48
11. Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA (2003)
12. Jacobson, I., Booch, G., Rumbaugh, J.: The unified software development process.
Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (1999)
13. Royce, W.: Software project management: a unified framework. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA (1998)
14. Kruchten, P.: A brief history of the RUP R ’s “hump chart”. Technical report,
University of British Columbia (2003)
15. Boehm, B., Abi-Antoun, M., Brown, A., Mehta, N., Port, D.: Guidelines for the life
cycle objectives (lco) and the life cycle architecture (lca) deliverables for model-
based architecting and software engineering (mbase)– usc technical report usc-
cse-98-519. Technical report, University of Southern California, Los Angeles, CA,
90089 (February 1999)
16. Carroll, E.R.: Estimating software based on use case points. In: OOPSLA ’05:
Companion to the 20th annual ACM SIGPLAN conference on Object-oriented
programming, systems, languages, and applications, New York, NY, USA, ACM
Press (2005) 257–265
17. Reifer, D.: Industry software cost, quality and productivity benchmarks, software.
Tech News 7(2) (July 2004)
18. Kroll, P.: Planning and estimating a RUP project using IBM rational SUMMIT
ascendant. Technical report, IBM Developerworks (May 2004)
19. QSM Inc.: The QSM Software Almanac: Application Development Series (IT Met-
rics Edition) Application Development Data and Research for the Agile Enterprise.
Quantitative Software Management Inc., McLean, Virginia, USA (2006)
20. Boehm, B., Brown, A.W., Fakharzadeh, C.: MbaseRUP phase and activity distri-
butions (presentation at cocomo international forum 14. Technical report, Univer-
sity of Southern California, Los Angeles, CA, 90089 (October 1999)