Agile development is spreading like wildfire through the ranks of development teams, and application life-cycle management software providers are taking notice.
With the industry’s focus on faster product releases, organizations are adopting the just-in-time mentality and greater collaboration that agile brings. As a result, many ALM companies are tweaking their software with features such as agile templates and user story management to meet these demands.
ALM is moving more toward one universal interface for project management, and moving away from individual pieces of management software that were the norm in traditional development environments, where projects could last anywhere from 18 to 24 months.
To track these long projects, there would usually be three different repositories for storing requirements, tests and defects. Singular pieces of software were created to manage each different life-cycle task. Teams would then usually glue a project manager, such as Microsoft Project, onto the cycle for reporting, but it wasn’t common for people in different roles, such as QA testers and coders, to stay informed on what each person was working on during a project.
“Projects were long, so we could afford to manage requirements, test and defects with separate tools,” said Richard Leavitt, executive vice president of worldwide marketing for Rally Software, who has held positions with companies such as Hewlett-Packard, IBM Rational and Serena Software in the past. “However, these things were highly disconnected from each other. We’d have legions of people trying to stitch together status reports.”
HP’s Mark Sarbiewski, senior director of product marketing, referred to the waterfall method as “very much command–and-control, with these discrete phases. It’s not like you couldn’t be successful in that, but it wasn’t right for all types of projects for sure.”
Tide turns toward agile
However, with the rise of agile development methodologies, the development cycle has shrunk dramatically. Teams might have a three-month release divided up into six iterations, rather than the 18-month projects of the past. The roles of professionals involved in different aspects of the life cycle are changing as well, as developers carry out test-driven development and adopt a planning-on-the-go approach.
As part of these shifting roles, barriers between developers and QA are disappearing. A QA tester, for instance, can kick off a build because he needs to test a bug fix that the engineer built. An engineer can check in code and run tests based on the code he or she changed. The tasks of builders, QA testers and other ALM contributors are beginning to cross-pollinate as project management becomes more accessible.
“From the very beginning of a sprint planning session, there’s a member of QA sitting in the meeting room,” said Paula Rome, Seapine’s director of product management. “In the waterfall process, that’s not always the case. QA doesn’t get on board until much later in the process. With agile, people are designing with quality in mind at the beginning.”
Tools are evolving as well. Agile calls for a “centralized cockpit” to manage the various life-cycle stages from one console, according to Victoria Griggs, senior director of product marketing for CollabNet. This one main project manager allows everyone on a team to stay updated on what their cohorts are working on, and it minimizes manual handoff between developers, testers and other professionals.
“In the classic waterfall approach, those types of handoffs were happening at every iteration,” Griggs explained. “There’s no longer the luxury of being able to track the requirements you’re storing in one system. There’s an overwhelming need to have the type of cockpit that has a view into other systems that might still be running.”
Scott Ambler, IBM’s practice leader of agile development, agreed that agile environments necessitate one main project management piece of software. Individual tools to manage requirements and testing are still used today, but Ambler said they don’t get the job done in complex environments.
“What you find is that point-specific tools, which are very good by themselves, struggle to get the job done in totality,” he said. “You end up doing a lot of extra work because there will be traceability problems and defects being injected.”
Rally’s Leavitt added that with agile development, the amount of project details that developers have to manage is “microscopic” because cycles are much shorter compared to what was the case in the past. Software that was managing thousands of pieces of inventory in traditional software methods, such as defects and other project artifacts, is now managing merely dozens, so the purpose of the tooling changed a lot, he said.
“Agile development also involves scheduling that directly ties to the requirements, and defects and testing will be tied to scheduling,” Leavitt said. “Tools need to be integrated. There will be a common interface, and there will be visibility about the status of all inventory items. Everyone involved in requirements, defects and test knows about each other. That’s a dramatic change.”
Even if a team isn’t completely submersed into agile development (which is the case for many organizations, according to several ALM providers), they still may be looking to make parts of their process more agile. Anders Wallgren, CTO of Electric Cloud, noted that one possible hindrance to agile adoption for some developers and organizations is that they are much more willing to bring in a new tool than bring in a whole new process.
“If I hear about this thing called agile, I’ll say, ‘Well, where do I buy the agile software package?’ And it’s a little more difficult to get people to change their processes,” Wallgren said. “There’s politics involved and the normal human drama of change. But once the tools start to appear that we’re using to make ourselves more agile, I think the transition from one team to another will help people make that change.”
Some companies might not move to agile because they’re working on projects that are more appropriate for a traditional waterfall method, such as projects that involve government regulation. Jeff Johnstone, senior director of sales with TechExcel, said organizations designing software systems for something like nuclear power plants spend many months defining requirements and getting government approval on those requirements.
“Typically, they are companies that are producing products or systems that need to be extremely well-defined up front because of regulations,” Johnstone said. “Regulated industries oftentimes need to have waterfall. They usually have to prove that what they deliver actually matches what was laid out at the requirement level, and they have to show that those requirements haven’t changed, or show what those changes were.”
However, believing that regulatory industries must only use the waterfall method is a “false assumption,” according to IBM’s Ambler. Ambler talked about a project he was brought in to assess around software being created to support a new drug. The software was being created to keep an eye on the clinical trial and to process data, and Ambler said they had success doing agile with a project involving relatively complex regulations.
“The development team was doing agile, working in short iterations and working side-by-side with business stakeholders,” Ambler said. “Being in a difficult or uncomfortable situation isn’t an excuse not to be agile.”
ALM takes action
So as agile methodologies shorten release cycles and pull back the curtains separating QA testers, developers and other members of a development team, ALM providers are making sure their software is catering to this more open collaboration.
CollabNet’s Griggs said it is important for ALM providers to remember they’re providing an ALM platform, not an agile point tool. However, that ALM platform needs to be able to provide “world-class agile” while also being supportive of other methodologies.
What has driven the last several revisions of Electric Cloud’s ElectricCommander in terms of adapting to agile development is the need to be able to integrate any tool, any platform and any geography into one system.
“We’ve developed ElectricCommander to allow you to integrate basically anything on the backend very easily,” said Mike Maciag, CEO of Electric Cloud. “Platforms have gone from a system under your desk to virtual environments, cloud environments and embedded platforms. So the system has had to evolve to support any platform.”
Executives of Elementool, a software-as-a-service project management company, said the company’s software-as-a-service model allows it to update tools more easily to better cater to agile development. Yaron Sinai, CEO and founder of Elementool, said the company will soon improve reporting functions and let developers customize their welcome page to view only the information they need.
“All Elementool ALM tools are integrated, so the development teams can easily switch back and forth, linking detailed notes and generating reports across tasks like issue tracking and test cases,” Sinai said. “Beefing up history trails and integrated forums has let users hand off tasks easily from one developer to another as assignments change.”
HP offers the Agile Accelerator, which was built as an agile project manager within HP Quality Center suite. Agile Accelerator has pre-built agile user roles, along with agile process workflows and configurations. It also facilitates agile reporting so developers can track the performance of each iteration.
“When user requirements are mapped out, people walk through the process with Agile Accelerator,” HP’s Sarbiewski said. “That automatically triggers the set of tests that need to be built and specified. Those tests are linked to these user stories and requirements. When the tests are executed, the system obviously records that and defects are found, and it all links together.”
IBM’s Ambler said the Jazz platform has been his company’s response to changes induced by agile development in ALM. The Jazz platform lets everyone work from the same repository. For instance, a requirements analyst can use Rational Requirements Composer to view requirements and user stories, and programmers using Rational Team Project could pick that information up, Ambler explained.
“In agile, you require software that allows you to automate as much of the status reporting as possible,” Ambler said. “As an individual on the team, I need to know what the team is up to, but I need to know my work for this iteration and the dependencies around it. Jazz can show you who on the team is currently available, which can be good for distributed teams.”
MKS, meanwhile, has a process-agnostic approach, and it doesn’t focus on attempting to “implement a given methodology for methodology’s sake,” according to John Cull, vice president of customer solutions. Cull said that MKS Integrity offers an agile framework because it is customizable to the project or application at hand, but MKS hasn’t made any fundamental product changes because of agile.
“The impetus isn’t on agile itself,” Cull said. “There’s been a number of other methodologies prior to agile that allow you to get to market fast. Agile is certainly the hottest buzzword right now, but there have been many methodologies that have preceded it.”
Rally, which was formed in 2002, started up with recognition that inventory management software from the 1980s and 1990s were “completely inadequate for operating at a much faster pace,” said Leavitt. So when creating products, the company made sure requirements, test and defects were connected tightly to planning and tracking.
“Operating at this pace changes everything,” he said. “If you talk to vendors of version control software or build environments, you’ll hear this also. I grew up on some teams where building your software took all weekend long, but now you can do several builds a day. Unit tests used to take weeks, but now if it takes more than a few minutes, people will get frustrated.”
Seapine’s Paula Rome said that Seapine makes sure that the products it provides are consistent with the terminology of agile development. She said people need to get comfortable with terminology like “user story” and “sprint,” and Seapine has to ensure it is using the same language as the user.
“If you’re not calling something the same thing as your tool, there’s some cognitive dissonance,” Rome said. “Being able to call things with the names you use locally helps speed adoption and reduces some confusion.”
TechExcel’s DevSpec links requirements to a sprint, and as developers do their review at the end of the first sprint, they have a better idea of what that product is going to be, according to Johnstone. Every time a requirement is revised in DevSpec, everyone on a team can see what revisions happen and keep abreast of the current state of the requirement.
Much like Rally, ThoughtWorks Studios bases its ALM philosophy around agile with its Mingle agile project manager, which has drag-and-drop virtual card walls where team members can write notes to one another, along with wikis and e-mail alerts.
Agile development has set itself deep into the consciousness of development teams all over the world, and many of the company representatives interviewed for this story confidently said that 100% of their customers are at least thinking about adopting agile practices.
“You may not buy into the whole enchilada,” said Electric Cloud’s Wallgren. “You might pick and choose some of the practices that make sense for you as an organization or team. But the awareness has definitely spiked in the last couple of years.”