To create deliverable and timely projects, Scrum leaders and Agile teams need to figure out how to calculate goals, figure out iteration deadlines and then begin creating quality deliverables, according to Bob Galen, president and principal consultant for RGCG, LLC. Galen’s session at the recent SQE Application Development Practices conference in Orlando was an informative evaluation on mature Agile teams’ best practices, designed to show how the best of the best use Agile to succeed.
“My work in Agile has been focused on teaching proven implementation tactics,” said Galen, who has logged 20-plus years in the software industry. His career started in research and development, where he began noticing inconsistencies in how projects are assigned, worked on and completed. Eventually, his search for solutions to those problems led him to Scrum. He has spent the latter half of his career as an independent Agile consultant.
Galen told the audience that Agile leadership is not a top-down practice or dogma. In Agile, the leader is a coach and not a monarch, and Agile practices should be flexible. “To be truly Agile, you need to collaborate and cooperate. No single voice should prevail or lead the project in any one direction,” he said. “Agile is the culmination of everyone’s best ideas.”
The first step in any Agile project is gathering the team to define a publishing system, asking such questions as: How are the completion of iterations going to be documented? How will approved iterations be reported to the rest of the team? To keep organized, some teams choose to use vendor tools, and others devise a sort of internal data submission calendar. Some even rely on covering common company walls in Post-It notes. All three of these schools of thought were represented well in this session.
“Making the team aware of where the project has progressed, or in some cases digressed, should always be a major consideration in the project pipeline,” said Galen. “How else will your co-workers know when to start the next serial iteration?” This practice is never fully appreciated until it is too late. Team members should voice any concerns with goal setting, iteration deadlines and project function before it is underway.
There are other important prerequisites mature teams should use. During planning, include the whole team in system metaphor definition and setting project guidelines. When everyone on the team paints the big picture, everyone has clear idea on goals and how project can reach completion.
A key characteristic of mature Agile teams is collaborative productivity. “I love when I see Agile teams broken down into smaller groups, normally three or less,” Galen said. These groups normally consist of a tester and developer pair working on the same line of functional code. In his opinion, this sort of cooperation is one of Agile’s most underrated and least understood practices. The creation of iterations in this fashion ramps up efficiency, as code is checked for flaws as it is written.”
Making sure that solo work is high in quality is critical, Galen said, as a chain is only as strong as its weakest link. To assure quality, Scrum leaders and Agile coaches must ensure that developers keep one eye on their coding and a second eye out for potential bug risks.
During a Q&A session, one tester said: “At my company, there have been times where we were forced to push Agile best practices aside in favor of a client or product owner’s request. So that’s what we did against our better intentions.” Galen said her team did everything right in that situation. Driving customer focus is one of the best Agile qualities a team can have. Going back to his opening statement, he said that sometimes satisfying the customer calls for “forfeiture of the manifesto’s guidelines.”
“Agile doesn’t dictate to do something one way and not even consider another possibility,” Galen said. “Agile, in my mind, has always represented the most intelligent execution to project problems. If you finished the project on time, pleased your client and were able to cash your paycheck you did your job correctly.”