As we reflect on the planning and execution of our enterprise-wide Code Jams, these elements were instrumental to our success.
Executive support – Our experience was so favorable in part due to the unwavering support of the CIO working group at The Principal. The key elements of their support were freedom from current processes, funding, and visibility.
First, we were given freedom to try something new and innovative outside of our current work and governance processes. Essentially, we had support to “break some rules” for 3 days. They openly supported helping us through any traditional barriers or rules. For example, we were granted exceptions to try new technologies that weren’t on the “supported and in use list”. This is critical to create the best possible experience for participants to explore new ideas and technology.
Second, taking people out of daily work for 3 days is expensive when you are running a business. We had executive support to test this with our first Code Jam with 25 employees (5 teams of 5 people). For an organization with approximately 2,600 IT professionals, this was about the right size for us to try it. We want to create an environment where people want to be to work and learn. In our experience, having some financial support to promote the event can also go a long way towards success. We provided Code Jam tshirts, food, etc. to our participants, organizers and CIOs.
The third important way the CIOs showed their support was being visible during the event. If you are thinking of putting on a Code Jam, you will want to show that you have leadership support. We had an executive kick-off the event and another emcee closing demonstrations. As the event got underway, we noticed that they wanted to take an even more active role in the event than we anticipated. In response, we added daily and mid-day pep talks for the teams. Teams gained an opportunity to showcase their talent and interact with the C-level, which isn’t something everyone gets in their day to day work.
Engage your entire business with a themed event – Having a broad theme for your Code Jam will help teams and your organization focus in a central objective for the event. Some themes we have used at The Principal are “What would you build?”, “IT Save Me”, “Renovate IT”.
Voluntary signup of participants – One thing our Code Jam planning team was sure of is that we needed participants who wanted to be a part of the Code Jam to make it a success. We didn’t want people assigned from the various business units by their managers. We were looking for people who were passionate about a project idea, or about making a change in how we do work at the company to participate. We set up a simple registration process for people interested to sign up for the event. Submit your name, strengths, how you can contribute to a team, and agree to be at the event for 3 days with no other work obligations. We hoped to get the most motived and inspired people to sign up. It worked. For our first Code Jam, we filled our 25 spots and had to turn a few people away.
Creating teams across the organization – Another goal of the Code Jam was to have cross business unit teams, so we matched up people who had never worked together to gain networking and new perspectives. For example, someone who works for our Retirement business may not know or work with someone from our Insurance business, or Corporate Marketing. In our experience, creating teams for the Code Jam that crossed the business unit lines exposed people to new ideas, technology and ways of working. As the participants voluntarily registered for the Code Jam, the Code Jam organizing team reviewed the registrations and created balanced teams mixing up people from various business units. Don’t worry, the teams still self-organize around their project and the work. We’ve found this to be a great platform for inspiring creativity as well. As we have evolved our event over time, we have tried team registrations and required participation (internship program). When we had a team registration process, saw a substantial increase in participation numbers (over 70% increase). What we lost in this process was the networking and creativity aspect. Teams registered as groups of people who work together in their daily work. They just wanted to work together in our Code Jam environment. With our IT internship program, Code Jam is a required component. There has been some hesitation. For example, an intern in network security is not sure how a Code Jam is relevant to their job. After participating, several interns have reflected on how much they learned and grew working on a team and learning new work practices, or new roles.
Set up a fun and highly visible collaboration space for the teams – We have found that getting people out of their normal work area (i.e. cubicles if you still work in them) and into a space primed for innovation, creativity and collaboration will help you create a fun atmosphere for the teams to do their best work. We have held our events in highly visible areas of our corporate campus. Some examples have been a large area of our cafeteria seating and a pavilion between two of our buildings with a lot of open seating. The visibility has been a key to getting people who are curious to ask, “What is going on over there?” It is a conversation starter for IT and business to talk about the process, practices, and innovation that is possible. We also had a fun vibe in our space by setting up a playlist with music, team photos, fun team names, and a Twitter hashtag. These little things have helped to create an environment where teams really enjoy working.
The atmosphere and experience was so different. Now we hear comments like “Code Jam days go by so fast. Why can’t we do all our work like this?” We are evolving our work environment as a result. One downside we learned after the first Code Jam we have affectionately called “re-entry”. This is what happens after the Code Jam is over and everyone goes back to their normal work area – to business as usual. We had to coach participants on ways to take what they learned at Code Jam back to their home teams. That first day back after a Code Jam will be tough.
We have also held Code Jams with much smaller groups (less than 25 people) to focus on specific learning opportunities. These Code Jams are typically one day or less in duration. Teams can choose to focus on learning a particular Agile methods such as pair programming or using a Kanban board. They can also decide to use several Agile methods and get additional time to practice in a safe environment. In addition, they can focus on other core skills they may want the team to develop, examples include learning mobile technologies or cross-training on systems the team currently supports.
The first step in planning a small scale Code Jam is to understand what you want to accomplish and prepare appropriately. Our first small Code Jam was focused on learning Agile basics, coming together as a team, knocking off some small product enhancements from our project backlog, and having fun. Some basic Agile 101 training was provided and more extensive education was provided on how to break down our work into smaller pieces and write good user stories. A basic “definition of done” was written to help the team understand how to move stories across the Kanban board. We decided to hold the Code Jam in a room on our floor for eight hours and to work on projects that could be completed in less than eight hours. We invited our business partners to participate so they could see what we were working on for them and provide feedback as needed. We invited all of the team members to happy hour after the event to build team morale. In the end, the team completed more small projects than they ever had in a day before, they felt more comfortable using Agile methods, and received positive feedback from our business partners.