Vouching mechanisms and their inherent problem

9 views
Skip to first unread message

Olof Bjarnason

unread,
Jan 20, 2010, 7:24:40 AM1/20/10
to software_cr...@googlegroups.com
Following the recent discussion about peer-vouching, to get some kind
of "craftsmanship rating", I started thinking, why are the systems
I've seen so far destined to fail?

Well for one thing, I'm human and don't fancy rating my friends &
collegues. At least not so that they know how I rated them.

So, what would happen if the rating system was anonymous..? I would
know who I voted for/rated, but no-one else would know. Of course,
once someone got a bad grade, he/she would remove his/her account from
the system. So after awhile it would be a craftsman-list.

Stripping away text-comments in those ratings would minimize the
posibility of "language recognition". However, that would also bring
up the problem of "what to rate" and "how to interpret the ratings"
instead.

In such an anonymous-vouching-system;

1. What kind of ratings would there be?
2. How would you bring up confidence in the ratings?
3. Would you include language-ratings (Java-skill-level,
Python-skill-level etc.)
4. Would you include technology-ratings (database systems, operating
systems, libraries..)
5. Would you include methodology-ratings (TDD-skill eg.)
6. Would you include social-skills (pairing/communication eg.)
7. Do you think it would work?

Steven Smith

unread,
Jan 20, 2010, 9:49:19 AM1/20/10
to software_cr...@googlegroups.com
It sounds like in this case you could do something similar to Google's PageRank algorithm, so that individuals who had a great deal of credibility (based on their rating) would cast votes with higher weight than unknown individuals.  Of course, any such algorithm would potentially also suffer from the equivalent of link farms and other tactics to game the system, just as Google's has.  If the number of honest participants vastly outnumbers the cheaters, it could work, but without setting up an authority (e.g. Google) to ban the cheaters, I think it would be at risk of failing due to those who have something to gain by having a high rank in your system.  And setting up such an authority gets back to the problem of "who gets to be the elite kingmaker in the system?" that's been discussed in the 'guild' thread.

Steve


--
You received this message because you are subscribed to the Google Groups "software_craftsmanship" group.
To post to this group, send email to software_cr...@googlegroups.com.
To unsubscribe from this group, send email to software_craftsma...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/software_craftsmanship?hl=en.






--
Steve Smith
http://SteveSmithBlog.com/
http://twitter.com/ardalis

David Starr

unread,
Jan 20, 2010, 11:08:00 AM1/20/10
to software_cr...@googlegroups.com
I can tell you that in our case:

  1. Voting is anonymous
  2. The result is pass/fail on group membership
I understand this is a different discussion than the one you are starting, but I thought I would throw in this context.
David Starr
Guild 3 Software, Principal Craftsman
208.577.7000
guild3.com | Training: pluralsight.com

Esko Luontola

unread,
Jan 20, 2010, 2:04:39 PM1/20/10
to software_craftsmanship
Some additional thoughts:

Is trust transitive? I don't think it is. If A trusts the technical
skills of B, and B trusts the technical skills of C, that does not
mean that A trusts B's evaluation of C's technical skills (unless A
explicitly says so). So in a vouching system system the direct
relations should count the most.

I can trust somebody's technical skills, but that does not mean that I
trust his project management skills. The context of each vouching
should be made explicit.

Some people vouch for every drinking buddy they have, whereas others
vouch for only a few well chosen people (like Ron Jeffries said in
http://www.threeriversinstitute.org/blog/?p=187 "I trust [Kent Beck],
and about three other people, to make good short game decisions"). A
vouching system should try to estimate the importance of each person's
trust.

Given A vouches for B, when B does something stupid, then both B's and
A's reputation should suffer. Or at least the importance of A's trust
should suffer. That way it might be possible to make a difference
between those to vouch for anybody and those who vouch very carefully.

The previous point leads into the need to be able to detect when
somebody does something good or bad. Should and could the vouching
system take into consideration all the projects which the people have
been part of? Is it possible to reliably evaluate whether a project
was a success or a failure, and what was the reason for the failure?
Or is such a measure impossible, like http://martinfowler.com/bliki/CannotMeasureProductivity.html
claims about measuring productivity?

Esko Luontola

unread,
Jan 20, 2010, 2:12:02 PM1/20/10
to software_craftsmanship
Then there's also the client's view. How will a client be able to
choose the people/company to hire? Maybe the vouching system should
also include the clients.

When a client has worked with some developer and has had good results,
then he will trust that developer also in the future. Maybe the client
will also have a measure of trust towards those who the developer
vouches for. But if some of the developer's recommendations is bad,
then the client might not anymore trust the recommendations of that
developer, even though he trusts the developer himself.

Corey Haines

unread,
Jan 20, 2010, 2:41:04 PM1/20/10
to software_craftsmanship
I've been following this thread, and I had a couple questions that I
was hoping people could answer, or at least it would help focus a bit.
During the previous times this was discussed, there was an implicit
assumption that a vouching system was good, and all that was needed
was to sort out the logistics.

So, before discussing the details and logistics of such a system,
could we address the following?

1) What is the goal of a vouching system?
It appears that the 'craftsmanship cooperative' thread switched from a
group of independents who wanted to work with each other to the
assumption that a vouching system is something needed. If you have
people who like to work together and are productive while doing it,
then the need for some sort of 'I vouch for this person' goes away.

