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.

Share:

if you found this article useful, please share it. I appreciate the feedback and encouragement