Last Thursday, the MatrixMaxx team celebrated a successful SCRUM sprint with a beer and cream cheese party. So what do beer and cream cheese have to do with software development, specifically SCRUM? Read on and find out.
MatrixMaxx is Matrix Group’s Web-based association management software product. For about a year, the team had been exploring agile development methodologies. Maki, our CTO and Chief Architect for MatrixMaxx, was really hot to implement SCRUM.
There is a lot to SCRUM, but here’s what SCRUM means to a non-techie, manager type like me:
- SCRUM is all about roles and process.
- There are 3 main roles in SCRUM: the ScrumMaster (who serves as the project manager); the Product Owner (who represents the stakeholders like me and the clients); the Team (the folks who do the development work).
- Development cycles are broken up into sprints, which last anywhere from a week to 30 days; each sprint has a defined list of shippable work. Complex projects are broken up over multiple sprints, but each sprint must include deliverables that the customer can recognize and use.
- There is a daily SCRUM meeting (lasting no more than 15 minutes), during which each team member answers the following questions: what have you done since yesterday?, what are you planning to do today?, and what is preventing you from making progress? (so the ScrumMaster can facilitiate a resolution).
- Tasks, or user stories, are posted on a board and each team member takes tasks off the board each day.
Sounds great, right? But for an agency like Matrix Group, SCRUM posed some problems:
- We have one person who serves as BOTH the ScrumMaster AND Product Owner. Why? Because I wanted one Director who would be fully accountable for the team’s progress, revenue goals and customer satisfaction.
- At the end of the day, we’re still an agency and we need to be able to respond to urgent customer requirements; yes, these requirements screw up development schedules and sprint goals.
- It wasn’t an option to NOT use our intranet and bug tracking system since we need a detailed record of our work, including specifications, related projects, testing notes, etc.
So we decided to create the Matrix Group version of SCRUM. Team members read Agile Software Development with SCRUM by Ken Schwaber and Mike Beedle, long considered the bible of SCRUM. Our version of SCRUM includes:
- A daily SCRUM meeting at 2pm; yes, it’s a little late, but we wanted to accommodate a team member who only works afternoons.
- Our sprints are 60-90 days long to coincide with the software release schedule, which is quarterly.
- We don’t have a SCRUM board. Instead, we add release numbers to all tasks in our intranet and then use a canned report to define our project backlog for each release/sprint.
- Sometimes, the daily SCRUM meetings are followed by tech meetings used to work out issues and solve problems together.
- The sprint list gets modified every few days, sometimes daily, to accommodate urgent requests from clients.
So where do the beer and cream cheese come in? Tanya, the MatrixMaxx Director, posted to one of the SCRUM message boards, asking if anyone had experience with having the same person be the ScrumMaster AND the Product Owner. One ScrumMaster sarcastically remarked, “You CAN do it, but that would be like combining beer and cream cheese.”
The challenge was on. As is often the case at Matrix Group, we took a methodology and made it our own. To celebrate the 9.2 release, a half dozen staff members scoured the Internet and found yummy recipes that combine beer and cream cheese. Last Thursday, our Beer and Cream Cheese feast included: cream cheese dip with heffeveisen, and cupcakes with Guinness and cream cheese frosting. I brought in pumpkin bread with Guiness and cream cheese + cheesecake made with a maple syrup and Guinness reduction. Check out the photos from our Beer and Cream Cheese fest on Flickr. We have dubbed our version of SCRUM “Beer and Cream Cheese SCRUM” and are considering blogging about it.
Beer and Cream Cheese SCRUM really worked for us. We plowed through more tasks and bugs than ever before, the bug list is down, and we prevented major communications snafus between team members. Most importantly, MatrixMaxx 9.2 was released on time with a huge feature list.
How about you? Is your team using SCRUM? What’s been your experience? And have you created your own version of SCRUM?