Scrum is an iterative methodology often seen in agile software development. Victor Szalvay is a Scrum project expert who leads development for CollabNet's ScrumWorks suite, which is used by more than half of the Fortune100. Szalvay joined CollabNet in February when it acquired Danube Technologies, a provider of Scrum products and services that Szalvay cofounded. Dr. Dobb's managing editor Deirdre Blake recently spoke with him about the state of Agile.
Dr. Dobb's: What's the most compelling reason for an organization to adopt Agile processes?
Szalvay: Agile development makes clear responsibilities associated with a pro duct's direction and quality. Before adopting agile, there's typically a game of “hot-potato” at most organizations re gard ing who's responsible for schedules and the features delivered. At the same time, managerial pressure to deliver puts developers in a position to cut quality. Agile frameworks like Scrum appoint a single person who consciously makes these trade-offs, while affording development teams the ability to implement with- out shouldering quality decisions.
Dr. Dobb's: Agile requires effective communication to work. What are some techniques teams can use to keep everyone in sync when transitioning to a truly collaborative workflow?
Szalvay: The ideal technique is to collocate cross-functional teams in a bullpen-style environment. If collocation isn't possible, then start with cross-functional teams. This requires breaking people out of their functional silos and asking them to work as a real team — developers, quality assurance staff, documentation writers, all together. Then require that work be delivered incrementally, not just when the code is complete. The biggest obstacle to agility is a siloed organization with gated hand-offs between roles, because it makes it easy for upstream roles to rely on downstream roles for quality.
Dr. Dobb's: In what ways has the Agile methodology been affected by the shift toward cloud computing?
Szalvay: As teams and organizations start thinking Agile, they realize the value of rapid builds, continuous integration, and heavy test automation. These practices enable agility by providing a safety net of instant feedback when team members embark on radical code changes. The faster the feedback, the better, but most organizations are hardware-resource constrained. Enter cloud computing. Once there's an infrastructure in place, developers can deploy to the cloud and get feedback from test automation suites running in the cloud. And since it's on demand, resources are well utilized and costs stay reasonable.
For more information on ALM and SCM, download the Dr. Dobb's ALM Sourcebook.