2) What is the benefit of a vouching system?
When the idea of vouching or certification or trust comes up, as it
has a few times before, it tends to jump over the initial question of
'why?' So, supposing there was a vouching system, what would you seek
to gain from it? What benefit would it give to you, as a developer
seeking to improve yourself?

3) Why would I vouch for anyone?
Suppose there is a valid answer for the first question, and some sort
of vouching system is worthwhile. Why would I vouch for anyone at all?
As some posters have mentioned, I am putting my own reputation on the
line by vouching for someone publicly. What benefit do I or the
community receive?

Personally, I have vouched for people in private, when recommending
someone for a job, or directing a prospective client to another
person. However, in a public forum, I can't possible think that I
would vouch for a person. That would be completely out of context.
Would a prospective client want to come to a site where someone says
'hey, joe can do exactly what you need,' considering that I have very
little idea, if any, of what they need?

Now, suppose, as the Olof originally asked, we start including
specific things: languages, techniques, processes. What good does this
do for a client? What good does this do for a community member? Would
a client actually know how to look through those categories to find
what they need? As a community member, if I looked through them, what
would I gain?

-Corey

> --
> You received this message because you are subscribed to the Google Groups "software_craftsmanship" group.
> To post to this group, send email to software_cr...@googlegroups.com.
> To unsubscribe from this group, send email to software_craftsma...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/software_craftsmanship?hl=en.
>
>
>
>

--
http://www.coreyhaines.com
The Internet's Premiere source of information about Corey Haines

Olof Bjarnason

unread,
Jan 20, 2010, 3:07:58 PM1/20/10
to software_cr...@googlegroups.com
2010/1/20 Corey Haines <corey...@gmail.com>:

> I've been following this thread, and I had a couple questions that I
> was hoping people could answer, or at least it would help focus a bit.
> During the previous times this was discussed, there was an implicit
> assumption that a vouching system was good, and all that was needed
> was to sort out the logistics.
>
> So, before discussing the details and logistics of such a system,
> could we address the following?
>
> 1) What is the goal of a vouching system?
> It appears that the 'craftsmanship cooperative' thread switched from a
> group of independents who wanted to work with each other to the
> assumption that a vouching system is something needed. If you have
> people who like to work together and are productive while doing it,
> then the need for some sort of 'I vouch for this person' goes away.

I guess the goal of such a vouching system would be to be a better
system than certifications has been traditionally. So that
managers/those with the money can have more reliable measure of skill
than before.

Of course with technique-based skill-ratings, the interpreter of the
information would have to be quite skilled him/herself, just to be
able to understand what he/she is reading.

>
> 2) What is the benefit of a vouching system?
> When the idea of vouching or certification or trust comes up, as it
> has a few times before, it tends to jump over the initial question of
> 'why?' So, supposing there was a vouching system, what would you seek
> to gain from it? What benefit would it give to you, as a developer
> seeking to improve yourself?

Reliable certification is an industry problem for sure. So the benefit
would be throughout the industry. Those that want higher quality would
have a place to look.

>
> 3) Why would I vouch for anyone?
> Suppose there is a valid answer for the first question, and some sort
> of vouching system is worthwhile. Why would I vouch for anyone at all?
> As some posters have mentioned, I am putting my own reputation on the
> line by vouching for someone publicly. What benefit do I or the
> community receive?

Well my OP mentioned anonymous vouching. Even so there would be no
direct benefit rating anyone at all.

