Product Management Top Ten

I’ve been asked on a number of occasions by various friends to provide them with some guidance on how to be a good product manager. While I can’t claim to have complete knowledge after only three years in the role, I thought now would be a good time to summarize some of what I’ve learned:

  1. Write things down. If you don’t, you’ll forget the facts or mis-remember them. I recommend that you use a note-taking tool to keep all your customer interactions, meetings, and thoughts organized in one place.
  2. Quantify your decisions, or at least back them up with data. The fastest way to drive to a decision/resolution is to eliminate or minimize the conjecture. Identify what you don’t know, takes steps to get the data you need, and for everything that you can’t get data, call out your assumptions.
  3. Clear a path for others. Share your data and findings – this reduces the organizational duplication of effort and allows the company to build a comprehensive picture of its environment, customers, etc. It also helps build your credibility.
  4. Ignore the technology. Rather that focusing on the feature a customer needs, define the problem the customer needs solved. Focus on the pain that will cause the customer to part with their money.
  5. Learn to write in short, succinct statements. Your value to the organization is primarily derived from your ability to distill large amounts of data into discrete, easily understood units.
  6. Practice presenting. While knowing or understanding the market is important, it’s irrelevant if you can’t explain your thoughts, position, knowledge to others in the organization in a clear and confident manner.
  7. Define and automate processes. The primary purpose of a company is to build order from chaos – without well-defined processes in place, it will be very difficult to build a well-oiled machine.
  8. Circulate. You should know people in every corner of the company or of material importance to the company, not just Products and Engineering. Go talk to customers, sales, support. They know more than you about the problems of the product and the problems that need to be solved.
  9. Be credible. Know what you’re talking about – but also know when you’re out of your depth and need to consult with others for information. Be forthright when you need to gather additional information to respond to a query rather than trying to “wing it”.
  10. Be responsive. Nothing builds credibility like being responsive to queries and requests for assistance from other departments. It also establishes you as the authority for what’s happening in the market, the product, etc. If you’re responsive, people will naturally come to you to not only ask for help, but also make themselves available when you need assistance.

If you need more advice on honing your Product Management skills, I also highly recommend taking one of Pragmatic Marketing’s excellent courses.

Exporting iTunes Playlists to Tivo

This is a little thing that’s been bugging me since we got our TiVo a while back, but I never got around to solving it – exporting my music playlists from iTunes to TiVo. TiVo’s jukebox interface is simply horrendous, so playlists are an absolute must, unless you like scrolling through pages of your music collection. iTunes makes matters worse in that it doesn’t allow you to export M3U-formatted playlists, the format TiVo requires.

Sigh. A little shell scripting and awk is all that’s required to resolve this problem in short order. Here’s an awk script called m3u-ify.awk to convert an iTunes playlist (exported as plaintext) to an M3U playlist:


BEGIN {
FS = "\t"
print "#EXTM3U"
}
{
if (match($27, /\.mp3/))
{
time = $8
name = $27
location = $27

# Figure out the location from the absolute location
# that iTunes exports. Note that we remove the '- ' from
# the location, which iTunes seems to add erroneously.
# Using 'sub' is not ideal, but gensub seems flakey in
# my version of gawk, otherwise I'd use the following:
# location = gensub(/D:\\Music\\\(.*\\.*\\[0-9]*\) -\(.*\)\.mp3/, "\\1\\2", "g", location)
sub(/D:\\Music\\/, "", location)
sub(/ - /, " ", location)

# Find the name of the song - this regex is giving
# me problems in Cygwin with gawk, so I coded an
# alternate way to get to the normalized song name
# name = gensub(/D:\\Music\\.*\\.*\\[0-9]* - \(.*\)\.mp3/, "\\1", "g", name)
sub(/D:\\Music\\.*\\.*\\/, "", name)
sub(/\.mp3/, "", name)
sub(/[0-9]* - /, "", name)

print "#EXTINF:"time","name
print location
}
}

Note that my music collection is located in D:\Music (which needs to be stripped out of the file location to create the M3U file) – you will have to alter this script if to the location of your iTunes music folder.

To use the script, you’ll need awk installed on your machine (for those of you using Windows, you might try grabbing a copy of Cygwin) . To convert a playlist to M3U:

  1. Select a playlist in iTunes, export it as a text-formatted playlist (input.txt) to a folder containing the above script
  2. Open a shell prompt, go to the folder where you saved the text-formatted playlist
  3. Run awk -f m3u-ify.awk input.txt > output.m3u

You’ll now have an M3U-formatted version of your playlist. If you really want to be fancy, export all your playlists at once, and then generate a batch shell script to process them all at once by running ls -1 *.txt |sed -e 's/\(.*\)\.txt/awk -f m3u-ify.awk \"\1.txt\" > \"\1.m3u\" /g'>batch.sh. This will generate a shell script called batch.sh that will process all the text playlists in once go.

Note: I point TiVo Desktop to my iTunes folder directly – I’m not sure if this affects file location specified in the M3U or not. Your mileage may vary.