Thursday, February 27, 2020

Agile Software Development Research Paper Example | Topics and Well Written Essays - 2000 words

Agile Software Development - Research Paper Example Agile accelerates the development process while maintaining the flexibility of adjusting to changing requirements through iterative development (Dingsoyr et al., 2010, p. 33). This report gives an overview of agile method of software development. It presents a brief technical comparison with the traditional, non-iterative waterfall model, the intent and guiding principles for agile methods, the people involved its advantages and disadvantages, two common agile methodologies and lastly the future of agile. 2. Agile vs. Waterfall In contrast to the traditional non-incremental models such as waterfall, agile does not have distinct phases of capturing requirements, forming architecture and design, development, testing and incorporating feedback as shown in Figure 1. Figure 1 Waterfall Model In agile all these phases are meshed up as can be seen in Figure 2. The intent is to develop a feature set in a way the customer wants. A release of the system is built on the initial requirements wit h respect to the features set provided by the customer, the miniature system is then tested by the customer, requirements are revised and readjusted into the release and then the new system release based on some other remaining features is built. Hence, there is only one similarity present between the traditional non-iterative waterfall model and agile model which is with regards to the testing phase. Agile model has a distinct testing phase as well which is a common process in all of the iterations. Generally, the testing phase comprises of two categories of testing; unit testing done from developer’s perspective and acceptance testing carried out from customer’s perspective. ... The difference lies in the fact that in agile, the developers and the customers are in close communication with each other while in waterfall, the case is different. In waterfall, the testing is done as per the set of requirements and design details initially put together in form of documents in the initial phases of the software cycle. Customer involvement is limited to merely the requirements capturing phase. Any change of requirements on part of customer is not guaranteed to be incorporated in the system. Therefore, agile provides a worthwhile alternative to the heavy-weight document-driven software development methodologies such as waterfall. 3. Agile vs. Rapid Application Development Agile is an incremental model similar to Rapid application development (RAD) model (Linger & Fisher, 2004, p. 180). Figure 3 shows the RAD process. In RAD, initial set of requirements are used to design a prototype for customers to test. The prototype helps customers in realizing the system requirem ents as mostly the customers are unaware of what they want. Figure 3 Rapid Application Development In agile, the underlying model is the same as RAD except that the delivery is made in form of releases that contain a subset of features. Unlike prototypes in RAD, these releases are supposed to be complete miniature software fulfilling a portion of the feature set. The customer defines a set of features and provides a brief detail of how the system must offer these features. A release based on a subset of the features is built within a specified interval and is tested for acceptance by the customer. Any changes requested are adjusted through constant cooperation with the

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.