>
> Personally, I have vouched for people in private, when recommending
> someone for a job, or directing a prospective client to another
> person. However, in a public forum, I can't possible think that I
> would vouch for a person. That would be completely out of context.
> Would a prospective client want to come to a site where someone says
> 'hey, joe can do exactly what you need,' considering that I have very
> little idea, if any, of what they need?
>
> Now, suppose, as the Olof originally asked, we start including
> specific things: languages, techniques, processes. What good does this
> do for a client? What good does this do for a community member? Would
> a client actually know how to look through those categories to find
> what they need? As a community member, if I looked through them, what
> would I gain?

As I mentioned above - a non-technical client would really need
expertise to understand the rating.

--
twitter.com/olofb
olofb.wordpress.com

Corey Haines

unread,
Jan 20, 2010, 3:16:14 PM1/20/10
to software_craftsmanship
Comments inline

On Wed, Jan 20, 2010 at 2:07 PM, Olof Bjarnason
<olof.bj...@gmail.com> wrote:
> 2010/1/20 Corey Haines <corey...@gmail.com>:


>> 1) What is the goal of a vouching system?
>> It appears that the 'craftsmanship cooperative' thread switched from a
>> group of independents who wanted to work with each other to the
>> assumption that a vouching system is something needed. If you have
>> people who like to work together and are productive while doing it,
>> then the need for some sort of 'I vouch for this person' goes away.
>
> I guess the goal of such a vouching system would be to be a better
> system than certifications has been traditionally. So that
> managers/those with the money can have more reliable measure of skill
> than before.

How would a vouching system cause the measure to be more reliable?
Wouldn't the hiring manager have to know the people who were vouching?

>
> Of course with technique-based skill-ratings, the interpreter of the
> information would have to be quite skilled him/herself, just to be
> able to understand what he/she is reading.

That is a point that is often over-looked.

>
>>
>> 2) What is the benefit of a vouching system?
>> When the idea of vouching or certification or trust comes up, as it
>> has a few times before, it tends to jump over the initial question of
>> 'why?' So, supposing there was a vouching system, what would you seek
>> to gain from it? What benefit would it give to you, as a developer
>> seeking to improve yourself?
>
> Reliable certification is an industry problem for sure. So the benefit
> would be throughout the industry. Those that want higher quality would
> have a place to look.

Why is reliable certification an industry problem? How would vouching
ensure 'higher quality?' I wonder how many people out there don't
want 'higher quality'

>> Now, suppose, as the Olof originally asked, we start including
>> specific things: languages, techniques, processes. What good does this
>> do for a client? What good does this do for a community member? Would
>> a client actually know how to look through those categories to find
>> what they need? As a community member, if I looked through them, what
>> would I gain?
>
> As I mentioned above - a non-technical client would really need
> expertise to understand the rating.

So, unless the person was technical, having anything more than just
'I, Corey, vouch for this person' isn't that useful.

Isn't that what Laurent's is?


-Corey

Olof Bjarnason

unread,
Jan 20, 2010, 4:18:55 PM1/20/10
to software_cr...@googlegroups.com
2010/1/20 Corey Haines <corey...@gmail.com>:

> Comments inline
>
> On Wed, Jan 20, 2010 at 2:07 PM, Olof Bjarnason
> <olof.bj...@gmail.com> wrote:
>> 2010/1/20 Corey Haines <corey...@gmail.com>:
>>> 1) What is the goal of a vouching system?
>>> It appears that the 'craftsmanship cooperative' thread switched from a
>>> group of independents who wanted to work with each other to the
>>> assumption that a vouching system is something needed. If you have
>>> people who like to work together and are productive while doing it,
>>> then the need for some sort of 'I vouch for this person' goes away.
>>
>> I guess the goal of such a vouching system would be to be a better
>> system than certifications has been traditionally. So that
>> managers/those with the money can have more reliable measure of skill
>> than before.
>
> How would a vouching system cause the measure to be more reliable?
> Wouldn't the hiring manager have to know the people who were vouching?

My suggestion was an *anonymous* vouching system, as opposed to a
public one. Be the result of the observation "I don't want to rate
people I know, so that they know how I rated them.".

Microsoft certifications and the like are not worth much at all in my
humble experience.

