Ok, so you've written the code. You've tested, retested, run the beta, rewritten and retested again and again. It's as perfect as it's going to get so you're ready for production. Right?
Let's take yesterday's release over at Passpack for example. It was mostly a bundle of fixes and couple of minor features - nothing milestone. Yet that release produced about 20 hours of non-programming work that needed to be accomplished before it went into production. Plus there's at least another 8-12 hours of work to be accomplished post-release.
In general it's best to get as much accomplished pre-release as possible, because the additional hours post-release will be highly diluted by a spike in customer support, sales inquiries, press relations and the inevitable bug fixing. Oh - and a big fat nap.
Channels, Touchpoints, Tasks & Scope
- Help (aka: Customer Support)
- Marketing (including PR & Media)
In addition, these two are regularly managed by Francesco, but in the event of a release, it's my job to manage certain touchpoints for a release:
- Corporate (anyone else abhor this word?)
- Application (the software itself)
Touchpoints are the materials to manage, organized by channel. And each touchpoint will have any number of tasks. The scope of tasks may be once for an entire release, others must be iterated on each item in the release (ex. every new, updated or removed thing-a-majig). Sometimes the scope is for milestone releases only.
My Touchpoint Grid
This is not a task-list per se, rather a guide to what we've got going on where. I've excluded channels I don't have to personally deal with, like IT and Accounting. Most touchpoints have completely different materials, even if they may seem similar at task level (ex. images, videos). Some touchpoints even have the same name (ex. Social Media) but are different because used differently by each channel.
|Help||Knowledge base||find/update existing articles||item|
|find/update/upload existing images||item|
|delete irrelevant articles & redirect||item|
|create new articles||item|
|create/upload new images||item|
|Support admin||find/update existing canned replies||item|
|find/update links to knowledge base changes||item|
|delete irrelevant replies||item|
|create new replies||item|
|update categories & automation rules||item|
|User follow-up||prepare replies for any affected open tickets||item|
|prepare social media replies (twitter, fb, etc)||item|
|Social Media||create new videos||item|
|upload new videos to youtube channel||item|
|upload new images to flickr channel||item|
|Marketing||Downloads||update/upload Admin getting started guide (PDF)||item|
|update/upload User getting started guide (PDF)||item|
|update technology white paper (PDF)||item|
|Website||update all pages involved||item|
|update all images involved||item|
|update timeline in About page||milestone|
|Press||update/upload media kit (ZIP)||item|
|create press release||milestone|
|upload press release to media center||milestone|
|distribute press release online||milestone|
|research/compile short list journalists||milestone|
|pitch & send press release to short list||milestone|
|research/compile short list bloggers||release|
|pitch, pitch, pitch!||release|
|Social Media||write/publish company blog post||release|
|tweet/retweet blog post||release|
|notify news on company twitter account||release|
|notify company friends in facebook||release|
|create/upload images to flickr||release|
|create/upload video to youtube channel||release|
|Application||News||news alert in the application home tab||release|
|news alert in the application login screen||release|
|Inline Help||recompile with knowledge base updates||item|
|update all on-screen instructions||item|
|update internal features/release schedule||item|
|update internal competitive analysis docs||item|
|Stakeholders||update timeline & deliveries documents||release|
|prepare/email summary of status (PDF)||release|
|call to brag :)||milestone|
Tally It Up
Back to our example release, here's how it all panned out.
1. Switch in currency, added free trials, updated refunds policy, added new premium package
Our product pricing centralized in a database and we have a policy to never quote a price directly but rather link to those sources. Thanks to these two factors, we breezed through the Marketing and Help touchpoints.
Most of the work fell was in the Corporate touchpoints, particularly "Billing & accounting" (pre-release) and "Investor" (post-release). Clearly out investors know a price change was in the works, but they also expect to be told when it actually happens. Welcome to "investor communications 101".
2. Website redesign
Very little impact on the release outside the design & development itself.
3. Three interface tweaks
Yikes. These were "itty bitty" changes to the interface, but with BIG consequences in terms of work produced. The key word is "interface". The interface is visual, which means not only are we adding and updating the text descriptions of of the features, but there are a lot of images and (sometimes) videos which are effected as well.
In this particular release, we had a lot of backend stuff we were in a hurry to roll out, so we opted to postpone about 80% of it post-release. All in all, the work done/to do is: all the tasks marked "item" in the grid x 3.
May the good winds fill my sails, I've got a long way to go!
4. Two non-interface tweaks, back-end stuff & bug fixes
Special attention needs to be paid to the "User follow-up" touchpoint (post-release). We had two pretty important patches in there, so I had quite a bit of follow-up to do in the help center with user that were awaiting a reply from me. I'm still wading through those as they generally require a personal reply.
Happy Side Effects
It's pretty easy to see how it things add up quickly, making the best reason to do your own grid better planning and productivity. But it's worth the exersize in anf of itself.
I've also found that the exercise of compiling a touchpoint grid in and of itself has its merits. Any redundancies will immediately come to the forefront. You may even identify ways to consolidate disparate systems or media in a way to save you time.
You'll also have a more intimately organized view of your company's real needs. Following the most recent release, we've decided to eliminate a number of redundant systems. In particular, I'm beta testing an awesome cross-channel customer support & social media service right now. Can't wait until that service is in production. It'll save me oodles of time.
Now, enough blatter. I've a lot of work to do. ;)