Doing Certification Right
To be truly meaningful, a certification must have some sort of experiential component to it (typically involving internship or apprenticeship) and the applications must be verified by other certified professionals. I recently spent time with Paul Priess, the President of the International Association of Software Architects (www.iasahome.org), who is currently leading the effort to develop a robust certification program for IT architects. His vision is to have three levels of certification:
- ' Associate Architect. This certification recognizes that a software architect has acquired knowledge through training and education. You must take training and pass exams in foundational skills and in at least one of three specializations (business, infrastructure, or software). There will be 50 10-hour foundation modules and each specialization will have 10 10-hour modules plus up to six upper level hands-on practical workshops of 25 to 50 hours each. All of this training should occur in parallel to related real-world experience. This certificate qualifies you to intern with Professional or Master Architects.
- ' Professional Architect. This is gained after you have earned your Associate Architect certification and you have interned with a recognized Professional or Master Architect for three+ years. The experience must be documented and verified by the architect who you're interning with, and at that point, you're judged by an architect review board. This certification qualifies you to play the architect role on software projects of limited scope (for instance, the software equivalent of architecting a house).
- ' Master Architect. Once you've become a Professional Architect, you spend the next few years doing real architecture work under the mentorship of a Master Architect, potentially mentor Associate Architects, and hopefully contribute to the profession through writing and speaking. After doing this, you go before a review board of Master Architects and defend your workmuch like a Ph.D. candidate defends his thesis. This certification qualifies you to play the architect role on any scope of IT project.
The IASA program is a work in progress and the organization looking both for volunteers to help be involved and for funding. Although this effort isn't specifically geared towards agile development, I believe that there are several important lessons that we can learn from it:
- To be meaningful, a good program includes training, examination, and hands-on internship/apprenticeship.
- It should provide a clear learning path while at the same time be flexible enough to meet the needs of the individual.
- A multitiered certification program gives people a framework in which they can manage their career path.
- In my discussion with Paul, he stressed that a good certification program should be open and visible. It is critical that people from the outside should be able to look under the covers to verify that it's not being abused.
Unfortunately, the people who are the best candidates for running an effective certification effort are the most reluctant to do so. Within IT, the IASA is one of the few organizations striving to do it right. I believe that both the Agile Alliance and the APLN could easily emulate IASA's example and, more importantly, have the moral imperative to lead the agile certification effort. I also believe IASA should consider partnering with an existing, reputable organization such as the Association for Computing Machinery (ACM) or the Institute of Electrical and Electronics Engineer's Computer Society (IEEE-CS) to accomplish this. Time will tell.
Bringing Ethics to Scrum Certification
The Scrum Alliance continues to embarrass itself, and to a lesser extent the agile community as a whole, with its continued operation of the Certified Scrum Master (CSM) program. To "earn" this designation you need to take a two-day course, at the end of which, the instructor decides whether to award you with it. There is no test and there appears to be a 99 percent plus pass ratethe Scrum Alliance won't provide any figures, but several existing and former Scrum instructors have privately told me that at most a few dozen people have been refused the CSM designation. Some Scrum instructors brag about how they've failed a few people who just sat there and did e-mail during the course instead of listening to them. Talk about not getting it.
It is clearly deceptive to claim that you're a "certified master" of something after taking a two-day course. Although an argument currently rages within the Scrum community over whether the problem is the use of the word "Certified" or "Master," this serves merely to distract people from the real issue. From discussions on several mailing lists, it is very clear that people who aren't a CSM recognize the deception, people who are CSMs recognize the deception, and even the CSM trainers recognize the deception. Yet the CSM program carries on.
The Scrum Alliance is currently working on a new certification effort with a bit of meat behind it, although in my opinion, they lost the moral imperative to do so a long time ago. The people involved with the Scrum Alliance chose years ago to operate the existing certification program and have had ample time to address the ethical issues surrounding it. Ethics is a reflection of the conscious choices that you make, and the Scrum Alliance has clearly made their choices.
The challenge that we face is that many good people have chosen to become CSMs, but their reputations are at risk of being tarnished because of the actions of others. All is not lost, there are several ways that we can take back the ethical high ground:
Organizations can also choose to act ethically. They can require their staff to follow one or more of the aforementioned recommendations for all types of certification, not just for CSMs. They can also choose to promote a code of ethics within ITI highly suggest the one developed by the ACM/IEEE-CS (www.acm.org/constitution/code.html).