>
>>
>> Of course with technique-based skill-ratings, the interpreter of the
>> information would have to be quite skilled him/herself, just to be
>> able to understand what he/she is reading.
>
> That is a point that is often over-looked.
>
>>
>>>
>>> 2) What is the benefit of a vouching system?
>>> When the idea of vouching or certification or trust comes up, as it
>>> has a few times before, it tends to jump over the initial question of
>>> 'why?' So, supposing there was a vouching system, what would you seek
>>> to gain from it? What benefit would it give to you, as a developer
>>> seeking to improve yourself?
>>
>> Reliable certification is an industry problem for sure. So the benefit
>> would be throughout the industry. Those that want higher quality would
>> have a place to look.
>
> Why is reliable certification an industry problem? How would vouching
> ensure 'higher quality?'  I wonder how many people out there don't
> want 'higher quality'

Probably 90% of the software industry does *not* want higher quality,
but are satisfied with shrink-wrap-crap (in my eyes). My view is also
that we live in an industry thriving even though the general economy
is in a decline, or at least standstill.

But that does not mean there isn't a real need for higher-quality
software, and a market for it. And thus a market for efficient ways to
find software craftsmen, which as I perceive it, aim for
higher-than-average-quality software formulation.

I'm not suggesting an anonymous vouching does ensure higher quality. I
wanted to open up for a discussion if it was an improvement enough to
be of use, compared to public vouching systems.

If the systems mentioned on this list so far (wevouchfor and David
Starrs system, what was it called?) are alread anonymous, I guess this
topic does not bring anything new to the discussion.

>
>>> Now, suppose, as the Olof originally asked, we start including
>>> specific things: languages, techniques, processes. What good does this
>>> do for a client? What good does this do for a community member? Would
>>> a client actually know how to look through those categories to find
>>> what they need? As a community member, if I looked through them, what
>>> would I gain?
>>
>> As I mentioned above - a non-technical client would really need
>> expertise to understand the rating.
>
> So, unless the person was technical, having anything more than just
> 'I, Corey, vouch for this person' isn't that useful.

Nope, unless the system could give some kind of "destilled" or
"reduced" information, readable by non-expertise. I doubt it though.

>
> Isn't that what Laurent's is?

If Laurents' system is an anonymous vouching system, I guess it is?


>
>
> -Corey
>
> --
> http://www.coreyhaines.com
> The Internet's Premiere source of information about Corey Haines
>

Steven Smith

unread,
Jan 20, 2010, 8:42:47 PM1/20/10
to software_cr...@googlegroups.com
Again with PageRank, the number of votes/vouches you have dilutes your credibility that you confer to with each vote...

Steve


--
You received this message because you are subscribed to the Google Groups "software_craftsmanship" group.
To post to this group, send email to software_cr...@googlegroups.com.
To unsubscribe from this group, send email to software_craftsma...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/software_craftsmanship?hl=en.



Esko Luontola

unread,
Jan 21, 2010, 7:04:24 AM1/21/10
to software_craftsmanship
On Jan 20, 10:07 pm, Olof Bjarnason <olof.bjarna...@gmail.com> wrote:
> I guess the goal of such a vouching system would be to be a better
> system than certifications has been traditionally. So that
> managers/those with the money can have more reliable measure of skill
> than before.

If that is the goal, then would a solution be a better interview
process?

That goal has the assumption, that currently managers can not reliably
measure the skill of an interview candidate. This leads to the
question - why? What is wrong with the way that technical people are
typically interviewed?

If we would have a list of things that do work and don't work in an
interview, would that help the managers to more reliably measure the
skills? Or is it impossible to measure somebody's skills in an
interview?

If technical skills are required to estimate the technical skills of
someone else, but the company which is hiring people does not have
any, then could the interviewing be done by some consulting company
which has the skills to evaluate the candidates reliably?

David Harvey

unread,
Jan 21, 2010, 7:34:00 AM1/21/10
to software_craftsmanship
>>If that is the goal, then would a solution be a better interview
>>process?

Solved in some (I'm not sure it's many) companies by having candidates come in and work with the team for a half- or full day, on real code. Only works if the team has the final say (what manager would hire someone over the advice of their team? On second thoughts...).
------------------
David Harvey
www.teamsandtechnology.com
www.cateams.com
@david_harvey


2010/1/21 Esko Luontola <esko.l...@gmail.com>

Olof Bjarnason

unread,
Jan 21, 2010, 7:40:31 AM1/21/10
to software_cr...@googlegroups.com
2010/1/21 Esko Luontola <esko.l...@gmail.com>:

