30 April 2004
Should there be a certification program for agile methods?
Certification programs are common in the software industry, yet most capable developers I know have very little regard for them. The general view is that certification has little correlation with competence. This is compounded in the agile community with certification's association with the CMM - which is historically anything but agile.
Part of the problem with certification in general is that the certification programs have been very weak. Many developer-oriented certification schemes are little more than multiple choice questions which are easy to set up and mark, but don't do a good job of probing more than rote memorization.Also a common problem, not just in the software industry, is that certification becomes an industry in itself - which encourages a proliferation of tests and updates which increasingly are there to help the profit margins of certification and testing companies.
None of these issues are necessarily faults with certification in general. It may be possible to come up with a certification program that really does correlate with competence. But certification still has particular problems for agile methods.
In a plan-driven process, the whole point is that conformance to process is essential. So a certification scheme can test that a team or an organization does a good job of conforming to a defined process. In an agile world, however, every process follows self-adaptation - that is the team is expected to alter the process to suit their local conditions. This makes any certification much harder to design.
I remember a conversation over beer after XP Universe 2002. We wondered what would be needed for an XP certification. We considered that it would involve several weeks of observation, watching people deal with the various stages of a software project, seeing them use various skills, including tuning the process. Such a test would be expensive to carry out. Would people be prepared to pay for this kind of program?
Despite all these misgivings, I'd like it if the software industry did find a way to come up with a meaningful certification scheme. It would help separate the more able people and allow more competent people to be better rewarded for their skill. I don't think the industry is in a position to come up with a single scheme, hence my skepticism over Swebok. But it may be possible for a particular school of software development, such as XP, to come up with something. But that something will look very different to the kind of certification programs that we currently see.