KBD

Keith Devens .com

Monday, October 13, 2008 Flag waving
And if you go too far up, abstraction-wise, you run out of oxygen. Sometimes smart thinkers just don't... – Joel Spolsky
← ongoing · A Phrase I HateClarifying salvation →

Daily link icon Sunday, March 12, 2006

David Heinemeier Hansson on abstraction

David Heinemeier Hansson on abstraction:

The greater the versatility, the higher the abstraction, the less useful for the specifics.

That's an important metaphysical principle in general, and it's exactly the point I made at work on Friday regarding the system we're working on. Can't go "too meta" or you start not saying anything.

Incidentally, this is why I question whether these really expensive "enterprise" CRM systems or CMSs are actually a win for the organization. Whenever a company buys one of these systems, they're not really saving themselves from having to write such a system, they're buying an environment within which to program what they need. So, it's really not a case of "build vs buy", but rather "build vs buy and build".

Ultimately with these systems you wind up with something that's far more complex than your business needs alone dictate, and you have to work within the worldview of the company selling you the software rather than the worldview dictated by your business. Because that's the case, vendors make their systems as general as possible, but that necessarily brings added complexity. So, rather than building a simple system that grows as your business needs dictate, you continually require highly paid consultants (or if you're big enough, full time experts) to program around the system you just paid hundreds of thousands for. I question whether this is a net win.

← ongoing · A Phrase I HateClarifying salvation →

Comments XML gif


Feel free to post a comment below. Please see my comment policy.

Formatting Rules (No HTML):

  • **bold**, *italic*, _underlined_, --strikeout--
  • "text"="url" creates a link, and URLs are auto-highlighted
  • Blockquote: Like e-mail, begin paragraph with > (greater-than sign)
  • Lists: begin paragraph with *,-, or + (unordered), or # (ordered)
  • Code block: ?!code:language=perl|php|sql|javascript|etc.{\n}...{\n}?!/code

:
(will be your IP address if blank)
: (optional)
(Will not be shown on site)

: (optional)
:

October 2008
SunMonTueWedThuFriSat
 1234
567891011
12131415161718
19202122232425
262728293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 7 posts

Recent comments XML

new⇒Spider solitaire

I have now won, at the "Difficult"​level, 186 games of Spider​Solitaire.  I...

75.179.28.113: Oct 13, 9:34am

new⇒Girls, please don't get breast implants

Please, don't marry him.

You​want to get surgery to make​yourself more i...

gigi: Oct 12, 11:47pm

I hate PHP

Elliot Anderson,

Dude!! You the​man! The reverse replacement for​array_u...

Alex Ndungu: Oct 11, 1:35am

Call a function from a string in Python

?!code:
some_object.__getattribute​__('method_name')()
?!/code

is​the s...

Patrick Corcoran: Oct 8, 3:53pm

Sed one-liners

Hi.

I wanted to let you know​that I wrote an article "Famous Sed​One-Lin...

Peteris Krumins: Oct 8, 3:05am

Timesheet Calculator

Hadn't seen it before now, but my​company already uses a time​tracking prog...

Keith: Oct 7, 10:44am

Generated in about 0.181s.

(Used 8 db queries)

mobile phone