> On Jan 20, 10:07 pm, Olof Bjarnason <olof.bjarna...@gmail.com> wrote:
>> I guess the goal of such a vouching system would be to be a better
>> system than certifications has been traditionally. So that
>> managers/those with the money can have more reliable measure of skill
>> than before.
>
> If that is the goal, then would a solution be a better interview
> process?

Well a better interview process would be for developers to pair with
each interviewee to make a human judgement.

That is something I would do if I were to hire - but it is
time-consuming. And the "promise" of a vouching system would be to
bring down the number of such resource intensive interviews needed to
find what you are looking for.

I'm leaving this topic for the moment - I don't think we have more to
discuss right now.

>
> That goal has the assumption, that currently managers can not reliably
> measure the skill of an interview candidate. This leads to the
> question - why? What is wrong with the way that technical people are
> typically interviewed?
>
> If we would have a list of things that do work and don't work in an
> interview, would that help the managers to more reliably measure the
> skills? Or is it impossible to measure somebody's skills in an
> interview?
>
> If technical skills are required to estimate the technical skills of
> someone else, but the company which is hiring people does not have
> any, then could the interviewing be done by some consulting company
> which has the skills to evaluate the candidates reliably?
>

Steven Smith

unread,
Jan 21, 2010, 8:45:14 AM1/21/10
to software_cr...@googlegroups.com
This is exactly the approach we take.  Interviewees spend most of their time pairing with team members.  It give both sides a much better idea of realistic expectations.

Steve

Cory Foy

unread,
Jan 21, 2010, 9:51:23 AM1/21/10
to software_cr...@googlegroups.com
Hi All,

There's a very important point I see that comes up time and time again
in discussions around vouching, or certification, and that's this:

Corey Haines wrote:
> 1) What is the goal of a vouching system?

To rephrase Corey's question, what are we trying to solve?

As an independent consultant, I always look for new ways to get the word
out there about what I do and who I am.

As a company, like perhaps 8th Light or Obtiva, they may want to be able
to show the caliber of their craftsman.

As a company looking to hire a company, they may want to check to see
the references of the employees working for the company.

As a company wanting to hire developers, they may want to be able to see
whether the claims made by the candidate are backed up with actual
experience.

But it seems like, to me, the focus is always on that last line - the
non-agile organization looking to bring people in. After all, if they
were involved in the community at all, they would already know who many
of us were.

But, none of us here /run/ a company like that. So I don't see how we
can effectively create a system of vouching, recommendations or
certifications that would meet their needs.

--
Cory Foy
http://www.coryfoy.com
http://twitter.com/cory_foy

James Martin

unread,
Jan 25, 2010, 12:58:54 AM1/25/10
to software_cr...@googlegroups.com
On Fri, Jan 22, 2010 at 1:51 AM, Cory Foy <cory...@gmail.com> wrote:

Corey Haines wrote:
1) What is the goal of a vouching system?

To rephrase Corey's question, what are we trying to solve?

As an independent consultant, I always look for new ways to get the word out there about what I do and who I am.

As a company, like perhaps 8th Light or Obtiva, they may want to be able to show the caliber of their craftsman.

As a company looking to hire a company, they may want to check to see the references of the employees working for the company.

As a company wanting to hire developers, they may want to be able to see whether the claims made by the candidate are backed up with actual experience.

But it seems like, to me, the focus is always on that last line - the non-agile organization looking to bring people in. After all, if they were involved in the community at all, they would already know who many of us were.

But, none of us here /run/ a company like that. So I don't see how we can effectively create a system of vouching, recommendations or certifications that would meet their needs.


I personally see a different problem to solve, which is less about commercial opportunity and more about furthering ourselves as aspiring craftsmen and about bolstering the community:

As an aspiring craftsman, I'd like to know who are the people that are well respected by other craftsmen because of something they've actually done, so I know who's shoulders to stand on when I'm learning and honing my craft. Which craftsmen have written influential books that would help me if I'm trying to master BDD? Who's blog should I be reading if I'm trying to improve the cleanliness of my code or my use of the SOLID principles? (OK, OK probably quite obvious examples but you get the idea)

It would be really useful to know who is influencing the community in the various disciplines of the craft. Practically, I imagine a system that ranks people in "disciplines", based on "connections" representing "influence". 

