Energy expenditure signatures
In an ideal world, the effort being expended at any point in a project will be the same as at any other point - the team involved would never be overstretched or under utilised, always working at an optimal pace. One goal of any software development methodology should be to achieve this burn-rate equilibrium.
In projects run with non-agile methodologies this very rarely happens. The reason behind this is the same reason the projects fail - traditional methodologies involve big up-front designs that will be wrong, requirements will change, and so on. What's interesting is the energy expenditure signature of these projects is the inverse of what the methodology advocates. The effort *should* be expended at the beginning, ensuring all requirements are captured, that implementation and infrastructure designs are produced, that SLAs are defined, that resources are allocated and equipment acquired. Basically, the aim is to mitigate all risk downstream by spotting it up-front. In reality, you get an inverse signature of this - rather than having energy expenditure tailing off towards the end of the project, it picks up - bugs get found, requirements change, assumptions are proven incorrect, etc. So, you have a rising curve (and this isn't a linear gradient), rather than a falling one. Judging the exact graphs you're going to get of expenditure is really tricky, as you never know until the end of a project whether or not you've got all the requirements.
These signatures are far more interesting in an Agile project, however. Whilst the methodology allows, and even predicates the execution of work at a near-constant ongoing pace, the reality of this is likely to be a tendency towards higher expenditure at one end of the project than the other, and this can be measured quite accurately against stories completed (in XP). My supposition is that the signature that this generates may be able to be used to determine what state of health the team/project is in.
If we assume that "0" is a centre-point for energy expenditure that is equivalent to optimal working pace (that's not inducing burn-out), and that a line is draw against time on the x axis, then we can represent this signature as a standard 2d graph. I would predict that the individual signatures will vary from team to team depending on the dynamics of the individuals within them. Based upon experience, below is an initial attempt at the breakdown of a couple of signatures, and what they imply (note that these are per-iteration graphs as well as per-project) with projects/teams I've seen.
- If the line starts at zero, and rises over the duration then internal facets may be underdeveloped. One of several things may be happening:
- Assumptions are being made that aren't holding true
- The team members may not know each others capabilities/responsibilities
- Basically, the learning curve is quite high
- If the line starts off positive and drops to zero over the duration, then the team has spotted a deficiency and is trying to compensate. To me, this implies a mature team in an unknown situation - this may well be a lack of supporting infrastructure such as environmental defects, or a known lack of information. Either way, the foundations for the team to work upon aren't ideal.
One common signature should be the case across all projects/teams, however - A line that remains static at zero implies that the team and project is mature, running healthily... This is something to aim for.
Feedback on these and other signatures would be received with interest...