Review of
Metrics-Driven
Enterprise Software Development: Effectively Meeting Evolving Business Needs,
by Subhajit Datta ISBN 9781932159646
Creating
metrics for describing the process of software development is not as difficult
as it may first appear, there are countless aspects of the creation of a
properly functioning enterprise application that can be measured and used to
create a dataset. The (very) hard parts are in locking down the assumptions and
definitions used on the front end of the metric development as well as effectively
using the metrics to understand and manage your development process. As William
Bruce Cameron said, “Not everything that counts can be counted, and not
everything that can be counted counts.”
In this book
Datta puts forward solid arguments for the development of a software development
process based on detailed knowledge metrics. The problem is that some of them
are based on questionable and puzzling data points. There is the Morphing
Index, which tries to measure how the design of a software system changes or
morphs over time and initially is the ratio of the total number of components
to the total number of messages. A more “advanced” form of this metric assigns
weights to the components and messages in an attempt to assign them relative
values. Other such metrics, such as the AEI (abstraction, elision and
indirection) score are developed.
The best line
in the book appears shortly after the first definition of the Morphing Index.
It is “The Morphing Index in its present form is rather naive, but it tells us
something, and something is better than nothing. The problem is of course that
we are unsure what that something is and whether it is something that we can
base major decisions on. That is questionable and not really resolved. The
bottom line is that despite the many attempts to place software development on
a mathematical and engineering foundation, it is still very much an art form.
Like many books
that try to quantify what is largely a psychological, social and political
experiment wrapped within a computing project, there are good and bad points in
this one. The development of a software development process is always a
positive thing, but as even Datta admits, metrics used the wrong way can be
poison.
No comments:
Post a Comment