Friday, May 16, 2014

Software engineering variables: assuming constrainted possibility

What is a 'cost effective project', who measures, who decides?
How, if at all, is software design quality (generally just termed software quality) linked with the traditional management variables of cost, scope and time?
Actually the traditional management variables aren't quite so easily categorised.
In much of the project management literature the variables are often identified as quality, cost and time.
Usually scope is neglected as a variable as it is assumed to be predetermined at the outset, i.e. building a house with 4 rooms, 3 en-suite etc.

One off-projects tend to overbalance up-front specification and design taking considerable time.
Why this happens is an interesting question I don't know the answer to, although I can suggest a few possibilities.

Software engineering management methods, usually called 'methodologies', have in the past favoured monolithic sequential project management lifecycles.
- aside - I am attempting to avoid use of the term 'methodology' when referring to management methods. Methodology is defined as the system of methods used in a particular area of research. It I industry parlance however it has started to be used instead of management method or software lifecycle. Methods are orderly procedures of activity. Methodology is the study of methods. Therefore Scrum or Waterfall are not methodologies, they are methods.

All other things being equal, differing management methods are an obvious point of comparison between work environments, particularly if emergent or second order phenomena like performance and productivity also able to be compared.

The working hypothesis is that 'method' affects or influences the attainment of software engineering's variables (quality, cost, time, & scope) and other management desiderata (performance, productivity, creativity etc).

Self-reporting is one means of researching the field but may be limited by incommensurability between terminology and actuality from work environment to work environment. For example, the commonplace terms 'waterfall' and 'agile' are at best meaningful and worst caricatures of vastly different workplace contexts and working environments.