Scott is a DDJ Senior Contributing Editor and author of numerous IT books. He can be contacted at www.ambysoft.com/ scottAmbler.html.
Lately, there has been a significant amount of discussion about certification on agile mailing lists and at various agile events. Certification is a divisive topicmany people are clearly against it, some are ambivalent, and a small minority is clearly for it. Given the choice, I would prefer that we didn't certify agile practitioners, but in the end, I'm a pragmatist: Like it or not, certification of agile practitioners is not only coming it's arguably already here.
Done right, good certification programs do seem to help raise the overall quality of certified professionals. Certification also provides professionals with a body of knowledge to fall back on, putting us in a position to say, "This isn't an acceptable approach," when others try to force us to do questionable things (for example, to commit to a fixed scope, fixed price, and fixed schedule project). In many fields, in particular both physical and landscape architecture, the only way you can land a really interesting project is to be certified. Without certification, you're only qualified to hold a supporting role on a major project. Finally, a rigorous certification program is a significant step for IT to actually become a respected professiondo you know of any other profession without a decent certification program in place?
Many agilists are reticent about certification (see Table 1), but I think that many of us still suffer from a "black or white" mindset on this issue. There is no such thing as a perfect certification processsome people are going to become certified that probably shouldn't have been, some people are going to abuse the certification process, and some organizations will not understand the limits of certification. Then again, some people will use certification to learn new skills, some people will use certification to communicate their real-world experience effectively and thereby gain employment commensurate to their actual ability, and some organizations will improve how they manage their staff. The potential benefits of agile certification certainly outweigh the costs.
Argument |
Response |
We don't know enough to base a certification on |
This sounds sneakily like big requirements up front (BRUF) to me. Surely, we could have the courage to certify people on things that we do know something about now and have the courage to evolve the certification approach tomorrow when we know more? |
Certification doesn't prove anything |
This is clearly false: Certification proves that you passed the requisite certification process. The bottom line is that the certification process can be as rigorous as we choose to make it. Certification will never be perfect, so just like other professions, we will need to trust but verify when appropriate. |
Doctors are certified, but some are still bad |
Yes, there are no guarantees. But, would you go to a doctor who wasn't certified? Certification can help to weed out some of the people who really aren't qualified to do the job. |
Companies will hire someone based solely on the fact that they have certification |
Yes, this is a really questionable approach. However, no matter what we do some HR departments will manage to find really stupid ways to work. The rest of us can still benefit from a good certification program. |
I know a lot of really good people who aren't certified |
And I know a lot of really good people who are. So what? |
You learn skills a little at a time, not as quantum strata measured by different levels of certification |
That's absolutely right, but varying levels of certification give people goals to work towards and help to provide a general way to distinguish between people's abilities. |
There are a lot of really bad people out there with their XYZ certification |
And there are a lot of really good ones with it. All things being equal, aren't they better off with the knowledge gained by certification? |
Table 1: Addressing the arguments against certification.
The Agile Alliance (AA) and Agile Project Leadership Network (APLN) are both considering certification (www.agilealliance.org/show/1796):
It is the position of the board of the Agile Alliance that employers should have confidence only in certifications that are skill-based and difficult to achieve. We also believe that employers should not require certification of employees.
To explore certification, the APLN recently started a learning and recognition program; its discussion forum is the apln-lr@ yahoogroups.com mailing list.
Towards Certification
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.
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:
- You can simply choose to stop claiming to be a CSM.
- When you indicate on your CV or in your e-mail signature that you are a CSM, you could follow with the text "earned by taking a two-day course".
- You could include a URL to a page that overviews the CSM designation.
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).
S.A.
|
Become a member to take advantage of more features, like commenting and voting.
Register or sign in today!