A few weekends ago I was out with some friends and I used the term “Scrum Master” in a story I was telling. Not surprisingly, I was met with blank stares. “What is a Scrum Master?” isn’t a question that you hear at Vodori very often these days. After working on multiple Agile projects at Vodori, it is easy to forget that the general population is not as plugged into the sometimes quirky Agile lingo. So here’s my attempt to explain more about what Agile means and how it works for our company.
What Is Agile?
Agile is a software development methodology that rethinks the typical project approach. Rather than long “waterfall” projects, Agile teams deliver deployable code and other deliverables on a frequent basis – typically over two to four week “sprints.” Agile also shuns excessive documentation in favor of frequent, in-person communications that seek to maximize business value. The scope for the sprints is predefined and fixed. Essentially, Agile provides short durations of focused work that deliver usable functionality to the clients on a frequent basis.
So back to that Scrum Master question. The Scrum Master is the person on the Agile team who ensures that the team adheres to the proper Agile rules, keeps the team solely focused on the sprint goals, and adds any new requests to a backlog that will be revisited after the sprint.
Vodori ‘s Adoption of Agile
Vodori has been very proactive at educating interested Vodorians in all things Agile. One of the best experiences I have had in my professional career was an intensive, three-day Agile training session, in which we learned the core fundamentals of Agile and performed project simulations. Attendees varied by discipline, level, and knowledge of Agile, which led to some enlightening conversations about Vodori's future use of this methodology. The entire training experience is a reflection of Vodori's commitment to continuous improvement of its processes.
Vodori has seen some major successes with the Agile process and I would wager that there are many more to come. The success is largely due to the interactive client-project team relationship that Agile demands. The incremental delivery of new functionality allows for frequent client check-ins to ensure that the end deliverable best meets the client’s business needs. It is a great methodology to ensure that the client and project team always have their finger on the pulse of the project.
Taking our Agile learning one step further, Vodori is hosting weekly “Agile In Action” meetings. During these meetings, one of our Agile project teams take a deeper dive on a specific topic relating to the methodology, answering questions and listening to feedback from other Vodorians. Despite being held late on Friday afternoons, the great turnout for these standing-room only talks shows Vodorians’ enthusiasm for Agile projects.
What I’ve Learned from Agile
I have really enjoyed learning about the Agile process and strongly suggest that future project teams consider it (or some variation) for future engagements. That being said, I will be the first to admit that Agile isn’t for everyone and that Agile isn’t absolute. While it can be beneficial to follow the Scrum rules to a T, I would use the first few sprints of a project to test the waters and find what works for the team.
Another key takeaway to think about when implementing Agile is group dynamics. The Tuckman’s Group Development Model discusses the four primary team dynamics to deliver results: Forming, Storming, Norming, and Performing. It is important that a team get to the Performing phase to maximize productivity. This is very hard to do with an ever-changing project team, and my experience has shown that consistent teams are far more effective, particularly on an Agile project.
If you are interested in learning more about Agile, I strongly suggest checking out Agile Alliance or poking around the many Agile-related blogs.