InfoQ

Presentation

Recorded at:
Recorded at

Craftsmanship and Ethics

Presented by Robert C. Martin on Feb 12, 2009

Community
Agile
Topics
ethics ,
Programming
Tags
Best Practices ,
JAOO Conference
Summary
In this talk Robert C. Martin outlines the practices used by software craftsmen to maintain their professional ethics. He resolves 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.

Bio
Robert C. Martin (Uncle Bob) has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C++, Java, OO, Patterns, UML, Agile Methodologies, and Extreme Programming.

About the conference
JAOO is the premier European developer conference on software technology, methods and best practices. The conference presents in-depth presentations and tutorials by researchers, engineers and trend-setters in software engineering and technology.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

Enjoyable and enlightening by Neil Ellis Posted Feb 13, 2009 11:36 AM
JavaScript remark by Joe Vano Posted Feb 14, 2009 9:13 AM
Re: JavaScript remark by Paul Beckford Posted Feb 15, 2009 4:20 PM
hmm: could not really watch !!! but will like to by Corku Corku Posted Feb 19, 2009 10:51 AM
Re: hmm: could not really watch !!! but will like to by Amr Elssamadisy Posted Feb 21, 2009 4:15 AM
Re: hmm: could not really watch !!! but will like to by Corku Corku Posted Mar 12, 2009 3:32 AM
Impressive by Jerome St-Pierre Posted Apr 5, 2009 10:05 AM
Problem with the streaming by roberto marchiori Posted Jul 9, 2009 9:56 PM
  1. Back to top

    Enjoyable and enlightening

    Feb 13, 2009 11:36 AM by Neil Ellis

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

  2. Back to top

    JavaScript remark

    Feb 14, 2009 9:13 AM by Joe Vano

    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.

  3. Back to top

    Re: JavaScript remark

    Feb 15, 2009 4:20 PM by Paul Beckford

    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.

  4. Back to top

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

    Feb 19, 2009 10:51 AM by Corku Corku

    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!

  5. Back to top

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

    Feb 21, 2009 4:15 AM by Amr Elssamadisy

    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?

  6. 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

  7. Back to top

    Impressive

    Apr 5, 2009 10:05 AM by Jerome St-Pierre

    "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.

  8. Back to top

    Problem with the streaming

    Jul 9, 2009 9:56 PM by roberto marchiori

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

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.