Agile Software development is defined as a software development technique aiming for customer satisfaction through early and continuous delivery of useful software components. In simple terms, agile software development is pretty much what it sounds like, which is fast, efficient, small, etc. Advantages include lower costs, but disadvantages include fewer features and shorter projects. In Agile software development, the developer can make adjustments as they move along throughout the development process. There are four main forms of the agile development methodology, which include rapid prototyping, extreme programming methodology, rational unified process methodology, and the SCRUM methodology. |
The rapid application development (RAD) methodology emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process. The definition of a prototype is a smaller scale representation of the system.
The Extreme Programming Methodology breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete. In the Extreme Programming methodology, faster communication and feedback tends to be emphasized, in order for the development methodology to be successful. The four main parts of the extreme programming methodology is the planning, designing, coding, and testing. Extreme Programming makes sure to involve the users of the system in the development, rather than just having the developers work on the project. Extreme Programming method also makes sure to stress customer satisfaction.
The Rational Unified Process (RUP) Methodology is owned by the company IBM (International Business Machines). The RUP methodology provides a framework for breaking down the development of software into four gates, with each gate consisting of executable iterations (small tasks) of the software in development. The first gate is inception, which includes the inception of the business case, and ensures all stakeholders have a shared understanding of the system. The second gate is the elaboration gate, which provides a rough order of magnitude. The third gate is construction, which includes building and developing the product. The fourth gate is transition, which primary questions answered in this phase address ownership of the system and training of key personnel.
In Scrum Methodology, the organization uses small teams to product small pieces of deliverable software using sprints, or 30 day intervals, to achieve a particular goal. Using this methodology, each day tends to begin or end with a stand up meeting to monitor and control the development effort.
Overall, Agile methodologies tend to be far superior to the traditional development methodologies, such as the waterfall methodology, which is largely outdated. Check out more information in my favorite software book, Agile Software Development, Principles, Patterns, and Practices
Related Articles -
software, software development, programming, books, computers, code,