440 karma · joined April 24, 2008
Sometimes I teach the things I know, and sometimes people actually understand what I'm saying.
http://chriszf.posterous.com
It's basically a web version of Delicious Library (not del.icio.us. Think delicious monster, mac fans).
I didn't really launch it per se, so I can't say that it failed, but if I don't have people using/looking at it, I'm finding it hard to convince myself to fix all the egregious bugs.
In comparison, despite jira having a UI that was clearly created by developers, it seems quite dandy for tracking (and logically linking) bugs.
However, the reason everything has been about productivity is because that is the nature of computers, to automate tasks that would be tedious otherwise. This fact hasn't changed, but it seems like no one's addressing the simpler needs before tackling some crazy "It's like facebook, but with movies" startup.
For my address book example, there are always practical matters to consider. Privacy makes the 'social address book' a very tricky proposition. However, the 'address book with a nice interface' just hasn't really been nailed down (to my satisfaction, anyway). It would be hard to argue that such a thing isn't useful or desirable.
Just so there's no pussyfooting here, I'll clarify what my software does, so you can decide whether or not a social aspect is really necessary. It's a web tool that clones the functionality of 'Delicious Library'. It's basically personal inventory software for your media (games, books, movies, etc) and keeping track of who you loan your stuff to. While the capability to browse the libraries of your friends is a given, generalizing that to things like, 'see who else reads the same books' or 'form communities around specific authors' seems a bit of a stretch. Not that they're bad ideas (I wish I had the time to make them happen), but they're really a separate application.
I don't think I've personally encountered that. Plenty of bugs at compile time or during regressions, but nothing where I could even imagine a unit test saving me.
I think the true value of unit tests is documentation. Instead of writing documentation that says, "Hey, this function should do this", you're writing code to do that, which is usually a pretty good idea. Executable documentation is the way to go. It's a very lisp-y idea.
That said, I'm not fond of the author's implication that unit testing will save you from cascading failures and make you a better programmer. He even says it's not a silver bullet, only to turn around and say it's the most magical thing to happen to software productivity since the invention of the keyboard.
It seems to me that the productivity gains are from forcing your developers to actually understand the code they're writing and interfacing with, but personally, I don't think I'd trust or hire someone who wasn't proud enough of their work to do that on their own.