Developer Quality! ... and Certification?
Uncle Bob Martin comments on “Developer Certification WTF?” in a recent blog entry. Let’s talk a bit about developer quality, and some things that are being done about it.
It’s well known that developer quality is critical to successful implementation of Agile software development. Unfortunately, the Scrum Alliance has paid little attention to this concern, not because they think it isn’t important, but because Scrum is designed to be a sort of container for the development process. As I’ve mentioned here before, Jeff Sutherland, Scrum’s co-creator, says explicitly that high performance Scrum teams need XP-style technical practices. Bottom line, no one is arguing against technical practice, and the Scrum movement has by choice not made a lot of noise about it.
That’s going to change. I’ll be writing here from my informed belief that the Scrum Alliance is sincerely interested in people’s success, and that they are doing their best to help people succeed. I say “informed” because I know members of the Alliance leadership and many members of the Scrum training community, and I assess them as good people who are doing their best to help.
As I say, the Scrum Alliance focus on developer quality is going to change. In fact, it has been changing for quite a while. You’ll recall that Chet, Uncle Bob, Brian Marick, Jim Shore and I had a meeting in Chicago to talk about developer certification. That meeting was funded by the Scrum Alliance, with no strings attached. The Scrum Alliance also paid for the followup meeting in Ann Arbor, reported here under Developer Certification and here under Agile Skills Workshop. The result of that was the Agile Skills Project. As I’ve described before, this project is building an inventory of the many skills that developers need in order to be effective in an Agile situation. There are mailing lists on this subject, and a wiki, and things are proceeding well. Here’s a link to the wiki.
One outcome of the Agile Skills Project will be that any piece of courseware, any book, any information offering, can be compared with the Skills Inventory. This will give a quick view of what that course addresses, how deeply it does so, and what it misses. We believe that this will help people better assess what courses to consider.
Now, again, all this has been supported by the Scrum Alliance (and no other organization so far), with no strings attached.
There’s more to come. What I’ll report next is early information, and is subject to change in details, but I expect not in focus.
Scrum Alliance Recognizes Need
The Scrum Alliance continues to recognize the need for developer quality, just as Uncle Bob does, as you do, and as I do here in the corporate towers of XProgramming.com. The Alliance also knows that the notion of “Certified” as they presently use it is weak with respect to any guarantee of quality (there is none) and that it is strong as a marketing approach.
Let me speak to that for a moment. You're probably aware that Chet and I teach a Certified Scrum Developer course. We have even taught a couple under the Object Mentor flag, by the way, and it was at Object Mentor's suggestion and support that I became a CST a year ago. Yes, Uncle Bob's company.
We have had a clear indication that our course that offers the CSM is easier to sell, and easier to fill seats, than a course we would teach without that little certificate. We are clear, always, about what the certificate means and what it doesn't, and our customers are quite aware of that truth already.
And still, it sells better. We do our best to sell and teach without deceit, and as an insider I am certain that the Scrum Alliance and the Scrum Trainers that I know do the same. There's certainly a conflict of interest that I feel: on the one hand, I'm the same delightful guy with or without the certificate. On the other, I get more students, and thus more income, when I offer the CSM. On the gripping hand, I also get to influence more people.
What I mostly care about is influence. But I do care about money and I recognize that it's acting as a force on me. I do my best to be fair about it. This is the problem that any honest marketer faces.
The Scrum Alliance knows that the CSM is an entry-level rating, as is the CSPO. They want to adjust people’s understanding to focus on the CSP (now Certified Scrum Practitioner, possibly to be renamed Certified Scrum Professional.) The CSP is much harder to get: you have to actually work in a Scrum environment, and you have to write an acceptable report convincing people that you have a clue. It’s still not Rocket Surgery but it is definitely a higher bar.
From my connections with the Alliance, I’m sure they are sincere about doing this. As time goes on, we’ll all see what they do. But what about developers and their skills?
The SA Plan for Developers
There is a plan under way to have a new rating, which will probably be called Certified Scrum Developer . (Yes, I’d rather it was called Rank Apprentice Agile Developer but that name isn’t likely. Let’s focus on what it will be, not just on the name.)
The CSD program will focus originally on actual software developers, that is, programmers. (Other specialties will probably follow.) It will require that a developer complete training including Scrum basics (or a CSM), plus an approved course about development. The course must be taught by a “SA-REP”, Scrum Alliance Registered Education Provider. And the course itself must be examined and approved by a representative of the Scrum Alliance who has a clue about what such courses will be. I happen to know who’s doing that for them now, and I’m happy to say that I trust him.
The approval will be based on the course introducing a core of essential ideas and practices, and on offering actual experience doing the practices. It will need to be a programming course, not a sit down and listen course.
At the end of the course, the student will have heard the words we say, will have had experience doing the practices in a lab environment, and will have been told in no uncertain terms that this is their next step on a road to learning that will never end.
Chet and I will be producing a CSD course. I hope that you know us well enough to be confident that it will be darn good. It’ll still be just a few days, but it will be packed with everything we can pack into it.
The SA plans to invite others to produce and offer courses under the SA-REP program. I’d expect that Uncle Bob and his organization would be a very valuable resource for such programs, as would many of our other colleagues in the XP community.
Bottom Line: Perfect, no. Better, yes.
I am confident that the Scrum Alliance sees the need for developer improvement, and that they are working toward making their members aware of the need. I am confident that they are working to provide resources that Scrum teams can use to begin to build the skills that they need. And I’m dedicated to influencing them in the right direction, and to bringing as many people into the situation to help accomplish that.
In the end, what I care about is software development, as narrow and geeky as that might be. I care about other people finding the joy in the craft that I’ve found, and that means they have to discover the joy of life-long learning. I think this Scrum Alliance effort can help with that, and I think that “certification” has little or nothing to do with it. What counts will be what we tell the people who show up.
I welcome your thoughts on this and will leave the comments open at least for now.