Instrumenting the Process

11 05 2008

A bit ago I complained a bit about how hard it can be to offshore inspiration I have been thinking about it a while now and I think I found the second and probably most important component to this, and it’s the difference between being able to manage a project and a team, and be the leader for the team and the project.

In the management side of things the key is to instrument the process, i.e. be able to answer the question of : How are we doing ?.

In software development many processes have been established to help on this, and more likely than not successful teams will use a combination. I personally have found that a semi agile way works, having “short” iterations of about 3 weeks, with specific goals, and estimates that are counted down against a burndown chart on a daily basis.

Of course that is not enough, we need to know that the code is actually working and stable, so a nightly build, continuous integration, nightly unit test suite and nightly performance test suite, help ensure that the new features are not breaking the old stuff and that the code base is stable and performing in the expected range.

We even go a bit ahead, and run a nightly customer database upgrade, so any time that changes are made to the schema(s) we make sure that all data can be migrated without errors.

Finally a code coverage report over the unit testing lets us know what parts we are testing and which ones we are not, which is great input for QA too.

All of those give me what I think is a pretty good instrumented process, it is visible to everyone, and different players know their responsibilities, if the unit test is broken, then it needs to fixed, if the performance is slow, then it needs to be explained, and usually fixed, and after a while the team works on this almost automatically. I get emails explaining where the failure happened and how it was fixed

This instrumentation has made the project a success, and has made the management of the offshore team somehow easier. I’d be curious to hear your experiences on this.