by Andy Turner
Recently, a few dozen Info Tech team members participated in a week of Agile Software Development training hosted by two expert coaches from Leading Agile, LLC. Over the five-day session, we reviewed best practices for writing user stories, the various roles which make up an Agile team, the Agile sprint cycle and, most importantly, how to successfully utilize Agile within the different departments at Info Tech.
Many of us at Info Tech have been using Agile methodologies for years, and this was certainly reflected in several high scores we received from assessments conducted by the coaches. We understand that one of the principles of Agile is to limit risk by developing software in short iterations, and getting customer feedback frequently throughout the entire development lifecycle. By shortening the design-development-release iteration to two-week ‘sprints,’ you minimize rework by frequently making sure that the features being developed are actually what the customer wants. Being Agile means that any mistakes or tangents can be quickly corrected and the team can get back on track at the least possible expense. New features are written as small ‘user stories,’ which the development team typically completes within two days. To call a User Story complete means that it has been developed, tested, and reviewed by the ‘product owner.’ The product owner works closely with the customer and is responsible for creating and prioritizing a backlog of requested functionality. The product owner ensures that only the most important features are being developed and delivered by working daily with the development team. At the end of a development sprint, the team demonstrates the new functionality and gathers critical feedback which is integrated into the next sprint. In addition, a retrospective is held which provides a means for the team to review the things that went well in the last sprint and to identify items that need to be improved.
During this training, a key takeaway for us was the importance of the last stage. This last part of a sprint cycle, we learned, is vital to one of Agile’s founding principles: continuous improvement. Regardless of how great a sprint was, or how efficient a team is, there is always room for improvement. Continuous improvement was the reason many of us took time from our busy schedules to get a hands-on refresher in Agile. We learned better ways to work together as a team. A key part of this improvement is communicating more efficiently by valuing verbal communication over the use of email or instant messaging. When the entire team works together closely, every day, issues are found more quickly and it ensures everyone is on the same page.
I would recommend a refresher to other companies like ours because of the great results. Several teams at Info Tech have already implemented changes to their development strategies based on the training we received, and the results are impressive. Teams are more cohesive, communicating more efficiently, delivering only the highest quality software, and most importantly, continuously improving!