This article explains you how Struts 2 can be used in Agile Development environment. Struts 2 fully supports Agile software development methodology and can be used in this iterative and incremental development process of the software system.
Agile Development is basically a term used to define a series of software development methodologies, which are developed in order to bring about the fundamental changes which are considered essential for a software development through iterative and incremental approach.
The initial forms of agile methods include Rational Unified Process, Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM), where were then collectively termed as agile methodologies, after the publication of Agile Manifesto in 2001.
In February 2001, 17 software developers at the Snowbird, Utah, resort, had a meeting in order to about the lightweight development methods. After the meeting a manifesto was published regarding the Agile Software Development, which defined a new approach called agile software development.
The Agile Manifesto is based on twelve principles:
Though, each agile methodology follows a unique and specific approach but the vision and core values of all the methods are same as per the Agile Manifesto. All the methods follow the same process of successive approximation and feedback to deliver an efficient software system. Moreover, Agile software development is not only meant for software developers but it also benefits team leaders, project managers, product managers, development managers, testers, Quality analysts, designers and all individuals somehow related to software development.
Agile software developmental process follows a proper cycle, which includes continuous planning, testing, integration, and other forms of continuous evolutionary phases, which involves both project as well as the software. Another advantage with agile development methodology is they are all lightweight unlike the traditional waterfall-style processes, and inherently adaptable. Moreover, it lays emphasis on collaborative approach to work and decision making between the cross-functional teams to ensure efficiency and effectiveness.
Struts 2 support for Agile web application development: