I believe that much of the pushback against agile certification is the result of existing certification programs that are questionable at best. One clearly insufficient approach to certification is to just take a course. This is the strategy to becoming a Certified Scrum Master (see the sidebar on page 68) and the Open Group's TOGAF Architect Certification. With these two certification programs, you respectively take a two-day or a four-day course; and at the end, so long as you paid reasonable attention to the instructor, you become certified. The only thing that certification strategies such as this certify is your ability to pay for a course and then show up for it.
The second clearly insufficient approach is to simply take an exam, an approach that is common for many technology certifications, such as becoming a Sun Certified Java Programmer (SCJP). A similar but more rigorous certification is the Microsoft Certified Solution Developer (MCSD) for .NET, which requires you to pass five exams. The only thing that these certification strategies prove is your ability to study and memorize a bunch of facts.
To make product-specific certification viable, I believe that vendors should certify people on specific versions of their products and require people to recertify either when a major version is released or a specific period of time, two to three years seems fair, has elapsed. An examination-based approach is arguably sufficient for product certification for two reasons. First, our expectations of someone being DB2 v9 Certified is much lower than someone being a Certified Data Warehouse Architect. Second, vendors are motivated to ensure that the examinations are rigorous because if it's too easy to earn the certification, then it becomes meaninglesspotentially harming the perception of their products in the marketplace.
An example of a reasonably good certification within the agile community is the Dynamic System Development Method (DSDM) Practitioner Certification (na.dsdm.org/na/training/accreditation.asp). This can be earned via two ways:
- The "training route" where you take a minimum of three days of training in DSDM or pass the DSDM Foundations exam and take two days of training. Candidates must also have at least two years of practical software development experience, of which at least six months had to have been on a DSDM or Rapid Application Development (RAD) project.
- The "experience route." With this strategy, you must have at least two years of software development experience and at least one year of it was on a DSDM/RAD project. Training and the Foundations exam is strongly recommended to people that only have RAD experience.
The Project Management Institute (PMI), with its Project Management Professional (PMP) certification, (www.pmi.org/info/PDC_PMP.asp) takes a better approach. While I don't agree with all of the material it teaches people, I do respect the process. To earn your PMP, you must either have 7500 hours in a position of responsibility leading and directing people and 60 months of project management experience, or you must have a Bachelor's degree, 4500 hours of experience, and 36 months of project experience. Additionally, you must agree and adhere to the PMI's code of professional conduct and pass a rigorous multiple-choice exam. Furthermore, every three years, you must renew your PMP status by earning 60 professional development units (PDUs) and by reaffirming the code of ethics and professional conduct. PDUs are earned by taking accredited training, providing training, or by reading professional books.