Thoughts on “The Iceberg Secret”

by mike on April 9, 2006

Joel Spolsky published an article a few years ago called “The Iceberg Secret, Revealed” that focused on how software is similar to an iceberg. You know how an iceberg is 90% underwater? Basically, the premise is that the same holds true for software – 90% of the programming is unseen or “backend” and 10% is the user interface (actually less if you take bug fixes into account). The secret is that non-programmers don’t know or understand this. I can’t agree with this more. Most users will look at your wireframe or prototype and assume you are almost done, when in fact you probably just quickly threw it together in a matter of hours.

The reason this is so “near and dear” to me is that I’ve been on both sides of the fence. I grew up without a computer and actually didn’t have one until my junior year in college. I only went into CS b/c I needed to get a job and my younger brother was always into computers as a kid. So, in that sense I’m not a traditional hacker or techie – although in undergrad I was hardcore into C / nix programming and I do have a master’s in CS. Go figure. My first few years in a fortune 500 company I spent working towards gaining end-user and business exposure – basically away from pure technology. I was always the guy who could translate the technology to management and users. Whether that be estimating tasks, production support issues, requirements analysis or actual development status. I really enjoyed this aspect of technology, but always found it extremely challenging when trying to figure out what users actually want or need. In most cases, they have no idea and neither does anyone else. The only way to really help these users is for you to understand their domain and day-to-day job function. You need to put yourself in their shoes! The important point here is not what they think the problem is. I have seen many times and been on many development teams where the users or BAs drive the technology solution. This should never happen. The BAs are responsible for figuring out the business requirements – not the design. And forget about the users. They don’t even know what the want. This problem is compounded even further with corporate procedures and politics. Let’s save that for another post. ;)

blog comments powered by Disqus

Previous post: Apple Experience – My PowerBook Broke on Me

Next post: The Mac is Back