Limbering Up for Agile Software DevelopmentBy Ericka Chickowski | Print
Re-Imagining Linux Platforms to Meet the Needs of Cloud Service Providers
The challenges of agile development offers experienced partners three key opportunities for offering customers greater value in their efforts to shift from waterfall to iterative development methods.
As more enterprises lean toward the iterative development techniques of the agile and lean development movements, more and more of them will depend upon channel partners to not only provide the tools necessary to reengineer their workflows, but also the expertise and advice needed to help shift development paradigms.
"Agile really requires a shift in the way the organization thinks and the way the organization operates," says Genefa Murphy, product manager for HP Quality Center and an agile development expert. "So it’s not just about what new tools that you pick up to develop to start working in an agile practice, its really about getting the organization to change the way that they work."
The agile movement is heating up, according to a recent survey conducted by Forrester Research. Among 100 IT leaders polled for the study, 30 percent of them depend on agile development methods and an additional 38 percent use some sort of iterative process. The dependence on agile has grown considerably since the last time Forrester conducted such a study in 2007, when only about 8 to 10 percent of respondents depended on agile.
That’s a decent spike considering the game-changing aspects of moving to a completely different development philosophy. Channel Insider recently spoke to Murphy about the role partners can play for customers seeking to achieve agile best practices and about the major obstacles customers currently face in doing so. She believes there are currently three major challenges enterprises face today in regard to agile: the effective prioritization of project requirements, the need for visibility and control over the process and the scalability of agile techniques as they’re rolled out wide scale.
Channel providers who can view these customer challenges as opportunities could position themselves well as more organizations struggle to embed agile into the corporate culture.
"That's where I think definitely partners could really help educate customers: on the methodology of agile and how to take the principles of agile and incorporate them into their own organizations' culture," Murphy says.
Prioritizing of Requirements
At the heart of the agile and lean development philosophy is the idea that the coding teams will develop and test bite-sized chunks of functionality on a very aggressive iterative timetable. What chunks go first depends on the functionality’s priority according to business and technology needs.
Many organizations, though, are struggling with the initial hurdle of actually prioritizing requirements and tasks so that the team can develop a sane and manageable workflow.
"For example, knowing which requirements should go into which backlog, which user stories, need to be addressed first and need to be passed on to development and then for the QA organization to test, that’s a problem for some," Murphy says.
Those in the channel with project management expertise could offer a tremendous service to those just starting out in agile by serving up some sort of method to the madness of prioritization of requirements, aiding them in coming up with a repeatable process for ranking requirements and for managing change within priorities as conditions shift.
Adding Control and Visibility
The second major challenge enterprises face in implementing the agile development methodology is adding an element of control and visibility into the process.
"It’s very important in agile because you're working in a lot quicker iterations and a lot quicker release cycles where multiple teams are doing multiple functions and people aren't working in their silos but really as a multifunctional and multigroup team," Murphy says. "(It’s important) that you continue to have control and visibility over what's going on and what's being done and what priorities need to be shifted within that team in order to make sure that you're going to meet your objectives."
This is one factor where tools can help tremendously if they’re effectively used. As with any technology implementation, the solution provider’s role as trusted advisor to customers puts it in an ideal position to offer advice on finding the right product fit and streamlining that into the appropriate processes.
Scaling Across the Enterprise
The final challenge highlighted by Murphy is one that many Agile early adopters are starting to face now that they’re taking Agile principles from little pilot projects within pockets of the organization into wider-reaching initiatives across the enterprise.
"I definitely see customers having issues when they're trying to scale agile," she says. "So often agile is developed in smaller groups normally led by the development organization and with smaller projects. Then when they try to scale that to make agile an enterprise wide initiative because they start to come into some issues."
Often times issues arise due to a lack of commonality between teams, Murphy says, be it a common language, common tool or common work process. This can especially be a problem when project teams are distributed.
"Or it could be because you just then have to scale that control and visibility not just to one small team, but across a large number of cross-project initiatives," she says.
Partners can bring that third-party, consultative vision to the table that could help customers spin up their sweeping agile initiatives with as little pain as possible.