Agile, Extreme developers learn how to shoot first

Business analysts gathered in downtown Toronto this week to venture into the wild worlds of what’s called Agile development and Extreme Programming, approaches designed to produce software more quickly and successfully.

Business Analyst World and Project Manager Canada kicked off with a session from IAG’s Louis Molnar. He said companies should focus on “user stories” that based on what they hear about common problems.

“If you don’t know what the customer wants, then you don’t know what to provide them. You have to ask questions,” he said. “You have to minimize the ‘spike’ of vague, ambiguous user cases.”

The developer can’t let the wish list get too crazy either, though. He said, “You can get a whole laundry list of things that also has stuff forgotten, not detailed enough, that’s all over the map. There’s no context to it—where does it all fit?”

Business analyst Liz Gilmour of Fergus, Ontario’s GSW Water Heating said that this is key. “With user requirements, there’s always something that they’ve overlooked, or taken for granted.”

Tackling someone else’s method of doing things can be tough, said Kevin Taylor, a senior program manager with the Mississauga, Ont.-based Psion Teklogix. “In any company, you’re dealing with different cultures. It’s a challenge—you have to see how quickly you can make sure the standard business process works so that everyone can deal with the different teams, and we’re (here at the conferences) looking at tools to help us do that.”

Visually mapping out the strategy can help, Molnar said, as can doing an intensive, one-shot “inquisition” of the business people by the developers so that they can get started quickly.

“You need a culture where the team wants to succeed,” said Geoff Hewson, chief knowledge officer with the Software Productivity Centre. “The key to Agile is commitment—all for one, and one for all. If one fails, everyone fails.”

That way, the cycle gets off to a fast start, making it more realistic to achieve the 30-90-day development cycles typical of Extreme projects. (Hewson even said that a one-week development cycle is possible for smaller projects if the model is well-adhered to.)

But it’s easy to get bogged down in typical Extreme mythology, said Molnar. People should value individuals and interaction over process and tools, while working software should take precedence over comprehensive documentation. Said Molnar: “If the software doesn’t work, then you don’t have anything!”

Customer collaboration should be prioritized above contract negotiation, and responding to change is far more important than just rigidly sticking to the plan. “If it doesn’t go to plan, that doesn’t matter—you have to figure out how to deliver,” he said.

Said Hewson: “You have to figure out what the customer wants and deliver it often, often, often—that’s the essence of Agile.” These quick cycles then have the benefit of urgency, he said, which is often better than the usual developers’ mantra of “Oh, we have time.”

And, Hewson said, from there, developers should always keep their eye on the big goal: the main success story, which is the user story that really drives the project.

When it comes to delivering, frequent small releases are key. “With user stories,” said Molnar, “You have the basic story, and then you build on that because the customer is always going to change their mind. Once they see the working code, it’s ‘Can we change this?’ Just say, ‘We’ll do that later.’ You have to make sure the functionality works first. Do the simplest thing that can possibly work, and only then introduce new things and build on it instead of going the whole enchilada.”

Once the main success scenario is better fleshed-out, the developers can concentrate on tidying up the extensions—the if-something-goes-wrong scenarios. As they go along, said Hewson, they can flesh them out further until the whole map (including main and ancillary success scenarios, and extensions) is complete with units of time required all there and progress charted and released.

Continuous testing and integration, and normalizing the code will also help keep Extreme projects on track. This type of consolidation is an ongoing challenge for Ranjita Ghosh, a program manager with the Toronto-based tax software and services vendor CCH Canadian Ltd. “We want to standardize more. We have a lot of products and information that we want to bring into modern times and bring people up to speed better,” she said.

ProjectWorld and Business Analyst World continues Thursday.

Related Download
3 reasons why Hyperconverged is the cost-efficient, simplified infrastructure for the modern data center Sponsor: Lenovo
3 reasons why Hyperconverged is the cost-efficient, simplified infrastructure for the modern data center
Find out how Hyperconverged systems can help you meet the challenges of the modern IT department. Click here to find out more.
Register Now