Agile software development is a conceptual framework for software development that promotes development iterations, open collaboration, and adaptability throughout the lifecycle of the project.
There are many agile development methods; most minimize risk by developing software in short amounts of time. Software developed during one unit of time is referred to as an iteration, which typically lasts from two to four weeks. Each iteration passes through a full software development cycle: planning, requirements analysis, design, coding, and testing.
Agile software documentation is no different than software design and coding. It too is produced as required by stakeholders. An iteration may not add enough functionality to warrant releasing the product to market but the goal is to have an available release (without bugs) at the end of each iteration. With the conclusion of each iteration, stakeholders re-evaluate project priorities with a view to optimizing their return on investment.
It shouldn't come as a surprise that agile software development is on the rise. There are documented case studies of BMC, Lockheed, Litle, and others that demonstrate their adoption of agile development and the resulting expansion. It also turns out that companies using open source software tend to use an agile development methodology.
We believe that one of the “demand drivers” of Black Duck products is agile development. Agile is not a requirement for Black Duck adoption, but if a company is doing software releases in short iterations, they have strong incentives to accelerate development through reuse – from either source code management systems, open source code repositories, third parties, or various combinations of all three – and they will look to automate their development processes.
See, recycling is never a bad thing.