Tuesday 7 March 2017

Agile Development Methodologies

Nowadays in software engineering, software development methodologies are being used for both large and small scale projects. Simply put, a software development methodology or software development lifecycle divides the software development work into distinct stages in order to facilitate better planning and management throughout the production. Everyone desires to have a deliverable product at the end, which is why software development methodologies are used in development. Today there are many development lifecycle models such as Waterfall, V, incremental, Iterative, Spiral, and Prototype. Companies select the methodology by considering their application.

One of the most popular models used today is the agile development methodology. Why is that? Why do companies prefer agile over other methodologies? There are many advantages of selecting the agile methodology, such as cost effectiveness, continuous attention, allows for change, direct engagement of stakeholders. But we should keep in mind that agile methodology will not be applicable for each and every project because selecting the right development methodology is project-dependent.

Agile is based on iterative development, which offers more flexibility than traditional methods (e.g., Waterfall model). Why is agile widely used in the industry? That's because it uses an adaptive and iterative approach. Agile methods divide the workload into iteration builds. In each iteration, it includes planning, requirements analysis, designing, building, and testing. In the agile workflow, tasks are divided into small timeframes and in each iteration, a demo-able feature is released for review. The final build holds all features required by the client/customer.

There are some disadvantages too in this methodology. One main disadvantage is the difficulty with assessing the cost required at the beginning, commonly seen in large scale projects. Another disadvantage is that a project can go off the track if the customer/client cannot engage in the project actively. In the meantime, we should keep in mind that when new changes are not needed to be implemented, we can use a traditional software development methodology or any other simple methodology over agile. Nowadays various agile methodologies use the same philosophy with their own recipe of practices. For example in Scrum and XP methodologies, Scrum teams work in iterations typically two weeks to one month long, while in XP an iteration is one or two weeks long. Summarizing the main points, using an agile methodology, an organization can improve their productivity, level of software quality, customer satisfaction and also revenue.

No comments:

Post a Comment

Physics Short Note iOS Application

This iOS application is developed to help the students who are doing their A/L in Science stream in Sri Lanka. Application gives the most re...