Nobody will ever accuse me of being a wine snob, what with my unsophisticated palate and refusal to spend over $30 per bottle. But I know what I like, and when I find something I like, I tend to grab a few bottles to have on hand. This has led to me to build up a modest little collection over the past few years. I don’t have space for a proper wine rack to hold it, so everything is stored in cardboard boxes in my basement.

This is nicely space efficient, but about as un-transparent as can be. Not only is cardboard opaque, but a box containing wine looks just like a box containing books. This came to a head couple months ago when I was digging around for snow gear and unearthed a box of six bottles I’d completely forgotten about. Thank goodness wine has a long shelf life! If only I had a system for keeping track of what I’ve got in storage, and what I want to pick up more of, that I could access from anywhere… oh wait(smile)

Enter the JIRA

Inspired by Dan Radigan’s recent series on using JIRA for asset tracking, I turned to my trusty OnDemand instance and went to work creating a project and Kanban board for my “cellar”.

Since I would only need one issue type and only a few workflow states, I chose the simple issue tracking type when setting up my new project space. But I also needed to take a machete to the default fields, add a few fields of my own, and set up my workflow scheme. To the admin console!

BottleIssueType-2First up: create a new issue type called bottle, and remove all other issue types from my project. Issues are at the heart of JIRA, so getting the issue types sorted out lays the foundation for pretty much all other customizations. While issue type schemes are sharable across projects, the best option for this kind of situation is a custom scheme for my project. It’s much cleaner than adding “bottle” to the default scheme and having it clutter up my other project spaces.

For the same reasons, I decided to create a custom field configuration for my new issue type. Most of the default fields were unnecessary, and needed to be cleared away. (I could’ve individually removed them from the create/edit and view screens, but since I didn’t need that level of granularity, the one-click convenience of hide won out.) I’ll want to be able to search my collection by vintage, varietal, and price. Vintage and price range were pretty straightforward fields – a drop-down menu and set of radio buttons, respectively. But varietal offered the opportunity for something a bit fancier. Rather than having to specify a half dozen varietals in a search, I’d like to be able to easily include all reds or all whites in the criteria, so I set that up as a cascading select field.

create_issue_bottle-2

For the workflow I set up four states: Wish list, Cellar, Upstairs, and Enjoyed. It’s a basic flow from state to state, with the option to move a bottle directly from Wish list or Cellar to Enjoyed since I’ve been known to buy and uncork a bottle on the same day. Why bother to enter it at all in that case? Because when transitioning a bottle to Enjoyed, I get to rate the wine in terms of whether I’d buy it again and jot down a new notes about it. (I wanted to re-label the comments field as Tasting notes, but that would require deeper tinkering and de-scoped it from the project’s MVP.)

uncork-2

Getting a visual on it

What really makes this whole thing work though, is having it all on a JIRA Agile board with a column for each workflow state. Using a JQL query for the swimlanes came in handy too. Usually when I want to pick out a bottle of wine for a gift or dinner party or whatever, the first question I ask myself is usually how “nice” a bottle am I looking for? So I sliced the swim lanes by price range for easy reference. Then just for fun, I played around with the color stripe on the edge of each card. Red for reds, pink for roses, and pale yellow for whites. That requires a JQL query as well, but keying off the parent value in my varietal field made it really simple – cascading select FTW!

So here it is, in all it’s glory. I have to say: JIRA’s support for iOS makes it look great on the iPad. We put an iPad wall-mount in the kitchen a while back, which is proving to be a good decision.

cellartracker

Now for the fun part

clubshipmentThe cellar tracker has been up and running for over a month, and it feels totally bad-ass to pull this up right there in my kitchen and drag stuff around. I can even put items on my wish list (including a photo of the label!) using my phone when I’m out n’ about and discover something yummy. I find that I use my cellar tracker most when there are several updates to make – not so much on a bottle-by-bottle basis. When the small wine rack in our dining room starts to look bare, I’ll bring an armload of bottles up from the basement, then make all the updates on the board at once: what’s been uncorked, what’s now upstairs. My favorite, though, is when I get to enter a few new bottles into the system. And since my wine club shipment just arrived last night, I’ll get to enjoy that particular use case today after work.

Though I suspect one of those new entries will be immediately destined for the Enjoyed status…