Zucker believes that all agile teams should be self-sufficient. "In other words, they don’t need to rely on other specialty teams to complete their work," he says. He recommends looking for team candidates who are generalists. "The new industry term is 'T-shaped' or 'E-shaped' resources," Zucker says. "T-shaped resources have an area of expertise — or depth — but can work in other technical domains as well." E-shaped resources, on the other hand, possess multiple specialties.
3. Communicate as cryptically and infrequently as possible
Agile teams with poor communication attributes are aren't usually successful. "Agile prefers colocated teams where the flow of communication and information is continual," Zucker says. "Agile wants regular communication with the product owner and within the team."
Daily rituals like stand-ups and sprint retrospectives provide the best ways to course correct. "If there is no iterative course correction, the team will never get better," Aziz says. "Make sure impediments are registered and vociferously resolved; make sure lessons learned are shared across the company."
It's also important to get all team members — and agile teams across the enterprise — communicating on the same wavelength. "When bringing together many groups, it’s common to have terminology used in many ways," Elliott says. To position agile projects for success, terminology should be uniform across the enterprise. "Agile is acronym-rich and confusing for business people with limited agile training to begin with," Elliott says. "If the groups do not use a common terminology, this challenge is accentuated."
4. Don't fully understand the project's scope or focus
Unlike most traditional projects, an agile initiative's scope is not set in stone. "For agile projects, the product owner sets the vision and roadmap," Zucker says. "The vision and roadmap guide the development process."
The roadmap, Zucker explains, will be disaggregated into a series of incremental builds, each providing value to the customer. The items to be developed by the agile team are maintained in a product backlog, a prioritized list of things to be delivered. With each increment, the team pulls items from the top of the list to deliver to the customer.
From its start, an agile project must link the enterprise's overall strategy — mission, vision, values and goals — into the actual work being done. "This ensures that the work being delivered is tied to the strategic themes and, if it’s not, then you can pivot quickly," Elliott says. "The use of predictability analytics and velocity will help program managers appropriately scope the program increment planning."
5. Test poorly and haphazardly
Testing is absolutely critical, says software consultant Tom Brusehaver. "Having unit tests will make the developers more comfortable changing code," he notes. "Functional tests will also help the developers know that when things change there are effects, and maybe the changes need to be adjusted or the tests will need changes." Integration testing is also critical. "With the small, sprint-length increments everyone should be able to feel comfortable that the potentially shippable product will do what the product owner/customer wants it to do," Brusehaver says.
Sign up for CIO Asia eNewsletters.