Get started Bring yourself up to speed with our introductory content.

Agile software development tutorial: Agile project management, tools

In this section of our agile tutorial, learn tips for successful agile project management as well as how to choose the right agile tools, from requirements management to bug tracking to unit testing tools.

  Getting started: How to transition to agile
   Benefits of agile development
   Problems with agile development
  Agile project management methodologies
   Choosing tools for agile development
   Agile development requirements gathering
   Testing in an agile environment
   More agile issues, considerations

Agile project management methodologies

How will you tackle agile software development project management? Can traditional project management and agile development really coexist? Well, it depends, according to Michele Sliger, consultant and co-author of The Software Project Manager's Bridge to Agility.

Michele Sliger
Michele Sliger

"In Scrum there is a Scrum Master -- is that a project manager? In XP there is an XP coach -- is that a PM? Most large organizations I've consulted with have decided on their own version of agile from XP, Scrum [and] Lean and still have PMs on the HR books. The job titles are still 'project manager' but the role might be something different," she said. A traditional project manager's role is to run the project and take the blame if things go wrong. As a result, traditional PMs can be very "command-and-control" in their leadership style. In an agile project manager, however, you're looking for a true coach, guide and leader, not someone to micromanage the development process and dictate what each person on the team should do. The bulk of the job in agile project management is mediating between team members to help them achieve consensus and negotiating with the organization to help them understand how their actions affect the team.

Agile teams frequently use different project management tools. "If you're not colocated, you must have some kind of tooling and an infrastructure to support that tooling. You're working at a very fast clip, so you will need tools like Skype, IM, some shareware like for brainstorming, or XPlanner, which helps with agile project management. All agile PM tools provide these basics: a place where the product backlog is maintained, a place that holds iterations, features being worked on, test results and often the tests themselves," Sliger said. But tools alone won't make you agile. "Don't think you can put down the Gantt chart and pick up a burndown chart, and poof, you'll be agile. Agile is a philosophy, and [it's] value-driven instead of plan-driven. You have to understand that paradigm."

Some companies have successfully combined traditional PM with agile methodologies. A Forrester Research report titled "The PMBOK and Agile: Friends or Foes" recommends combining aspects of the Project Management Institute's PMBOK Guide with the Agile Manifesto to get the best of both worlds. PMBOK does bring some strengths that agile lacks, including clear guidance on project initiation and closure; communications management and project integration management; project cost management; and risk management. Conversely, agile's strengths over PMBOK include cross-functional, empowered teams; flexibility and adjustment throughout a project; encouragement of strong working relationships with customers; and just enough rigor and documentation.


Choosing tools for agile development

Respondents to our 2008 agile survey told us they use a variety of agile development tools. Topping the list of essentials were requirements management tools, bug tracking tools, and project management and unit testing tools. Also cited were tools for functional testing, build, collaboration, configuration management and documentation. In addition, with the shorter cycles of agile development, automated testing tools are important, particularly automated regression and unit testing tools.

LYNXDev's Whatmore also considers a daily development meeting a critical tool "to ensure that everyone on the team is up to date with the progress/status of the development team." He said his team holds 15-minute daily development meetings, covering the progress of each person's tasks, problems that a developer may be facing, and any changes or modifications to the application architecture or other functions that could affect the rest of team. "We found that these meetings were invaluable in maintaining communication," he said.

The agile development movement didn't necessarily endorse tools originally. You can be agile and employ no more technology than a command-line interface, a unit tester and some index cards on which to write requirements. But specific tools have evolved in recent years to better support agile efforts. Among these new agile tools are several directly pegged at supporting a new type of project management. Agile project management tool vendors include Rally Software, IBM's Rational software group, TargetProcess, VersionOne and Thoughtworks. Continuous integration build tools and automated testing tools have also become closely associated with agile processes.

Static analysis tools can also be helpful as part of the agile development process. When Mentor Graphics Inc. decided to switch to an agile methodology, the company needed a source code analysis tool that fit its development methodology and its complex code base. Klocwork Insight, a static analysis tool, provided the right services and conformed to agile principles. Mentor Graphics uses the database that Insight creates at each build "to refactor legacy code and to analyze acquired technology details of code, relationships, third-party components and forward architecture," said Kevin Pendleton, the company's director of quality and support systems. Engineers are able to view their own code and correct mistakes on the spot, while the information is still fresh in their minds.

Continue to the next section: Agile requirements gathering.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.