  There is growing acknowledgement within the software engineering community
that a theory of software development is needed to integrate the myriad
methodologies that are currently popular, some of which are based on opposing
perspectives. We have been developing such a theory for a number of years. In
this position paper, we overview our theory along with progress made thus far.
We suggest that, once fully developed, this theory, or one similar to it, may
be applied to support situated software development, by providing an
overarching model within which software initiatives might be categorised and
understood. Such understanding would inevitably lead to greater predictability
with respect to outcomes.
