Software Project Management Brochure Template Page 18

ADVERTISEMENT

18
Handbook on Software Engineering & Knowledge Engineering
availability, the use of standards in software development, the use of tools,
requirements volatility, the application’s logical complexity, staff’s experience
with the tools, and so on. There are also dozens of factors other then the key
ones that also influence productivity. Here are two examples of productivity-
calculation (benchmarking) equations [34]:
Productivity [fp/hr] = 0.1072 x
-0.4627
(number of different languages used)
x
0.6651
(staff availability)
Productivity [fp/hr] = 0.2127 x
0.1493
(sum of inquiries)
x
-0.3950
(customer participation)
It is important to stress that the equations like these two depend on the
customer’s business sector (e.g., banking, insurance, manufacturing, wholesale-
and-retail, and public administration). The first equation from above is used to
calculate productivity in developing software for wholesale-and-retail business,
while the second one corresponds to software development for the public
administration sector. The numbers and the kinds of variables (factors) in
equations are different for different business sectors.
Statistical analysis shows that software development productivity’s variance
with respect to some significant variables (considered individually) is different.
For example, the productivity variance across companies is rather high - 45%,
w.r.t. different operating system it is 19%, and w.r.t. different DBMS tools and
hardware platforms it is 13%. Significant variables are different for different
business sectors, each individual variable’s effect on productivity is either
positive or negative, and each variable accounts for a certain percentage in total
productivity variance. For example, requirements volatility is a significant
variable in most business sectors; its effect on productivity is always negative,
and it accounts for 10% to 19% of total productivity variance across different
business sectors.
Apart from using equations such as the two above for benchmarking
purposes, software project managers can use them to determine the likely impact
on productivity of changes in a key factor.
Software Testing
In spite of the fact that in every software development project the product
undergoes testing, delivered software always contains residual defects. Software
testing is a difficult, time-consuming process. It requires specific skills from
software testers, skills that only partially overlap with those of software
developers. Apart from mastering coding, testers must also possess a great deal
of knowledge of formal languages, graph theory and algorithms [26], [48].
Typically, software testing proceeds in four phases [48]:
modeling the software’s environment

ADVERTISEMENT

00 votes

Related Articles

Related forms

Related Categories

Parent category: Business