Roadmap to
Agile methods and tools
What Is Agile Software Development?
In the late 1990's several methodologies began to get increasing
public attention. Each had a different combination of old ideas, new
ideas, and transmuted old ideas.
But they all emphasized close collaboration
between the programmer team and business experts; face-to-face
communication (as more efficient than written documentation);
frequent delivery of new deployable business value; tight,
self-organizing teams; and ways to craft the code and the
team such that the inevitable requirements churn was not a crisis.
Early 2001 saw a workshop in Snowbird, Utah, USA, where various
originators and practitioners of these methodologies met to figure
out just what it was they had in common. They picked the word "agile"
for an umbrella term and crafted the
Manifesto for Agile Software
Development, whose most important part was a statement of
shared development values:
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
(See also the attached principles.)
The Manifesto struck a chord, and it led to many new Agile projects
being started. As with any human endeavor, some succeeded and
some failed. But what was striking about the successes was how much
both the business people and the technical people loved their
project. This was the way they wanted software development
done. Successful projects spawned enthusiasts.
The Agile Alliance exists to help more Agile projects succeed and to
help the enthusiasts start more Agile projects. This particular page
is to help people learn more about Agile software development. In
keeping with the Agile emphasis on face-to-face communication, we urge
you to visit a
users group and talk to your peers about their
experience. But we also provide this Roadmap, which intends to give you a quick
introduction to various agile methods and tools. Click on the links
below to get more info on a certain method or tool. On the following
pages you will find links to pages that contain the specific
information you need.
If you're looking for more information regarding the history of the Agile
Alliance then look at
the articles section.
Each page contains links to books published on the method. Please use
the supplied link if you intend to order any books. By doing so you
sponsor the Agile Alliance. No hassle for you but a great help for us:
href="http://www.amazon.com/exec/obidos/external-search?tag=agilealliance-20&keyword=agile%20methods&mode=books">
General Books on Agile Methods.
Agile Methods:
- General
information about agile methods - AD - Agile Database
Techniques - AM - Agile
Modeling - ASD - Adaptive Software
Development - Crystal
- FDD - Feature Driven
Development - DSDM - Dynamic Systems
Development Method - Lean Software
Development - Scrum
- TDD - Test-Driven Design
- XBreed
- XP - eXtreme Programming
- General
Related tools & techniques:
The tools have no Roadmap info attached (jet), the links
point directly to the website where related information can be found.
If you consider yourself an expert with one of the tools then step
forward and help me build the Roadmap pages.
- General
- Ant (build tool)
- Anthill build server)
- Bugzilla (issue tracking)
- Cruise Control (build tool)
- CVS (version manager)
- CVS gui front end (version manager)
- Roundup (issue tracker)
- Request Tracker (issue tracker)
- Requirements & Issue Tracker
- Subversion (Build and Version Control tool)
- Traction (project log)
- TortoiseCVS (version control)
- XPlanner (XP planning tool)
- xpWeb (XP Project Support tool)
- xpWorkBench (Project Support tool)
- Testing
-
Avignon (acceptance testing) -
href="http://webtest.canoo.com/webtest/manual/WebTestHome.html"> Canoo
WebTest - Easymock
- FIT
- FitNesse
- FoxUnit (unit testing for Visual FoxPro)
- JUnit (Testing
framework) - Jester
- href="http://sourceforge.net/projects/marathonman/"> Marathonman
- MockMaker
-
Pounder -
href="http://clabs.org/dl/iec/iec.2003.027.0.zip"> Ruby lib for IE
controlling (test tool) -
StoryTestRunner runs .NET FIT fixtures. -
href="http://webtest.canoo.com/webtest/manual/WebTestHome.html">
WebTest
-
- Refactoring
- Eclipse (IDE
with refactoring support) - IntelliJ (IDE
with refactoring support) - RefactorIT
(Refactoring tool)
- Eclipse (IDE
- Facilitating, learning etc.
-
href="http://www.openspaceworld.org/tmnfiles/2pageos.htm"> Open Space
(facilitation technique) - The XPGame
-
href="http://www.globalfn.org/resources/theagilefacilitator.pdf"> The
Agile Facilitator
-
href="http://www.openspaceworld.org/tmnfiles/2pageos.htm"> Open Space
- Other tools
- Centipede
- FreeMind mindmapping tool
- Jakarta Velocity (Template Engine)
- Maven
- Poseidon for UML
- SelfEsteem
- Traction (project log)
- Twiki (collaboration tool)
- Commercial tools
-
href="http://www.urbancode.com/products/anthillpro/default.jsp">
Anthill Pro (build server) - BuildForge (build server)
- Clover
- FinalBuilder
- FDDTracker
- Rally (management solutions for Agile teams)
- SCM4ALL
-
Select ScopeManager (Project Management tool) - VersionOne
(Project Management tool)
-
href="http://www.urbancode.com/products/anthillpro/default.jsp">
- General