Be a Craftsman

  • For the past 40 years, for example, we’ve tortured ourselves over our inability to finish a software

    project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business.

    Like I was saying to the client just the other day, "You're practices and procedures stink. Now you want us to come in here and automate what you know is crap. Why?"

    ATBCharles Kincaid

  • Steve Jones - Editor (8/3/2009)


    Interesting you mention cooking. 37 signals talks about inspirations from chef's and recently Andy Warren started cooking a bit and said it gave him an interesting perspective. Perhaps that should be something we get more developers to try!

    As an experienced cook, I like the comparison. (though I like the craftsman term, too) Both cooking well and software require understanding how the ingredients/parts work, and how to get them to work together. Both involve some drudgery and pain (peeling onions en masse, shucking oysters, etc for cooking examples- you know the software ones), and to be really good at it, you have to care about it, and plan carefully before you start so it all comes together at the right time. At the same time, there's room for experimentation and new techniques to learn all the time. And the best at either craft know there's always something new to learn.

  • I know this takes the topic a bit off course but I couldn't resist since it is in regards to "professionals".

    Craftsman is a highly respected brand of tool, and perhaps even well brewed brand of beer.

    I don't know about the beer but as for Craftsman tools I believe most professionals, those in the trades, will tell you they are for DIYers and anyone at home.

    Professionals are going to have brands like:

    MAC

    Snapon

    Milwaukee

    Bosch

    Dewalt

    Porter Cable

    Makita

    ... and so

    I own Craftsman tools but I don't think they are as much for the professional as they are for the ordinary DIY guy. They probably are not that highly respected by the professionals.

  • I agree that the craftsman approach is probably the best mind set from which to approach software development. The problem is that the demand for software is so high that the supply of people capable of being craftsman is far short of demand. This has driven the cost of developers up and lured less capable people into the field.

    Maybe in the future the development tools will become sophisticated enough to prevent marginal developers from developing “crapware”, but in the short term the production of crap will far outstrip the production of well-crafted code.

  • For those of us who have been on the receiving end of metrics (which is to say all of us), it's easy to see a sense of hollowness in the whole exercise. I remember thinking many times, such people who monitor metrics exist only to measure. Metrics can never capture all ways of managing a project or measuring a project's success or failure. This is the same as saying metrics create their own reality. People working under such environments work for metrics even at the expense of losing sight of more important goals. As projects get larger, this disconnect can get absurd. The ultimate example must be the former Soviet Union, where metrics was their faith. One of their journalist once remarked after it's economic collapse and currency devaluation as a case of how the people pretended to work and the government pretended to pay.

  • I don't know about the beer but as for Craftsman tools I believe most professionals... are going to have brands like:

    Klein! My lineman's pliers, dikes, strippers, and screwdrivers were always Klein. Still are really, but now they're rusting in the old tool-box!

    This has driven the cost of developers up and lured less capable people into the field.

    That's why we need to set up a gatekeeper system like the medical, legal, engineering, maritime, and construction professions do.

  • David Korb (8/3/2009)

    This has driven the cost of developers up and lured less capable people into the field.

    That's why we need to set up a gatekeeper system like the medical, legal, engineering, maritime, and construction professions do.

    Those gatekeeper systems serve mainly to maintain legal monopolies for the benefit of the people already in the profession, with the secondary benefit of providing higher quality professionals.

    I'm not sure that would have much benefit for developers where the technology is changing so rapidly.

  • I think Tom Demarco’s observations suggest another interesting idea aside from software engineering’s vitality. Knowing if a software project is "valuable" or "not so valuable" says much about the whether or not it’s worth considering.

    The "not so valuable" projects by their very nature sport a low ROI. This suggests a possibility of losing money hence the need for tight control. Unfortunately the notions of control and delivering applications remain distant relatives. It would thus seem that projects with a low value might best be left on the drawing board.

    Put another way… if a business does not believe an application will make them a big bundle of money, don’t bother building it.

  • Tom Fischer (8/3/2009)


    Put another way… if a business does not believe an application will make them a big bundle of money, don’t bother building it.

    Demarco's focus seems to be on when to manage through metrics and not whether to take a project based on ROI.

  • Those gatekeeper systems serve mainly to maintain legal monopolies for the benefit of the people already in the profession, with the secondary benefit of providing higher quality professionals.

    I'm not sure that would have much benefit for developers where the technology is changing so rapidly.

    A gatekeeper system will come about whether you or I like it or not. We can take charge now and begin crafting a decent one, or we can be do-nothing lazy bums. If the latter, it will only take longer to come about, probably end up crappy and only serve the needs of corporations.

  • David Korb (8/3/2009)


    I don't know about the beer but as for Craftsman tools I believe most professionals... are going to have brands like:

    Klein! My lineman's pliers, dikes, strippers, and screwdrivers were always Klein. Still are really, but now they're rusting in the old tool-box!

    This has driven the cost of developers up and lured less capable people into the field.

    That's why we need to set up a gatekeeper system like the medical, legal, engineering, maritime, and construction professions do.

    You mean - go for those wonderful peer review processes that have worked so incredibly well in the Legal and Medical fields? Or - should we go for for the state-run oversight committees?

    As much as they sound good, in my mind those items have been nothing but a massive failure. Over and over, they have managed to show that the peer review fails to sanction anything except for the most egregious of issue (i.e. well past the point where law enforcement should be involved); and oversight committees, well, have to be government run if they wish to maintain their objectivity....

    I actually think the Certs route is pretty good, but even that needs to be vetted to stay honest.

    ----------------------------------------------------------------------------------
    Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?

  • Welcome to modernity, Tom. I've always learned a lot from your books, especially Slack. Glad you've finally turned the corner, too.

    :hehe:

    Software engineering can't be dead, since it was always a myth in the first place, IMNSHO.

    I misplaced my link to the software craftsmanship manifesto, but I'm sure that somebody else already linked it up in a post I didn't read. No? Surprising.

    http://manifesto.softwarecraftsmanship.org/[/url]

  • David Korb (8/3/2009)


    Those gatekeeper systems serve mainly to maintain legal monopolies for the benefit of the people already in the profession, with the secondary benefit of providing higher quality professionals.

    I'm not sure that would have much benefit for developers where the technology is changing so rapidly.

    A gatekeeper system will come about whether you or I like it or not. We can take charge now and begin crafting a decent one, or we can be do-nothing lazy bums. If the latter, it will only take longer to come about, probably end up crappy and only serve the needs of corporations.

    No, gatekeeper systems for programmers (and other developers) is a horribly bad idea. Quite aside from "herding cats" such systems inevitablly lead to exorbitant costs of products, training, and all the rest. Not to mention a profession like ours constantly morphs.

    You want to see vicious? Try to enforce a programming union/guild/certification system on the development community. It will never occur and anyone who tries will either find themselves preaching in the wilderness or actively destroyed (depending on their influence).

    There's a *reason* geeks like us are seen as loners and iconoclasts...

  • roger.plowman (8/3/2009)


    There's a *reason* geeks like us are seen as loners and iconoclasts...

    Is it because we use $20 words like "iconoclast"? Or did you just mean the pervasive, undiagnosed autism and other personality disorders? 😉

    I tend to agree with you; however, not just because of my iconoclast nature and unwillingness to unionize... It's also the immovable object inherent in our industry: CHANGE. Anybody who tries to develop standards is doomed to be lagging behind the leading edge, much like the military always seems doomed to be training to fight the last war.

    Whatever it is that we'll be paid to do, create, invent or manage 20 years from now, it doesn't exist YET... Fortunately, all the people who can't handle the Technology Learning Treadmill™ are getting off all the time. There is never likely to be enough people who love the run to drive down the price of geeks with current skills.

  • Adam Gojdas (8/3/2009)


    I know this takes the topic a bit off course but I couldn't resist since it is in regards to "professionals".

    Craftsman is a highly respected brand of tool, and perhaps even well brewed brand of beer.

    I don't know about the beer but as for Craftsman tools I believe most professionals, those in the trades, will tell you they are for DIYers and anyone at home.

    Professionals are going to have brands like:

    MAC

    Snapon

    Milwaukee

    Bosch

    Dewalt

    Porter Cable

    Makita

    ... and so

    I own Craftsman tools but I don't think they are as much for the professional as they are for the ordinary DIY guy. They probably are not that highly respected by the professionals.

    Craftsman tools aren't for pros. They're for people who would probably hurt themselves if they ever used a real power drill. I've done a lot of woodworking, and never met a real craftsman yet who considered that line of toys as "respectable".

    But that doesn't detract from Steve's point. It might even add a level of meaning to it that applies to a large number of the devs I've worked with.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

Viewing 15 posts - 16 through 30 (of 43 total)

You must be logged in to reply to this topic. Login to reply