Earlier this month, we had our “fly-in” sprint, when we have our entire distributed team fly in and work out of our Palo Alto office for 3 days doing planning, design and pairing on implementation. We have a majority of our engineering team in distributed locations, working out of their homes. In addition to leveraging tools such as Skype and Sococo to integrate our teams for day-to-day work, we also get together at our headquarters once in three sprints, which is roughly once a quarter for us.
As many are now aware, sprints are units of planning, implementation and shipping for teams practicing the Agile methodology. We have been practicing the SCRUM style of Agile development for over 4 years. We have leveraged its benefits on helping prioritize and focus our teams on the most impactful features that best suit customer needs in a nimble fashion. This has also enabled us to work with a culture of implementation -> roll out -> fine-tuning. In addition, we leverage the methodology and spirit of Agile to discover and recover quickly from any issues or mistakes, and constantly improve as a team using the retrospective discussions.
This past fly-in sprint, in addition to our usual company dinner and other activities that we all thoroughly enjoyed as we always do, we did something that we had never done before -- we put together a contest for our employees for idea generation.
The rules were simple:
- Include at least three different cross-functions
- Work outside your regular scrum teams
- Demo to the rest of the company with a concrete UI design or hack or algorithm
With a few hours of time from each of the participating teams (and some tasty lunch and cookies), we had amazing ideas presented that we are now considering for our roadmap as we take on the next level challenge of providing a top-notch solution for our large enterprise customers.
The ideas ranged from an overhaul of our application by reducing the number of clicks to get to key areas or perform key operations and STAAS (Stats As A Service) to a Customer Satisfaction Meter that can automatically use metrics derived from customer behavior to evaluate how satisfied (or frustrated) they are and where we can help them the most.
In addition to generating a lot of innovative ideas and getting discussion going based on thoughts from people who are directly involved with customers and with the day-to-day work, we all had a lot of fun!