We tried a whole bunch of things, but sharing contacts, managing notes, follow-up reminders, etc. was just too much of a hack to bother with for a two man shop like ours.
On the teams I've worked on at Google, we pretty much take the same approach. The only problem is when you're looking beyond your own team's contacts, and you have to search a few different spreadsheets to find the contact of interest. We've thought about using the API to provide a central search to all of the spreadsheets for that case, which wouldn't be too difficult to do.
I'm sure the real contact management tools are nice, but I also love the beauty and ad-hoc nature of spreadsheets. It's so easy, anyone can do it, and so everyone does do it. Might as well embrace it and build on top.
We just organically added columns as we needed it. That's the magic of using a Spreadsheet :-)
Here are the columns we have (with footnotes):
Name, Email, Company, Role [1], Intro [2], Rep [3], Last Contact Date, Last Contact Notes, Next Action Date [4], Next Action, Other Notes
[1] Profession, job title, info about decision making power, etc.
[2] Who/what/why/when of how we were introduced to this person. Useful if we need to lean on a relationship for follow up.
[3] Which of the co-founders were the primary point of contact for this person. This prevents the human race condition for replying to emails or following up on the next action date.
[4] Only used for soft follow-up values. That is, we periodically check this spreadsheet and handle people in a priority queue style. Hard follow up dates are handled with Google Calendar events & email-based reminders.
Well, this is a step above Excel - because it's hosted and can easily allow multi-user edits, but that's about it. So many small companies do this and I guess I shouldn't knock it. However, I can tell you that it doesn't scale well and will lead to inefficiencies down the road. Many of the open source CRM projects are so easy to get up and running that I would think it is worth the time to do so...but I guess I'm wrong! :-(
Many small companies work thousands or tens of thousands of leads, and this spreadsheet approach simply isn't effective (think direct mailers, etc...) to manage the leads and then orders, and more.
Gotta love the spreadsheet though - it's probably the most popular CRM tool out there. Ugh...
We tried a bunch of other solutions, but the needless complexity and apparent inflexibility was just not worth the time investment to understand and bend to our needs.
We're handling several dozen business contacts this way. Eventually we broke out potential investors into their own spreadsheet. We'll break out potential hires into another. Hopefully customers will overflow the pipeline soon, so then we can re-evaluate solutions then.
In the mean time, I think this is a key lesson for a lot of startups: the path of least resistance is very, very attractive. The world is run on spreadsheets, for a very good reason. In general, they simply get the job done without much fanfare. They might not be ideal, but then again no tool is.
Spreadsheets let me stash some data, slice and dice it, and provide a moderately painless migration route to more specialized tools when necessary.
As far as I'm concerned, every single productivity software product today needs to first solve the problem of "How will we be two orders of magnitude better than Excel/Gmail/Word/PowerPoint/Notepad/Horizontal-Productivity-Tool. Not one order of magnitude: two. That's how much it takes to overcome the activation energy to use something other than the defaults.
Also, realize that if you are a programmer, then you are not normal. Normal people use MS Office for pretty much everything. I've got enough empirical evidence of that to consider it pretty much fact at this point.
So here's what we did:
1) Make a Google spreadsheet
2) Share with the team
3) Add a "follow up" column of dates
4) Sort by that
5) Learn to love the find-in-sheet command
Works great!