Object Mentor Blog: Sufficient Design means Damned Good Design. http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design en-us 40 Sufficient Design means Damned Good Design. <p>@JoshuaKerievsky wrote a <a href="https://elearning.industriallogic.com/gh/submit?Action=PageAction&#38;album=blog2009&#38;path=blog2009/2010/sufficientDesign&#38;devLanguage=Java">blog</a> entitled &#8220;Sufficient Design&#8221;.</p> <p>Josh makes this point:</p> <blockquote> <p>&#8216;Yet some programmers argue that the software design quality of every last piece of code ought to be as high as possible. &#8220;Produce clean code or you are not a software craftsman!&#8221;&#8217;</p> </blockquote> <p>He goes on to say:</p> <blockquote> <p>&#8220;Yet ultimately the craftsmanship advice fails to consider simple economics: If you take the time to craft code of little or moderate value to users, you&#8217;re wasting time and money.&#8221;</p> </blockquote> <p>Now this sounds like heresy, and I can imagine that software craftsmanship supporters (like me) are ready to storm the halls of Industrial Logic and string the blighter up by his toenails!</p> <p>But hold on there craftsmen, don&#8217;t get the pitchforks out yet. Look at the scenario that Josh describes. It&#8217;s quite revealing.</p> <p>Josh&#8217;s example of &#8220;not being a craftsman&#8221; is his niggling worry over a function that returns a string but in one derivative case ought to return a void.</p> <p>Horrors! Horrors! He left a bit of evolved cruft in the design! Revoke his craftsman license and sick the dogs on him!</p> <p>Ah, but wait. He also says that he spent a half-day trying to refactor this into a better shape but eventually had to give up.</p> <p>The fool! The nincompoop! The anti-craftsman! A pox on him and all his ilk!</p> <hr> <p>OK, enough hyperbole. It seems to me that Josh was behaving exactly as a craftsman should. He was worrying about exactly the kinds of things a craftsman ought to worry about. He was making the kinds of pragmatic decisions a craftsman ought to make. He was not leaving a huge mess in the system and rushing on to the next feature to implement. Instead he was taking care of his code. The fact that he put so much energy, time, and thought into such a small issue as an inconsistent return type speaks volumes for Josh&#8217;s integrity as a software craftsman.</p> <p>So, as far as Josh Kerievsky is concerned &#8220;Sufficient Design&#8221; is &#8220;Pretty Damned Good Design&#8221;.</p> <p>Look, all our software will have little tiny warts. There&#8217;s no such thing as a perfect system. Craftsmen like Josh work hard to keep those warts as small as possible, and to sequester them into parts of the system where they can do the least harm.</p> <p>So the only aspect of Josh&#8217;s post that I disagree with is his contention that the &#8220;craftsman&#8221; message is one of unrelenting perfection. Craftsmen are first and foremost pragmatists. They seek very high quality code; but they are not so consumed with perfection that they make foolish economic tradeoffs.</p> Wed, 28 Apr 2010 18:02:10 -0500 urn:uuid:7af1f4ce-c8d6-40c7-aa72-57d9c40f32be Uncle Bob http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design Uncle Bob's Blatherings Software Craftsmanship "Sufficient Design means Damned Good Design." by Om Sai Toys <p>hey! that&#8217;s a great article and i quite very happy to read it so keep posting and sharing your idea with us.</p> Sun, 22 Jul 2012 05:55:50 -0500 urn:uuid:bd464420-a0c7-4bd2-8ca0-bc9f41fe77bd http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-235098 "Sufficient Design means Damned Good Design." by Om Sai Toys <p>Probably the best post I&#8217;ve read so far this year. I find a new resource. Great stuff guys. keep posting</p> Sun, 22 Jul 2012 05:51:57 -0500 urn:uuid:ad8bafe4-2746-40ff-a23a-14698d3344cf http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-235097 "Sufficient Design means Damned Good Design." by kaftan dresses <p>It&#8217;s great stuff. This is a really excellent read for me. Must agree that you are one of the coolest bloggers I ever saw</p> Tue, 26 Jun 2012 06:11:15 -0500 urn:uuid:051609db-ec51-4eef-9ee9-07ef2aaa00ad http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-231571 "Sufficient Design means Damned Good Design." by Visit US <p>Thanks for sharing your insights from a different point of view.</p> Tue, 26 Jun 2012 05:51:22 -0500 urn:uuid:928afcc2-2f6a-4b07-a388-6025b52a9a1d http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-231564 "Sufficient Design means Damned Good Design." by http://www.nuvodev.com/ <p>I really enjoyed this site. This is such a Great resource that you are providing and you give it away for free. It gives in depth information. Thanks for this valuable information.</p> Tue, 26 Jun 2012 05:01:03 -0500 urn:uuid:6c0baa55-92d1-42a5-bdbf-5b40f89be3aa http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-231510 "Sufficient Design means Damned Good Design." by www.kickbackwithkava.com <p>I say this post is really interesting!Got what you are trying to say here.Very impressive and really good information.Thanks for sharing.</p> Mon, 11 Jun 2012 06:41:42 -0500 urn:uuid:0482b3a1-71d7-41b8-8fd5-62d9ca4b9dc5 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-228956 "Sufficient Design means Damned Good Design." by Slugger's Dugout <p>I see where you come from.I love the taste of creation.You have such great ideas and i really appreciate everything here.Keep moving with the great work!</p> Mon, 11 Jun 2012 06:25:11 -0500 urn:uuid:20913f8f-672f-4d1c-9c0f-56e8f44d80ee http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-228953 "Sufficient Design means Damned Good Design." by lelom <p>Numerous people during the stadium or by seeing the reside telecast will attracted through the skillful supreme superstar as well as through <a href="http://www.cheap-hats-caps.com/new-orleans-hornets-hat-9fifty-snapback-blackred-p-3014.html" rel="nofollow">the fitted hats</a> on their heads.</p> Wed, 06 Jun 2012 06:53:16 -0500 urn:uuid:fa1c16ad-14d5-4c53-b10a-f3243bd39d0d http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-228126 "Sufficient Design means Damned Good Design." by Plumber in Miami <p>All I can say is wow! I really feel you’ve made valid and interesting points here and I concur. The difference between a good writer and a great writer is presentation. You’re a great writer.</p> Fri, 18 May 2012 05:28:22 -0500 urn:uuid:34178d74-516b-48e3-a3d3-ddba9505a117 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225249 "Sufficient Design means Damned Good Design." by bullet proof vest <p>I wish I had your talent and ability to research and write. I can only aspire to write articles like this. You have my attention with this content. Thank you.</p> Fri, 18 May 2012 05:25:27 -0500 urn:uuid:0842e3c9-46e0-44da-a54c-7fa8e2edda18 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225248 "Sufficient Design means Damned Good Design." by master in education <p>I like your presentation and agree with much of this information. You kept my attention throughout the whole article, and that’s a task. Thank you.</p> Fri, 18 May 2012 05:22:53 -0500 urn:uuid:bb387c40-76bb-4cb3-82e7-a79d6e8ab06e http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225247 "Sufficient Design means Damned Good Design." by blood pressure monitors <p>Your information is really great. I like this article. You have given rise to many points that I agree with and have enjoyed reviewing. You have a lot of really good information in this article.</p> Fri, 18 May 2012 05:11:57 -0500 urn:uuid:9174baa4-c66c-4eee-ad43-a5b8028f26b0 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225243 "Sufficient Design means Damned Good Design." by furniture stores in memphis tn <p>I don’t make it a habit to make comments on many articles, but this one deserves attention. I agree with the data you have written so eloquently here. Thank you.</p> Fri, 18 May 2012 05:10:45 -0500 urn:uuid:e27af3fa-777d-497f-9864-a2da3ca32ab2 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225241 "Sufficient Design means Damned Good Design." by public administration degree <p>You are obviously very good at gathering data and writing it in clear terms for your readers. I like your unique take on this topic and I agree with you on a lot of it.</p> Fri, 18 May 2012 05:07:16 -0500 urn:uuid:bbbba4ad-45e0-42f8-9225-ab1ac5cc0332 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225240 "Sufficient Design means Damned Good Design." by leadership classes <p>This is an informative article on this subject and I really enjoyed the read. My regards and appreciation to the writer of this amazing material.</p> Fri, 18 May 2012 05:04:45 -0500 urn:uuid:bdaf565d-6d5c-4148-badc-8aaeb64affca http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-225239 "Sufficient Design means Damned Good Design." by bespoke kitchens <p>Your article shows lots of talent in this area and I hope to see more work from you in the future. I will show my fellow colleagues this well-written content.</p> Mon, 14 May 2012 04:51:57 -0500 urn:uuid:a2d44985-7cd4-45bb-9917-eca8914d86d2 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224299 "Sufficient Design means Damned Good Design." by used forklifts <p>I&#8217;m normally not the kind of person to post my opinion on people&#8217;s blog posts, but for your write up I just needed to do it. I have been cruising in your blog a lot nowadays and I&#8217;m super impressed, I think you might really emerge as one of the main opinions for your market. :)</p> Mon, 14 May 2012 04:27:18 -0500 urn:uuid:d9ad5298-49f9-4de8-bae9-2dbb0de32168 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224266 "Sufficient Design means Damned Good Design." by frameless glass shower doors <p>Thanks for posting this info. I just want to let you know that I just check out your site and I find it very interesting and informative. I can&#8217;t wait to read lots of your posts. :)</p> Mon, 14 May 2012 04:21:08 -0500 urn:uuid:a82d30f4-38e0-4696-8c04-32e909aa7d30 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224263 "Sufficient Design means Damned Good Design." by Pet Cremation Urns <p>I have been looking for content like this for a research project I am working. Thanks very much. :)</p> Mon, 14 May 2012 04:14:05 -0500 urn:uuid:7053a6ba-5a6f-4e41-a096-71f962c3c912 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224256 "Sufficient Design means Damned Good Design." by bladblazer <p>This is like my fifth time stopping by your homepage. You should write more please, this information will help me and others. Try proof reading a couple of times before publishing. Keep writing though. :)</p> Mon, 14 May 2012 04:08:33 -0500 urn:uuid:3e4593f9-5ceb-4301-a41d-e2a6ae9f77bc http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224251 "Sufficient Design means Damned Good Design." by st kilda apartments <p>If you are planning vacation together with your friends and family, this might be the perfect time for it to come across :)</p> Mon, 14 May 2012 04:03:21 -0500 urn:uuid:b5504a4e-6601-4b57-ad2c-a96ef78d7785 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224246 "Sufficient Design means Damned Good Design." by skip bins <p>I have honestly enjoyed reading the information you have shared through this article. I agree on most all points of interest, but I need to consider some with much thought.</p> Mon, 14 May 2012 03:56:18 -0500 urn:uuid:40ba33ee-11e3-4296-80ac-71ea676dafa3 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224242 "Sufficient Design means Damned Good Design." by International Trade Software <p>Reading your article has allowed me to take my plans and change them with ideas I have never seen prior to this. Now I can make what I had already planned, and make it better.</p> Mon, 14 May 2012 03:53:21 -0500 urn:uuid:cb883313-be81-4243-b387-c5e3d50a2ca0 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224240 "Sufficient Design means Damned Good Design." by Caribbean Airlines Reservations <p>This is an outstanding article. Articles like this are uncommon in the online world. I know, because I read a lot of content online. You have contributed valuable, interesting and well-written information on this subject.</p> Mon, 14 May 2012 03:34:13 -0500 urn:uuid:620459fb-0632-412c-a297-566244290683 http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224229 "Sufficient Design means Damned Good Design." by conveyancing quote <p>I cringe when I think of the work you must have done putting this information together. I am glad you did it though and appreciate it. You’ve hit the mark.</p> Mon, 14 May 2012 03:26:19 -0500 urn:uuid:8a4c6fe2-0271-40f6-b734-8183b92f81ad http://blog.objectmentor.com/articles/2010/04/28/sufficient-design-means-damned-good-design#comment-224222