OTUG April 2003


Date:Tuesday, April 22, 2003
Time:6:15 Pizza and discussion
Location: O'Shaughnessy Education Center (OEC), Room 449
Topic: Behaviorally Anchored Self-Assessment
Using behaviorally-anchored self-assessment to learn our individual capabilities in software development.
Presented by Clyde Cutting and Gary Jedynak
Resources:
Wiki page
Draft assessment sheet [.pdf] v2.23 (as passed out at meeting)
Draft assessment sheet [.pdf] v2.31 (with improvements to Novice language suggested by attendees)
Slides [IE only]
Slides [pdf]


Topic:

Martin Fowler led a discussion on PayingForBetterValue at the Agile Universe 2002 conference. It was by far the largest Open Space gathering there, generating the most interest and involvement. Since then, Clyde has been pondering and seeking an answer to the question that was posed:

"How do we make it accepted that able people who are expensive end up being better value than cheap, less able developers?"
This workshop proposes to evaluate and document alternatives to certification and introduce the system of Developer Capability Maps (a pattern used in other industries to evaluate skills).

Problem in Context:

We have observed a need to more effectively evaluate the capabilities of software developers. Current certification systems are widely seen not to work. Many of the issues are identified in the words of PayingForBetterValue participants, as recorded by Mr. Fowler:

Can we find a way of charging for value?

People are prepared to pay more for consultants, … But the room doesn't feel they are better quality.

DSDM introduced certification of facilitators. This made a big difference. The CPF is well respected and facilitators can charge more when they have it. Certification is based on demonstrating their skill - have to facilitate a session in front of judges.

Certification is often criticized within the software industry. If we could come up with a good certification system it could be used so people can charge more if they have the certification.

Currently personal recommendation is a key for assessing a developer's skill. But it's an opening to people suggesting untalented friends and is difficult to scale.

Certify people by pair programming with experts.

Does anyone ask for programmer ratings? Is there any business in selling a programmer rating capability to HR departments to improve their hiring and retention processes?

Difference in assessing technical skill (done by programmer peers) and delivery skill (done by customers)

(Quoted from http://monet.objectmentor.com/cgi-bin/openspace/wiki.py?PayingForBetterValue.)

Familiar Evaluation Method Solutions:

Another Possible Solution: Developer Capability Maps

Prediction of future performance is the goal of most evaluation systems. There is little confidence in certification, despite its frequent use. We need a simple predictor so that customers, project managers and team leads can confidently and successfully select the right person.

One such system is in use in other industries, we will call it ‘Capability Maps.’

What would a ‘developer capability map’ provide to be an ideal evaluation system?

  1. It would provide us with criteria to make selection easy at a glance.
  2. It would differentiate between similar applicants.
  3. It would identify the feedback needed to verify that our selection was correct.

What would this map look like?

Just one sheet of paper listing 10 to 20 line items can unambiguously ‘map’ predicted capability. How the line items cross-reference each other creates multiple reference points. No one point stands alone but rather supports one or two other points. The effect is a cross-calibration of each reference point.

Lots of high impact short-stories

Each point would tell a very short story about a significant personal performance instance. A team or hiring manager could highlight just two or three performance instances to map out a needed skill. A ‘map’ also could serve as terms of service for a job or be used to improve a typical performance review.

Not a certification or ‘achievements’ list

‘Achievements,’ like certification, can be inflated. The rules for our short story line items are that they must be honestly ‘anchored’ in behavior. E.g. ‘can swim two lengths underwater’ for a lifeguard capability map. Certifications are about what a person can do under contrived conditions. Capability maps are about what a person does do under actual project conditions.

What a Developer Capability Map is…

The technically correct term for what we are calling a Capability Map is ‘behaviorally anchored self-assessment.’ They have been regarded for years as the gold standard for performance reviews. In other uses, such as military training, it is the only standard. E.g. ‘Complete 10 night parachute jumps with full gear on rough terrain.’

We will introduce Capability Maps in the workshop so that they can be evaluated alongside the other alternatives to certification. For a rough draft of an example capability map, see http://www.latenighthacking.com/wiki/wiki.pl?JavaCapabilityMap.


Would you agree or disagree with the items listed below of what it takes to become a good OO developer? How could this self-assessment be validated to provide a more convincing demonstration of your skills than test-based certification? Want to learn how to use such as assessment to show your greater capabilities and justify earning more money?

Assessment of Developmental Stages:

Object Oriented Design and/or Programming

NOVICE:

ADVANCED BEGINNER: COMPETENT: PROFICIENT: EXPERT: MASTER:


[OTUG home]