Most Read Latest News Blog Resources

Agile for a new age




December 1, 2008 — 
Ask Jim York what it takes to master agile methods, and he points to the skill set of a team known for silliness, not software: Drew Carey and the ensemble cast of “Whose Line Is It Anyway?”

York, founder of Virginia-based agile training and consulting firm FoxHedge, runs improvisational-
theater-style seminars that teach developers to think on their feet. Like improv, he noted, agile development sets a few basic rules and then lets participants run with the project, summoning their creativity to flesh out the concept. In his classes, developers are assigned scenarios and must then work together to “act” their way out of them, much as the cast does on Carey’s TV show.

“Somebody sets the stage on that show, and then a bunch of performers get up and you have no idea what’s going to happen,” said York, who has more than 20 years of experience with agile as a developer, tester and analyst. “I kind of think of Drew Carey sitting back there as a Scrum master or even a product owner. He has that buzzer, and anytime things aren’t going well, he hits that buzzer and stops [the action].

“With a product owner, if a team is delivering something that he doesn’t want or it isn’t quite right, he should be stepping in there and actively getting the team to do something different.”

York’s proactive method is one of many approaches that agile experts and companies are formulating as agile development matures.

The Agile Manifesto was drafted back in February 2001 to foster collaborative approaches to software development. Its 12 principles preach, among other things, that people are more valuable than processes and that changes to the project are to be welcomed, not abhorred.

But seven years can be an era in the software industry, and ideas and work habits change fast. Since the manifesto was written, cloud computing has emerged and multicore has moved to the fore, and development managers hold varying views on agile’s applicability to those hot concepts.

At IBM, executives see no contradiction between cloud computing and agile; indeed, cloud computing and multicore introduce complexity that “strengthens the need for the kind of rigor that agile applies to the development environment,” said Harm Sluiman, an IBM distinguished engineer and Rational Automated Software Quality lead architect. “On the collaboration front, particularly with cloud computing, there ends up being more people involved because of the complexity. So although the intent with cloud computing is to separate at runtime the operational aspects of an application from the developer, the developer also has to make sure the application is well isolated and capable of executing in a highly parallel environment.

“In one sense, [the cloud] helps them because it gives them availability to more rapidly provision test environments and [achieve] quicker turnaround, but at the same time, it drives them to do more collaboration in agile-type methodologies with more people. There’s a yin and a yang to the benefits of cloud and multicore.”

Patchen Noelke, a senior product marketing manager with Serena Software, said agile development can be very successful for cloud computing. Serena has 12 to 15 teams working on projects in the cloud to develop and improve products, including Agile on Demand, the Business Mashups platform and the software-as-a-service version of the Mariner project portfolio manager. The teams use Agile on Demand in the cloud to manage their projects, he said.  

Noelke said agile methods are applicable to SaaS, noting that some service companies that perform Web optimization and search engine optimization are using agile processes. Agile fits those technologies well because it lets the customer offer input on the project.

“If a customer wants to add something to a project, it’s easier to have conversations around changing or adding new features with the agile framework,” Noelke said. “I think that particularly suits itself to the SaaS world, where a lot of that service work happens on the platforms.”

Agile’s second life
IT consulting firm Asynchrony is applying agile development to the Second Life virtual world. Brian Button, Asynchrony’s vice president of engineering and director of agile training, said his company is experimenting with using Second Life to run agile projects for distributed teams. Asynchrony is working to implement these methods for project planning and for creating and conducting training classes.

The key for implementing agile development within Second Life is being able to reuse the technology later on, Button said. “As long as there’s a way to use that technology in such a way where we don’t have to do all of our thinking up front and can just basically type in the results of that thinking for the rest of the project, then there’s no reason at all that the agile methods won’t work well,” he said.   

Button said agile has matured as developers have applied it in areas that weren’t a factor earlier in the decade. He said he is working to move a 100-person development team to agile development processes, adding that five to 10 years ago, few would have considered deploying agile processes across a team of that scope.

“Agile is moving into areas where it wasn’t [used] previously, but the core essence of what it means to value people over process and make your customer a first-class member of your team is every bit as valid now as it was then,” he said.

Complex questions
Nonetheless, harnessing agile development in hundred- or thousand-person teams is no walk in the park. Per Kroll, chief architect of IBM’s Rational Expertise Development & Innovation project, said people are grappling with how to make agile work in the complex environments posed by large, distributed teams and by intricate applications that need to interact with other such apps.