Here's an example: I might say that because I've read Kent Beck's TDD by Example book, that Kent has indirectly influenced me. I make a connection to Kent based on the 'TDD' discipline and the system recognises that as a score for Kent; he's indirectly influenced one person in the TDD discipline. If a number of other people make the same connection, then Kent can be said to be have more influence than others in that discipline and could be seen as a kind of community-expert. This, "one-way street" would be the lowest form of influence accumulation in the system. 

The second kind of connection, would be a recognition of influence between two people. Extending our example; suppose that I had attended a TDD course that Kent ran; I request another connection to Kent based on the fact that he had directly influenced me this time. If Kent agreed that he had indeed taught me something directly about TDD, then the connection for us both would be a stronger one; for Kent, because he had directly influenced someone and for me because of Kent's reputation as a practitioner of TDD with some standing based on connections from others in the system.

There are other factors that could increase the value of a connection. For example, if Kent were connected directly with another influential TDD practitioner, then direct connections from Kent would hold even more weight.

New or aspiring craftsmen could then search for a discipline and see who were the big hitters, in terms of their influence, on the rest of the community.

I mentioned this idea to a couple of people at SCNA last year and it wasn't met with complete ridicule, so maybe there's value in it somewhere! ;)


Hope that made some sense; I probably need to post a couple of diagrams to explain it further.


Thanks,
James.

 

Robert R.

unread,
Jan 30, 2010, 9:51:42 AM1/30/10
to software_craftsmanship
Hi,

... I'm new to this group and very intrigued by the concept of
software craftsmanship. It has the smell of an idea with serious
legs, not to mention sound historical precedence. ("I apprenticed with
Kjetil who builds the best longships in Sognefjord. As a journeyman I
traveled, working with the following masters ...")

James, I love the idea of "ranking" based on how strongly one's
thinking was influenced by whom. I imagine it would give a very useful
indication of what to expect when working with a person. By
comparison, the notion of a ranking system by peers or others seems
oddly terrifying, in a distracting sort of way: What are we trying to
achieve? Work as a team to build better software or try not to be
voted off the island? I think that the notion to be "page ranked"
popularity-contest style would get folks all worked up about the
latter, at the expense of the former. It's understandable because it
might influence peoples' ability to make a living just a little bit
too directly.

Having said that, the "page ranked" popularity-contest style may have
its place: I wonder if one could rank teams instead of individuals? A
common practice in the industry is to throw together people who are
suddenly supposed to work together smoothly to deliver a project.
However, it takes time to build a good team which is truly on top of
its game. It also takes a blend of masters, journeymen and
apprentices: If you have all masters, who is going to challenge them
to explain and question their ideas? A shop full of apprentices with
no one else to ask .... well ....

If there were a ranking (... perhaps with awards, etc....) of entire
teams, it would encourage the practice of giving projects to (...
cross-functional, used to working with each other, etc.) teams instead
of the other way round. You would join a team instead of a project. If
you look at the team members' lines of influence (see above), you
would have a pretty good idea what to expect. The "lines of influence"
would get us into the direction of "lineages" of masters, in the
Eastern sense. Finding a good way to rank entire teams might move us
towards "workshops" along the lines of medieval European craftsman's
guilds, etc.

Interesting times indeed. Love the discussions.

Robert
http://robertblogs.wordpress.com

On Jan 24, 9:58 pm, James Martin <jimmymar...@gmail.com> wrote:

Fred Ballard

unread,
Jan 30, 2010, 1:19:33 PM1/30/10
to software_cr...@googlegroups.com
I love the idea of ranking based on how strongly one's thinking was influenced by whom, too. It's a way to encourage craftsmen to look for influences outside themselves and could lead to some interesting discussions.

(Mathematicians have their Erdös number. It indicated how close you collaborated with him. Erdös had an Erdös number of 0. If you collaborated directly with him you are a 1. If you wrote a paper with that person you are a 2, and so on. Erdös was even more peripatetic than Corey. Erdös had no home and just contacted a fellow mathematician to announce his imminent arrival at the next place in his journey, knowing this person would pick him up and take him in. Could we be moving towards a Haines number? 8^) )

I think ranking individuals is difficult at best, and could degenerate into a popularity contest at worst.

On the other hand, ranking teams does seem easier to do -- their output and effect is usually more readily viewed -- but this too could become which team is more popular than the other.

Fred

On Sat, Jan 30, 2010 at 8:51 AM, Robert R. <rre...@gmail.com> wrote:...

Robert Reppel

