Barnum Statements

13 views
Skip to first unread message

Jason Gorman

unread,
Dec 16, 2008, 2:48:15 AM12/16/08
to software_craftsmanship
So I've been revisiting lots of charters, manifestos, pledges and
wotnot looking for inspiration, and when I see so many in such a short
space of time, I can't help noticing how many of them seem to comprise
mostly of Barnum statements (that is, statements that most people will
think accurately apply to them).

Are there folk out there who read "I take care over the quality of my
work", for example, and think "nope, that's not me"?

Jason Gorman
http://www.softwarecraftsmanship.org.uk
Deadline for Session Proposals - Jan 1st

Adewale Oshineye

unread,
Dec 16, 2008, 3:06:27 AM12/16/08
to software_cr...@googlegroups.com
One of the important tests for any statement of values is whether a
reasonable person could reasonably disagree with it.
At XPDay one of the participants in one of my sessions said that he
valued the idea of quality so much that he would rather quit a job
than ship poor quality software. His value statement "I will quit
rather than lower my standards" is useful precisely because a
reasonable person can say "I am prepared to _temporarily_ lower my
standards in order to try influencing others to raise their standards
and to avoid endangering my family's income until I've found an
alternative."

2008/12/16 Jason Gorman <goo...@parlezuml.com>:

Enrique Comba Riepenhausen

unread,
Dec 16, 2008, 3:12:47 AM12/16/08
to software_cr...@googlegroups.com
Sadly there are many people like than in this industry.
People have come to the software development industry from many areas,
and many of them driven by the promise of 'easy' money. The boom of
software development in recent years flooded the market with people
that just wanted to be part of something in order to make some
financial gain (see body shops like Accenture, etc).

I personally think it is fairly difficult to find people really
engaged into their work with the attitude of learning and being really
responsible (and accountable) about their work.

There is on the other hand a lot of mismanagement that leads to that
kind of thinking too and those who care leave one place in order to
find a better manager in another place.

Caring really about ones work has deeper implications that just doing
it. You care about your work as you care about anything (or mostly
anything) you do in life.

Enrique

2008/12/16 Jason Gorman <goo...@parlezuml.com>:
--
Enrique Comba Riepenhausen
[@]: <eco...@gmail.com>
[w]: <http://www.nexwerk.com>

Paul Pagel

unread,
Dec 16, 2008, 8:58:43 AM12/16/08
to software_cr...@googlegroups.com
I like the way the person in your talk said it, however that is result based.  I think a statement of value is what sets up that kind of result based situational thinking.

I don't like " whether a reasonable person could reasonably disagree with it" as a test for acceptance into a statement of value.  It adds an antagonist spin I am not comfortable with.  I don't think that is the only way to make them unambiguous though.  Some of them, if they are properly worded, just fit.

For example, Brian Marick suggested, "As an aspiring craftsman, we believe the code is also an end, not just a means."

Which fits the mold of a charter/manifesto/etc. perfectly, IMO.  It isn't a straightforward statement of ambiguous positive value.  Not every developer takes time to design, write tests, and clean their code.  There were many points early in my career I didn't do this.  It was through studying under other craftsmen during my apprenticeship that I learned that the code isn't just what executes my programs, it is my body of work to my fellow craftsmen.  They read it, copy it, hate it, critique it.  This statement captures that value, and if you are writing crappy code to get something out in time, you can not ethically say you are treating the code as an end in itself. 

Paul Pagel

Scott Pfister

unread,
Dec 16, 2008, 10:09:22 AM12/16/08
to software_craftsmanship
As someone who might resemble that statement
("...temporarily...compromising some of one's values...for one's
family..."), I also see the negative implication in that test. At the
same time, it does seem to be an interesting way to identify "value
statements" that contribute little to the discussion. Everyone agrees
pretty quickly on statements like "I care about the quality of my
work" -- and when too many aspects of one's manifesto/charter/
philosophy fall into that bucket, the statements are easily co-opted
by self-interested individuals and they lose their meaning.

Of course -- if the purpose of a "Craftsmanship Manifesto" is merely
to provide _internal guidance_ to those of us looking to better
understand and grow our skills, that doesn't matter -- it has meaning
to us, and so benefits us. If the purpose is to provide _external
guidance_ where Software Craftsmanship has particular meaning to non-
practitioners (managers, clients, etc.), it become much more
important.

FWIW, I also very much like Brian's added clause "...the code is also
an end, not just a means..." It speaks to me as a practitioner who
does stumble when the "work" is done (tests pass, feature complete),
yet the code still doesn't quite "look right".

I'd like to see some variant of Uncle Bob's 'Boy Scout Principle'
added as well: "I will leave any code on which I work in a higher
state of quality than before I touched it".

--Scott

Eric Smith

unread,
Dec 16, 2008, 11:17:44 AM12/16/08
to software_cr...@googlegroups.com
Scott has sort of triggered what I've been kicking around in my head for the last day or two.  I feel the Craftsmanship manifesto needs to be a statement to our fellow developers out in the software wilderness that they can look at and see they are not alone.  What we have is beginning to capture that.  There's a second goal, at least in my mind, and it's aimed right at developers like Scott, aspiring Craftsman who have been forced (or feel forced - I think both happen) to temporarily lower standards.  They also need something that defends them against the people who attempt to lower their standards.  That same document that told them, "You are not alone," should also give them a way to say "I will not do this." 

In that vein I've been kicking around the quality idea in the manifesto.  The problem with a statement like "I will quit my job" is that it's just not practical.  The streets would be overloaded with Motorola engineers holding "Will code for food" signs.  However I do think there needs to be a strong value statement about quality, something strident that a developer can point to and say "I'm not calling this done because my professional ethics say no!"  The problem is the best statement I can come up with goes like this:

As an aspiring Craftsman, I will not write sh**ty code to meet an arbitrary f*ing deadline.

It's obviously not right, but it's the most direct way of saying what I mean, and it's not as Jason points out a Barnum statement.  The second best I can come up with is 

As a Craftsman I will not sacrifice quality for timely delivery.

The problem with that statement is it implies a Craftsman doesn't care for timely delivery, which is definitely not the case.  It also doesn't capture the definitiveness of a statement like, "Do no harm".  That's an excellent statement, and what I'm looking for in a quality statement, but I'm missing the mark.  Something in between would work well.

-Eric, who feels the need to point out his opinions are his own and not those of 8th Light.
Reply all
Reply to author
Forward
0 new messages