For decades software development and programming has struggled with new methods to improve productivity and quality, with the primary goals being fewer bugs/reduced effort/cost of maintenance and faster time-to-market. With the advent of new languages and tools even more methods evolved.
Though there are a number of agile (Rapid Application Development) approaches all are focused on providing increased and faster software value, a focus on the customer/user and a concentration on testing and documentation early in development (sometimes during the design) phase. The population and adoption of agile has and continues to increase as the benefits are realized and processes mature.
Agile is also known for its iterative processes that use minimally defined, though specific feature or user stories/definitions around which development and test tasks.
Usually about 30 days (sometimes called a sprint) work to deliver functional software. Obviously, this is a much different method than more traditional waterfall types of approaches that focus on a large number of features/functionality deliverables in a single release that may take months or even years. Most importantly waterfall releases are not functional until near the end of that process thus, delivering no ROI until the actual release of all of the features.
Agile Center of Excellence Training
Hanzo Lab's's provides hands-on training in SCRUM Agile Development.
Scrum is a set of interrelated practices and rules that optimize the development environment, reduce organizational overhead, and closely synchronize market requirements with iterative prototypes. Based on modern process control theory, Scrum causes the best possible software to be constructed given the available resources, acceptable quality, and required release dates.