sfeldman.NET

.NET, code, personal thoughts

Building Software vs. Building a House

Found this great excerpt in a book:

Principles are guiding ideas and insights about a discipline, while practices are what you actually do to carry out principles. Principles are universal, but it is not always easy to see how they apply to particular environments. Practices, on the other hand, give specific guidance on what to do, but they need to be adapted to the domain. We believe that there is no such thing as a "best" practice; practices must take context into account. In fact, the problems that arise when applying metaphors from other disciplines to software development are often the result of trying to transfer the practices rather than the principles of the other discipline.

So true. How many times you’ve heard software development compared to constructions or any other discipline?

Published Thursday, June 25, 2009 7:49 AM by Sean Feldman
Filed under:

Comments

# re: Building Software vs. Building a House@ Friday, June 26, 2009 4:20 AM

True indeed! More often than not when explaining that building the infamous house or bridge is not directly applicable to software development, I get blank stares from other developers. They once heard the comparison, liked it, and have never thought any further.

B.t.w. I'm curious: what's the book title?

# re: Building Software vs. Building a House@ Friday, June 26, 2009 6:33 AM

@Arjan,

I am not done with the book and will review it later, but the name is "Lean Software Development: An Agile Toolkit" by Mary and Tom Poppendieck. Very good one.

# Daily Links for Sunday, June 28th, 2009@ Sunday, June 28, 2009 7:41 AM

Pingback from  Daily Links for Sunday, June 28th, 2009

# re: Building Software vs. Building a House@ Tuesday, June 30, 2009 9:38 AM

A good question to ask is that where all the principles come from?  Principles come from practices.  

by jiang

# re: Building Software vs. Building a House@ Thursday, July 09, 2009 1:23 AM

@jiang,

sorry to disappoint you, but you are wrong. Principles are IDEAS and INSIGHTS, practises are the ways to implement principles UNIQUELY to a particular field. Principle is "Quality product has always a better customer satisfaction", practises of achieving a quality product is different between software and constructions. You can't claim that from construction practises you will get the principles for software. It is not commutative.

The idea that you failed to understand is that, unfortunately, many do the both ways analogy, confusing apples and oranges.

PS: if all of your comments are nothing but negating what I post, what's the point of publishing your comments? Argue just for the sake of argue.

# re: Building Software vs. Building a House@ Tuesday, July 14, 2009 10:48 AM

"Principles are IDEAS and INSIGHTS"

Where do those ideas and insights come from? That's my question.  I see this as practice->generalization->principles->more practice->more generalization->better principles.  Is it not correct?

Not trying to negate your post.  Just trying to understand how things should work.

by jiang

# re: Building Software vs. Building a House@ Tuesday, July 14, 2009 11:48 AM

@jiang,

I think you are missing the point - the point was was the "context". You cannot take the software context and apply it/to it another field context. The only attempt I have seen that was (IMHO) successful, was Lean Manufacturing concepts "translated" into Software Development.

As for this post - it's closed to comments. Thank you.