Friday, November 13, 2009

Deep thoughts

 

I’ve recently come across some blog posts which resonate with some of my own ideas.  While these particular quotes are not necessarily related to each other they are consistent with a larger theme that I’m trying to develop.  I’ve included the salient excerpts (providing my my own titles).

 

Negative consequence of [design] patterns

One of the biggest challenges with patterns is that people expect them to be a recipe, when in reality they are just a vague formalization of a concept…In my view a pattern should only be used if its positive consequences outweigh its negative consequences. Many patterns, oddly enough, require extra code and/or configuration over what you’d normally write – which is a negative consequence.

– Rocky Lhotka

Why on earth are we doing so many projects that deliver such marginal value?

To understand control’s real role, you need to distinguish between two drastically different kinds of projects:

  • Project A will eventually cost about a million dollars and produce value of around $1.1 million.
  • Project B will eventually cost about a million dollars and produce value of more than $50 million.


What’s immediately apparent is that control is really important for Project A but almost not at all important for Project B. This leads us to the odd conclusion that strict control is something that matters a lot on relatively useless projects and much less on useful projects. It suggests that the more you focus on control, the more likely you’re working on a project that’s striving to deliver something of relatively minor value. To my mind, the question that’s much more important than how to control a software project is, why on earth are we doing so many projects that deliver such marginal value?

– Tom DeMarco

 

The dirty little secret about simple: It’s actually hard to do

The dirty little secret about simple: It’s actually hard to do. That’s why most people make complex stuff. Simple requires deep thought, discipline, and patience – things that many companies lack. That leaves room for you. Do something simpler than your competitors and you’ll win over a lot of people…You can try to win a features arms race by offering everything under the sun. Or you can just focus on a couple of things and do ‘em really well and get people who really love those things to love your product. For little guys, that’s a smarter route.

When you choose that path, you get clarity. Everything is simpler. It’s simpler to explain your product. It’s simpler for people to understand. It’s simpler to change it. It’s simpler to maintain it. It’s simpler to start using it. The ingredients are simpler. The packaging is simpler. Supporting it is simpler. The manual is simpler. Figuring out your message is simpler. And most importantly, succeeding is simpler.

– Matt (37Signals)