The R.E.A.L.I.T.Y. Principles of Agile Software Certification
The R.E.A.L.I.T.Y. principles of Agile Software Certification.
Posted by Uncle Bob on Wednesday, April 21, 2010
As you are probably aware the Scrum Alliance is planning to offer a Certified Scrum Developer program. You can read about it here.
Interestingly enough Microsoft, in collaboration with Ken Schwaber, is offering aProfessional Scrum Developer program. You can read about that here (look carefully at the url).
The scrum alliance program seems to be about agile skills. The Microsoft program seems to be about Visual Studio. So all is right with the world.
Is there anything wrong with this? Is this somehow immoral or bad? Not at all. This is just people doing what people do: Selling services and making money. I’m all for it. I expect the courses to be of a quality that you’d expect from professionals; and I’m sure that students will learn useful information. Indeed, from time to time, even I have offered CSM courses taught by people I trust and respect.
There are, however, some claims that need to be dealt with. The most important is that these programs shorten the recruiting process.
I’ve been thinking about offering a Certified Recruiter for Agile Professionals course. This fifty-two week course will teach, and reteach, a number of principles of Agile Software Certification. I call this repertoire of principles: R.E.A.L.I.T.Y.
The first principle is the Redaction of Certification Principle (RCP). The principle states:
Certifications generally certify nothing whatever about experience, knowledge, or skill. Generally they certify that the certificate holder has attended (or at least paid to attend) a course. Perhaps they took (and maybe even passed) an exam based on that course.
Based on this principle, any recruiter taking my Certified Recruiter for Agile Professionals course will not be allowed to complete the course or receive their certification until they have taken the following oath.
As a Cerftified Recruiter for Agile Professionals I solemnly swear before Knuth and all here present:
That before I read a resume, I will find every use of the word “certified” on that document and redact it with whiteout.
That if a candidate uses the word “certified” in an interview, I will ask the candidate to repeat him- or herself without using that word.
That I will pay no attention whatever to any implications of that word, nor will that word in any way influence my opinions regarding that candidate.
This oath is an exemplar of the Certification Nullification Principle (CNP), which is another of the R.E.A.L.I.T.Y. principles of common sense and moderately competent thinking. The principle states:
The word “certified”, when used in the context of Agile Software Development, is a filler word that has no bearing on anything salient or interesting about individuals, skills, knowledge, or anything else. It is a marketing word similar to “new”, “improved”, “natural” and “organic”. It can safely be removed from all documents and discussions without changing their meaning.
This principle leads to the well known Certification Uncertainty Principle (CUP), yet another of the R.E.A.L.I.T.Y. principles. This principle states:
Any acronym that includes the letter ‘C’ standing for the word “Certification” can be safely changed into a similar acronym that eliminates the letter ‘C’ and puts a ’?’ at the end. This transformation of the acronym vastly improves the meaning of the orginal.
That last sentence probably requires some justification. After all, extraordinary claims require extraordinary substantiation. So lets try a few experiments:
Statement Ac'nm CUP Resulting Statement ---------------------------- ----- ---- --------------------- Certified Scrum Master CSM SM? Scrum Master? Certified Scrum Developer CSD SD? Scrum Developer? Certified Scrum Trainer CST ST? Scrum Trainer? Certified Scrum Professional CSP SP? Scrum Professional? Certified Scrum Product Owner CSPO SPO? Scrum Product Owner? Certified Scrum Coach CSC SC? Scrum Coach?
As we can see, the meanings of the statements are indeed clarified. In my course the Certified Recruiter for Agile Professionals is taught that the question mark is the most significant aspect of each of the resultant statements.
In recent weeks we have uncovered a potentially profound new principle which we may find necessary to include in the R.E.A.L.I.T.Y. repertoire. This is the so-calledScrum Exclusion Principle (SEP) which tentatively states:
Wherever the word SCRUM appears in any statement, or is represented within any acronym, it can be safely excluded without changing any meaning.
The following table show just how profound the effects of this principle are:
Statement Ac'nm CUP SEP Resulting Statement ---------------------------- ----- ---- ---- --------------------- Certified Scrum Master CSM SM? M? Master? Certified Scrum Developer CSD SD? D? Developer? Certified Scrum Trainer CST ST? T? Trainer? Certified Scrum Professional CSP SP? P? Professional? Certified Scrum Product Owner CSPO SPO? PO? Product Owner? Certified Scrum Coach CSC SC? C? Coach?
We are not yet willing to say that these transformation are a reliable feature of nature. We can only say that, at this point, there are very troubling implications that support it.
Our final advice to Certified Recruiters for Agile Professionals is based on one final principle: The Smoke and Mirrors principle, (SAM) which states:
Well… You know what it states.
Comments
Mark Seemann 20 minutes later:
I think there is a slight error in the text.
“CNP” should really be “NP?”
“CUP” should really be “UP?”
;)
Monde Hans 21 minutes later:
Uncle bob how will the recruiters know you know SCRUM, Without the paper.
Uncle Bob 39 minutes later:
Monde, How will the recruiters know you know SCRUM with the paper?
Andreas Ebbert-Karroum about 1 hour later:
Hi Bob,
I share your view, that applied common sense is more important than checking off a required list of certificates, especially when it comes to recruiting.
On the other hand, I believe that the understanding about a certificate’s worthiness is well shared between certificate holders, certification organizations and other stakeholders like recruiters: it merely shows that you passed a test or attended a course, nothing more, but nothing less. It’s equivalent to saying “I attended that course” or “I passed that test”.
Regarding the Professional Scrum Developer Program by scrum.org; I have not attended the training that is build on the .Net technology stack, so I cannot comment on that. But I can tell you that codecentric (my employer), which is one of scrum.org’s Program Development Partners for the Java technology stack, is working hard on developing a training that will bring a benefit to the attendants. Scrum.org selects multiple PDPs for every technology stack, and (this is my last understanding) trainings will be rated on the website. So there is some competition between PDPs to deliver a great course. (Other PDPs for the Java stack are Pyxis and Zühlke). I don’t know why there’s currently one PDP for .Net but I assume that there will be more.
Thanks for your always thought provoking blog posts :) Andreas
Andreas Ebbert-Karroum about 1 hour later:
They won’t. They merely know you attended a course, and that’s all the certificate says.
I just posted a longer comment. Does that still need to be approved, or have I forgot to confirm something?
Andreas
flaviafm about 1 hour later:
You are not an expert after few days of course and exam. Student does this all the time, but they still considered “juniors” after theirs studies.
The exams are hard!! Is true, but theory without experience is just theory and if you don’t use it you forget .
The courses are a good way to learn is also true, but you can also learning a lot by yourself.
Jason Y about 2 hours later:
lolz!
Matt about 2 hours later:
Swear before Knuth? Getting old school there! Most of the developers I work with don’t even know who Knuth is. Nor Brooks, nor McConnell, nor DeMarco, nor Thompson, nor Larman. Nor you!
Andy Brandt about 3 hours later:
OK, how about teaching recruiters to apply same principles to stuff like “B.Sc.” or “M.Sc.” Or “Ph.D.” – and all other certificates?
Bill Caputo about 3 hours later:
Thanks Bob, this will be extremely useful. I’d like to recommend one amendment: The SEP should by made consistent with the CUP by also including a ? thus the final table would result in:
M?? Master??
D?? Developer??
T?? Trainer??
etc.
Marty Nelson about 4 hours later:
Uncle Bob -
What about these “Computer Science Degrees” applicants keep putting on their resumes?
I haven’t noticed any correlation yet as to the appearance of this statement and the quality of their abilities. Though they do seem more inclined to ask for requirements than to engage in solving our customer problems.
John Sonmez about 4 hours later:
I agree with you, the problem is although the classes may be good. Not everyone has the common sense you do, and certification will mean more than actual knowledge.
Especially if more and more of this “cerifications” are created.
I posted my rant about Scrum.org and certifications here:http://simpleprogrammer.com/2010/03/31/scrum-for-the-money/
Ron Romero about 4 hours later:
The problem is that employers need some way to know an applicant’s skill set and skill level without having to go thru the expense of a full interview. And they need something objective, rather than “has a good grasp of the concept of Scrum and knows how to do it pretty well”.
So what would be a good certification? How can recruiters find an objective way to classify developers without having to learn the details of Scrum? My challenge is to come up with a plan for a certification or program that indicates something real. Something beyond “attended seminar”. Something where you’re not guaranteed the label of “master” if you spend enough money and attend enough classes. Something that recruiters and employers can say, “I want somebody with XYZ certification”, and know they’ll get someone who knows what they’re doing.
These certifications exist because there’s a vacuum. Can we, as developers, come up with a plan to fill the vacuum?
John Sonmez about 5 hours later:
@Ron
There is such a thing. It is called experience, or a track record.
There is no way other than interviewing someone to determine how well they can apply concepts such as Scrum.
You can perhaps create a rigid certification that would allow you to assess whether someone has knowledge of all the concepts of Scrum or some or Agile practices, but it would never be able to tell you how effective that person would be at applying them.
The only way to know that is to see them in action. A good technical interview can help give you a really good idea of a persons skillset and thier ability to apply it, but just like picking a horse on a race track. You don’t know what will happen till they get in the race.
André Dhondt about 5 hours later:
How do we help people that are new to the Agile community? How do we help the developer that just heard of SCRUM, and wants to try it? How do we help the CEO that just read about agile and wants to try it back at home? Seriously, is there anything we could do to help the recruiters sort through all the jargon? I agree that Certs aren’t the answer, but it’s one thing to whine about problems, another to try to fix them.www.AgileSkillsProject.org!
Gino Marckx about 12 hours later:
And for those who don’t know :)http://www.jargon.net/jargonfile/s/smokeandmirrors.html
Bob Hartman about 19 hours later:
Bob, I agree with MOST of what you say in your article. However, I am an SC? in your lexicon and I can tell you it is a completely different beast. It requires documented proof of broad/deep experience and success. It also has an application which is basically a graded test. I believe it is a certification which people in other industries would agree is being done properly (as properly as certification can be done). The Scrum Alliance is also working hard to make the ST? designation have more meaning, so I am hopeful someday I can make the same claim about it.
Other than that, right on. Keep posting entries like this to keep people honest and thinking about improvement. I think this is one small battle out of many, but it is one that needs to be kept up in order for agile, Scrum, XP or anything else to stay relevant and useful.
Maybe someone should start a new “certification” called “Proven Success Certification” where instead of a CSM they become PSSM (Proven Successful ScrumMaster), etc. Hmm, maybe I’ll start a new website called blahblahblah.org – nah, I’ll leave that to someone else.
Roland about 22 hours later:
The problem is that you want to sell your knowleadge. Simply saying “attended course in XXX” or “cleared test in YYY” doesn’t sell good enough.
So, as a developer, do you prefer to lie a little bit to get a job or to be truthful and be unemployed.
It is nothing strange about that. The strange thing is that recuriters doens’t know it.
http://projectmanagementhotshot.com 1 day later:
Good discussion! I agree with you Bob. Scrum certifications don’t really prove skills, because you can get one by attending a course. For example IPMA certification that is based on traditional PMBOK project management is not that easy to get. The exam is quite tricky (much more than PMI PMP) and they also require +3 years of proven project management experience. So compared to Scrum certifications IPMA and PMI certifications are more credible in my thinking, even though they are not about agile.
Anyhow, I also agree with John Sonmez above that “There is no way other than interviewing someone to determine how well they can apply concepts such as Scrum”. Proven tackrecord rocks.
I lead software projects and I prefer combining agile with traditional, or extending agile methodologies, and some time ago I planned to do ScrumMaster certification, but I lost interest when I heard how easy it is to get. I don’t see it valuable for me. Instead I consider it more as loss of money. For me Scrum certifications seem more like a money making machine, which is a pity.
Sorry if I made mistakes. English is not my first language.
Lance J. Welter 2 days later:
Wow – I was told last night you have been stuck in UK due to the ash issue. To bad, because we could have used this type of thinking last night at the Chicago APLN where we discussed the value of any letters after a name.
The discussion centered on the difference between true certifications vs certificates, which most of the IT Certifications are, and what, if any, value they bring to the holder of the cert.
After about an hour of discussion, pro and con, I came away with the following:
They differentiate either while looking for a new position or for promotion with: they show some level of knowledge but not an assessment of skill/experience
They give holders of the cert a common language and a BOK to start from which hiring companies seem to feel comfortable,
They “may” improve the professionalism of the IT World,
They are not inherently bad things but must be looked at for what they represent which sometime does not happen
Again, our discussions were for the IT world only and not the true high stake certification world – meaning the protection of the general public’s health and well being.
Near the end of the meeting, I was explaining how certification and licensure relate when an interesting point was raised. It seems that just recently there was a major software crash causing chaos throughout the country. The theory/question behind the story was, is it time for software engineers to be licensed?
Bob, if this last thought does not give you three or four pages of blog material, nothing will.