Kroll said IBM is pushing hard to instill agile development within its internal organization but that it has encountered problems scaling agile for large, globally distributed teams. The company is targeting an architecture that’s sufficient to accommodate larger teams and is looking at how global teams can best collaborate without face-to-face interaction.

IBM is applying its Jazz collaboration technology to the problem. The Jazz platform supports messaging and blogging to facilitate collaboration and keep team members informed about what others are working on.

FoxHedge’s York said he’s never looked at agile as a software development methodology; rather, he comes at agile from the perspective of satisfying the customer’s needs. Even though agile emphasizes communication with the customer, many organizations misapply agile by concentrating only on accelerating the software delivery process. “We can speed up the coding and testing and all that stuff, but if it doesn’t get the right solution in the hands of the customer at the right time, it’s all for naught,” he said.

Software development doesn’t end at delivery, York noted; a developer’s responsibility spans from the ideation of the customer’s needs to the retirement of the created service or product. Everyone involved in the project should take that long view, he said.
 
There should also be a focus on creativity and improvisation within the agile methodology, he believes. A team that focuses on the business problem it’s trying to solve rather than the product it’s been assigned to build is freer to come up with creative solutions.

Know your customer
According to York, agile’s meaning is often misinterpreted. The agile coach conducted a seminar last summer at the Agile 2008 Conference in Toronto, where he listened to other speakers’ viewpoints on incorporating new ideas into agile development. Topics included lean thinking, team dynamics and emerging economic models for agile contracts. York was dismayed by some session leaders’ assertions that the agile concept doesn’t involve customers or QA. That perception is spreading among developers and organizations, he said.

“I can’t count the number of teams I’ve worked with [that], when I asked who the customer was, [had] no idea,” York said. “When I suggest to these teams that we go and talk to these people, they say, ‘Whoa, we can’t do that.’ That’s like sailing off the end of the earth. There’s just a great deal of fear in expanding the perspective of what agile is outside of the development team.”

Asynchrony’s Button also stressed a focus on people. He said he advocates going with as low-tech an approach as possible, which coincides with the manifesto’s emphasis on face-to-face communication.

“Getting a group of people on the project together in the same room, hanging things on walls so you can see them, touch them and move them, is a much more valuable way of working on projects than to have tools,” he said. “I’m a firm believer that tools are a good place to record what happens at meetings and keep track of progress, but their forte is not ... communication. You need to have people seeing and talking to each other. I understand that things are becoming more and more high-tech, but in a lot of cases, low-tech works better.”

Button said he’s satisfied with the Agile Manifesto just as it is and that developers have learned to apply its tenets more effectively over time. “I think it’s a very short statement about how involving people in the software process makes for a more humane way of creating software,” he said. “It’s not so much that the Agile Manifesto needs to change, but I think that over the past eight years or so, we’ve learned much better ways to apply it. We’ve gained the ability to vocalize what the Agile Manifesto means to teams, and I think we’re better able to explain how the values and principles of being agile are going to help them over and above whatever set of practices they’re using.”

Over time, Serena’s Noelke said, agile teams have developed a range of methodologies that fit the broad framework of the Agile Manifesto, including the dynamic systems development method and Scrum. Developers might differ on practices, he said, but agile is very adaptable, and it lends itself to a long adoption phase, giving developers time to learn the various pieces of the process.

As agile scales for enterprises, Kroll said, the “principles still apply. I think the manifesto talks to pretty high-level principles.”

But he added that “as people are moving toward trying to apply agile in an environment where they have contractual agreements, they face a challenge: How can they on one side have a contractual agreement and on the other side have more-effective collaboration?”

Among the 12 principles, Kroll said, the more general ideas, such as “Working software is the primary measure of progress” and “Continuous attention to technical excellence and good design enhances agility,” hold true in all cases. Others, such as “The most efficient and effective method of conveying information to and within a development team is face to face conversation” and “Individuals and interactions over processes and tools” might need a second look for large-scale agile installations.

With the complexity factors of larger, distributed teams, developers need to have a shared understanding of how they’re working with the infrastructure, Kroll said. The proper infrastructure is paramount in being able to scale agile.


Related Search Term(s): agile developmentcloud computingmulticoreprofessional developmentFoxHedgeIBMSerena


Share this link: http://www.sdtimes.com/link/33076
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG