Can you combine skunkworks and agile processes? A view from the inside.
I’ve already written about the history of skunkworks and how we wanted to use this approach combined with our own agile development process (essentially by shutting our dev team away so they could focus on one key project). Here I’m going to give you an insider’s view of how we applied those ideas to the Zapnito development process to rapidly scope, build and release a revitalised expert profile page.
We planned the skunkworks in four main sections, obviously aligned to a traditional agile sprint: an initial planning and scoping session; the skunkworks build week itself; a showcase, and finally a follow-up retrospective session to review and reflect. A key difference to a regular sprint is the team physical location and isolation from outside distractions.
I’m going to try to give you an insight into the process - in case you’d like to do something similar.
Planning and scoping sessions
The idea of doing this ahead of the skunkworks build week was to make sure we could prep and focus our entire effort on dev work while we were ‘shut away’.
We started with a one-hour scoping workshop, where we had all stakeholders present, including the product owner, developers, designers and our CEO. We focused on:
Collectively identifying the problems and drawbacks of the existing expert profile.
Defining the Jobs to be Done (JTBD) of a user visiting the expert profile. (1. Learning about the expert; 2. Making contact with the expert; and 3. Networking around the expert.)
Reaching a consensus of what success would look like by the end of the skunkworks. (Primarily clear delivery of features that met the JTBD and also that the work was deployed to production behind a feature flag, thus staying true to our normal sprint's definition of done.)
We also held a wire-framing and design concepts workshop where the dev team, product owner and designers collaborated to create a wireframe that we all felt would deliver against the three Jobs to be Done listed above. The design also resolved some of the problems on the existing expert profile. (We used Whimsical.co to produce wireframes during the workshop, such an awesome tool)
This scoping and design process ahead of the build week was successful, and definitely something we’d do again. We felt like they gave us a clear scope without overdoing the documentation and requirements, and allowing flexibility on the final result. The only thing I think we’d change for next time is giving ourselves a bit more time - two half days, rather than one full day in one block.
The skunkworks build week
We set out on the build week itself with some clear ground rules and plans in place:
We would have a five-day skunkworks focused sprint running from Monday to Friday
Everyone was to be face-to-face at the office - no remote working
We would be isolated in our own room, away from the rest of the Zapnito team
The dev team only were at the Monday morning planning meeting, dividing the work into Kanban cards
We would have a physical Kanban board with Post-It notes (a refreshing change from our usual virtual board on Trello)
There would be daily stand-ups as normal
First thing on Monday we met as a team to agree how to approach the week and plan out the work. We decided to break the expert profile page down into page components, each one represented by a Kanban card.
We added an additional card that represented the main page layout and feature flag control to allow us to release the new page and selectively switch it on for specific clients.
Interestingly with such a tight-knit team working face to face, the Kanban board itself was much simplified from our regular board, only requiring columns for To Do, In Development, Needs Polish and Done.
We finished up the week with our follow up sessions - a one hour showcase, and a one hour retrospective (so not too different from a normal sprint).
What were the results?
We did it. We produced a new expert profile page which we feel hits all the right notes, putting the expert themselves front and centre, rather than their content (though that’s still there, of course). There’ll be a follow up post going into detail on the expert profile changes soon, but for now here’s the before and after…
Would we do a skunkworks again?
There was a lot to praise about the skunkworks approach for this project. For starters, the team isolation in a dedicated room created the right atmosphere of focus and shared responsibility. We felt like were all in it together, much more than a normal sprint.
Working face to face also meant we were able to collaborate much more dynamically, with no time wasted trying to connect over remote calls. And we learned more about how each of us works and our different approaches to tackling challenges.
We found that having only one week forced us to stay lean, and we had no luxury of wasting time on intangible benefits. In fact, I’d say working in this way we were arguably more productive than in a normal sprint.
One big thing we’d change for next time though, is aligning the skunkworks sprint with our normal sprint (Friday afternoon-Friday morning rather than Monday-Friday). Having them misaligned caused our next sprint to be disrupted.
We also found that we could have used more time from the design team and have be better aligned to the development workflow, which is something else we’ll factor in next time.
The very fact that I’m talking about a ‘next time’ though, goes to show that we all thought this process was well worth the effort - and should be repeated.