unread,
Jan 31, 2010, 8:43:30 PM1/31/10
to software_craftsmanship
Very interesting idea! What would be a measure of "collaborative
distance" among developers .... ?

Tried some storyboarding - Whose thinking and experience is influenced
by whom? - http://robertblogs.wordpress.com/2010/01/31/software-craftsmanship-coding-under-the-influence/
.

Robert


On Jan 30, 10:19 am, Fred Ballard <fredb...@gmail.com> wrote:
> I love the idea of ranking based on how strongly one's thinking was
> influenced by whom, too. It's a way to encourage craftsmen to look for
> influences outside themselves and could lead to some interesting
> discussions.
>

> (Mathematicians have their Erdös <goog_1264817918154>
> number<http://www.oakland.edu/enp/readme/>.


> It indicated how close you collaborated with him. Erdös had an Erdös number
> of 0. If you collaborated directly with him you are a 1. If you wrote a
> paper with that person you are a 2, and so on. Erdös was even more
> peripatetic than Corey. Erdös had no home and just contacted a fellow
> mathematician to announce his imminent arrival at the next place in his
> journey, knowing this person would pick him up and take him in. Could we be
> moving towards a Haines number? 8^) )
>
> I think ranking individuals is difficult at best, and could degenerate into
> a popularity contest at worst.
>
> On the other hand, ranking teams does seem easier to do -- their output and
> effect is usually more readily viewed -- but this too could become which
> team is more popular than the other.
>
> Fred
>

> On Sat, Jan 30, 2010 at 8:51 AM, Robert R. <rrep...@gmail.com> wrote:...

James Martin

unread,
Feb 2, 2010, 5:28:28 AM2/2/10
to software_cr...@googlegroups.com
On Mon, Feb 1, 2010 at 12:43 PM, Robert Reppel <rre...@gmail.com> wrote:
Very interesting idea! What would be a measure of "collaborative
distance" among developers .... ?

Tried some storyboarding - Whose thinking and experience is influenced
by whom? - http://robertblogs.wordpress.com/2010/01/31/software-craftsmanship-coding-under-the-influence/
.
...


Love the storyboard, Robert! Although I've been kicking around this "ranking" idea in my head for a few months but only managed to sketch out some rough diagrams to represent some of the objects and interactions in the system. I love the fact that you've gone to the UI level and started to imagine some functionality!

One concern I had was the likelihood of the system being gamed and turned into a bizzarre popularity contest (no. of twitter followers, anyone?). One way to combat that might be to completely remove the concept of negative influence, such that the external view of the data only reflects the positive influence that we've had on each other.

I hadn't thought of the system applying at a team level, although maybe it would be interesting to allow people to form trusts or groups and see what that does to their sphere of influence. Could be a neat experiment.

The next steps might be to start building a prototype under the public eye (a la The Stickies Project[1]), with contributions from the group and make it a "by craftsmen, for craftsmen" affair.

Interest?


Thanks,
James.


Michael Letterle

unread,
Feb 2, 2010, 1:13:50 PM2/2/10
to software_craftsmanship
I'm not sure about the whole "vouching" idea... but I think THIS is a
wicked cool idea.

On Jan 31, 8:43 pm, Robert Reppel <rrep...@gmail.com> wrote:
> Very interesting idea! What would be a measure of "collaborative
> distance" among developers .... ?
>
> Tried some storyboarding - Whose thinking and experience is influenced

> by whom? -http://robertblogs.wordpress.com/2010/01/31/software-craftsmanship-co...

Robert Reppel

unread,
Feb 3, 2010, 12:04:39 AM2/3/10
to software_craftsmanship
Hi James,

... hadn't thought about folks entering negative influences! A valid
concern indeed. :) I'm all for creating a user experience which
allows for positive influences only. I feel that any such system
which compares folks in some way (influences, ranking, whatever) is
unlikely to succeed unless it's non-threatening and supportive.

I would be interested in contributing to a simple prototype.

Robert


On Feb 2, 2:28 am, James Martin <jimmymar...@gmail.com> wrote:


> On Mon, Feb 1, 2010 at 12:43 PM, Robert Reppel <rrep...@gmail.com> wrote:
> > Very interesting idea! What would be a measure of "collaborative
> > distance" among developers .... ?
>
> > Tried some storyboarding - Whose thinking and experience is influenced
> > by whom? -

> >http://robertblogs.wordpress.com/2010/01/31/software-craftsmanship-co...

Reply all
Reply to author
Forward
0 new messages