Vaporstream Logo

Vaporstream Tech Blog

Mobile software development and operations

Our First ShipIt Day

by Steve Tarzia

We held our first ShipIt Day on April 23rd and I am happy to report that it was a great success. “ShipIt Day” is a term invented by Atlassian for full-day activity that it runs at its engineering offices every quarter. It’s part hackathon and part 20% time. The goal is to design, build, and ship a new product or feature in a single day. The product should be novel and useful to the company. It’s a time for pie-in-the-sky ideas, not incremental thinking. Above all, it’s a a chance for everyone on the team to focus on shipping – cutting through technical and political barriers to just get ship done.

(If you don’t have an HTML5 browser, click here for the Flash version of the video.)

Our variation

To reflect our department and culture, Vaporstream’s ShipIt day was slightly different than other companies’:

  • It occurred during regular work hours, not as a 24-hour activity. We all have families at home. I haven’t pulled an all-nighter since my college days (and I don’t plan to ever again). Sleep deprivation is not fun and certainly not productive.

  • It took place in our conference room, allowing us to interact more directly. Our daily work tends to be on several independent projects so we don’t have an open-plan office. For ShipIt day, we worked in close quarters, which was made for a change.

  • There was no competition between developers, only against the clock. Instead of awarding a trophy to the “best” project (as Atlassian does), we awarded participation ribbons and high-fives all around (just kidding, there were no ribbons nor physical contact of any kind.)

Daily self-assessment

We decided to build an app based on a personal and professional development exercise described by Marshall Goldsmith at one of his recent executive workshops. Jason, Kenny and Patrick passed it on to the rest of us in the company. Here’s how Marshall describes it:

  • You write a list of perhaps a dozen questions intended to promote personal and professional development. For example, you might ask “was I physically active today?” and “did I hone my plans for the future?”.

  • You swaps lists with a friend. The friend’s task is to telephone you every day and ask you your questions.

The point is to reinforce good habits with peer pressure. The entire process should take just two minutes per day.

“Ten Questions”

We liked Goldsmith’s concept, but our goal was to make this exercise more convenient through a smartphone app implementation. We tentatively called the app Ten Questions.

  • The app alerts you every day to prompt you to answer your questions in the form of a electronic questionnaire.

  • The app shows a participation “scoreboard” showing on which of the past 7 days each of your friends answered his or her questions.

We thought that this design would add convenience without sacrificing the necessary social pressure.

  • The app starts with a set of ten “default” questions, but this can be cutomized by the user. Answers are entered with set of five radio buttons (a Likert scale).

Building the app involved wireframes, APIs, database schema, Java servlets, an iOS app, Android app, and a Push Notification service. Most of this was done on ShipIt day. We wrapped things up as “homework” over the subsequent week or so.

Lessons learned

  • Designing and shipping a non-trivial app in 9 hours is difficult, but not impossible. We came very close.

  • It is is very easy to justify allocating a single workday each quarter for ShipIt day; it combines team-building with technical skills development and its products will have real value to company.

  • Laptop computers are really bad for your work posture (see the video above).

Challenges

In the future I would like to expand ShipIt day beyond just the software engineering team. Quality Assurance and Network Operations can certainly participate – maybe even Sales, Marketing, and Customer Support. As a team-building exercise, ShipIt works well because people buy in. ShipIt is about empowerment and execution; about practicing the things that everyone on the team should value. These are universal values, nothing specific to engineering.