BT

InfoQ Homepage News Presentation: Craftsmanship and Ethics

Presentation: Craftsmanship and Ethics

Bookmarks

In this presentation Robert C. Martin (Uncle Bob) asks the question "Do we have a job or a profession?" and answers that we have not had a profession until recently.  A profession is defined and has a history and, until recently, programmers did things "their way".  He makes the argument that Agile has helped us move towards a profession by by introducing discipline in the way we write software.

Some of the disciplines Uncle Bob discusses are:

  • Short iterations (he recommends 1-2 weeks)
  • Incremental improvement
  • Don't wait for definition, participate by building code
  • Abstract away volitilaty
  • No turgid, viscous architectures, therefore Archtects should code
  • Progressive deepening - also known as slices, tracer bullets,
  • Progressive widening - first make it work, then make it right, then make it fast
  • and many others

Uncle Bob addresses the dilemma of speed vs. quality, and mess vs schedule. He provides a set of principles and simple Dos and Don'ts for teams who want to be counted as professional craftsmen.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Enjoyable and enlightening

    by Neil Ellis /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Some painful truths in there, very enjoyable - a lot has been covered before but it's nice to hear it all in one go.

  • JavaScript remark

    by Joe Vano /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I disagree with Uncle Bob's remark about JavaScript when discussing abstracting out volatility. I agree with his principle, but he used a poor example with JavaScript. Obviously he doesn't do heavy web development. There is nothing wrong with JavaScript doing business rules. JavaScript is a _real_ language. It is code. Just separate the JS code into a different file that adds behaviour on top of the model (HTML). That is a clean separation. The cosmetics is defined in the CSS, which is also separated out from the HTML.

  • Re: JavaScript remark

    by Paul Beckford /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi Joe,

    I think what Uncle Bob was referring to was the problem of duplicate business logic in the presentation and the domain model, leading to increased maintenance, or worst still bleeding business logic from the domain model into the presentation. Both approaches sit uneasily with domain driven design, which says that your business logic should sit in a domain model which is separated from infrastructure concerns like I/O and the user interface.

    I agree that Javascript code can be just as clean as with as any other language, but the current demand for Ajax like features in the browser do present a design dilemma.

  • hmm: could not really watch !!! but will like to

    by Corku Corku /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi,
    I have noticed that now and again, someone enquires how they can download the recording, and you always reply no.

    So why don't you make it possible for us in the NOT SOOO ADVANCED WORLDS injoy some of these GEMS? WHY? like WHY?

    Anyway -- it's never beenaa fair world... and you just accentuate that on this OTHERWISE excellent resource.

    big-up Still!

  • Re: hmm: could not really watch !!! but will like to

    by Amr Elssamadisy /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I'm sorry you feel frustrated. Can you tell me more about your problem specifically? Can you not stream the video to watch? Is it blocked from your end, a bandwidth problem, or is there something we can do from our end?

  • Re: hmm: could not really watch !!! but will like to

    by Corku Corku /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    OK..

    Basically, i pay USD40 for about 128k (at least that is what the provider claims) in one them 4th world places with glorious weather and people but crap infrastructure. Now with this bandwidth am almost always unable to watch presentations because of soooo many stop start stop start... till i just get fed up and give up! So what will be ideal is to just download the presentation using my preferred download manager and watch this anywhere (PC, Laptop, PDA ....). Why can't i do that? why do you insist on this streaming tingie? I read many comments on your site about users being unable to watch stuff. Please find a way to make you knowledge GEMS downloadable ... and why not insert advertoria's to monetize your work ala www.dotnetrocks.com / www.dnrtv.com

    Anyway.. BigUP still

  • Impressive

    by Jerome St-Pierre /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    "Our craft is defined" Ah, this is good to hear! I had to watch it twice and it made me feel more serene.

    This gave me hope about our immature software development industry. Only at my previous customer I had the chance to work with experienced XP practitioners for over a year. This was fun and challenging about good design. Before meeting this team I was using these practices as much as I could on my own, just like I am still doing now.

    Fortunately, my new team is willing to start by integrating TDD for our next iteration. They previously weren't but this time it comes from them. It was harsh to get back into the obscure side. I hope one day programmers and managers will get out of school with this kind of mind set.

  • Problem with the streaming

    by roberto marchiori /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I couldn't watch the video after 11 min (approximately). Suddenly the video starts from the beggining.

  • Re: hmm: could not really watch !!! but will like to

    by Golam Rabbi /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi,

    I have the similar bandwidth problem. I have found a good workaround for that. I usually press 'start' and 'pause' immediately after the start. So it starts streaming. I just continue my other works and when good amount of streaming is done then I start it again.

    It would be my pleasure if this start-pause pattern also works for you.

  • I wanna translate it!!!

    by Cassio Landim /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hey administradors!!! Is there some way I could download this video to translate it to brazilian portugues and make it avaliable www.infoq.com/br?
    Please help me.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.