The Developer's Dilemma

Posted at 3:08 PM on 25 March 2008

As part of what I do to keep myself out of mischief, I enjoy developing small and interesting little projects in the form of computer programs, applications, assorted tinkerings and similar. You get the idea.

But sometimes, it takes a little while to get up to speed on certain things, especially when they are new. Whilst the internet is packed full of delightful documentation and excellent examples, actually finding them can represent a bit of a challenge. Enough of a challenge such that it can be quite difficult to get started. Each task deteriorates into an ever-increasing cycle of yak shaving.

Yak shaving, for those unfamiliar with the concept, describes a process of getting from 'a' to 'b'. In theory, this process should be quite straightforward. However, once on the path, you find yourself in an ever-incresing twisty mess of bizarre detours, all interdependent and culminating in a 'what the hell am I doing this for?' moment when the original goal is but a distant memory.

This is a particularly commonplace in the cycle of software development.

For instance, let's just say I want to develop a simple application for my iPhone. I've already written a simple prototype that works on a web page, but having it as a proper application would be handy. That's the scenario. Should be simple, huh?

So. In order to build iPhone applications, I need to download the development kit from Apple. In order to download the development kit from Apple, I need to sign up for the development programme. After I've done that, I need to check my email and wait for my application to be confirmed. I then need to download the kit from apple, after logging in with my new developer details. And then install it on my computer. And then work out how the hell the software works, which means I have to start looking at how to write Objective C. Oh, and Cocoa. And, erm... where's that documentation? Oh, it assumes you already know how to do X. And Y. Better add those to the list...

It creeps up on you. In theory, all software development is the same. Conceptually, it's just moving small amounts of information around, and deciding what to do if that bit looks like this or that.

But in order to get to that part takes a lot of reading and fiddling about and wondering what a nib file is and where it fits into the general scheme of things.

It's not hard, as such, it's just long winded. And sometimes it feels like life is too short.

And therein lies the dilemma: How much time should be dedicated to the shaving of the yak before saying, 'sod it' and just implementing the whole damned thing as a web application you're 95% to completing in the first place?

Just show me a glimpse of a carrot, damnit. A veritable slip. It'll suffice. Honestly.

(And why did this never seem to be a problem when I was younger? Curse the aging process. Damn you to heck!).

Ahem. Now, what was my point again? I forget...

Ads by Google

Comments on "The Developer's Dilemma"

Be the first to comment on this article

subscribe to the comment feed

Leave a comment:














Remember personal info?







Chris's preferred working environment
About This Site
 
 
Interesting Links
Recent Comments
Site Archives