Can you combine skunkworks and agile processes? A view from the inside.

Go to the profile of Jon Beer
Sep 06, 2018
8
3

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:

  1. We would have a five-day skunkworks focused sprint running from Monday to Friday

  2. Everyone was to be face-to-face at the office - no remote working

  3. We would be isolated in our own room, away from the rest of the Zapnito team

  4. The dev team only were at the Monday morning planning meeting, dividing the work into Kanban cards

  5. We would have a physical Kanban board with Post-It notes (a refreshing change from our usual virtual board on Trello)

  6. 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…

Before


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.



Go to the profile of Jon Beer

Jon Beer

CTO & Co-Founder, Zapnito

A technical leader and hands-on CTO with 17 years' experience implementing web technologies. I lead the technical delivery of the Zapnito platform, ensuring a scalable multi-tenant architecture, disruption-free daily release cycles and a highly effective development team that delivers platform enhancements for our customers. Get in touch with me to discuss your requirements for this or any Zapnito network or to share your feedback at any time.

3 Comments

Go to the profile of Aaron Chambers
Aaron Chambers 2 months ago

Is there anything you’ll take from this, that you weren’t doing before, and apply to your regular way of working?

Go to the profile of Jon Beer
Jon Beer 2 months ago

Aaron I think the key thing is giving ourselves permission to occasionally, once per quarter, to have a 'special sprint' (which in this case we're calling skunkworks), to really nail/attack a very important strategic piece work and do that in a very focused efficient way.   

So the change to the regular way of working is to do that roughly once every few months. The regular sprints will continue to be aligned to platform optimisations, maintenance, tactical work.

For a small team, it kind of gives us the psychological space to really get our teeth into those "big projects" that otherwise tend to be be postponed until "we have time". 

Go to the profile of Charles Thiede
Charles Thiede 2 months ago

Aaron, a lot has evolved since you being here, yet we still have the Aaron voice in the back of our heads:) - a good voice. Would be great to connect with you on our processes - not just skunkworks.