By s0105094

                                   Agile software development

Agile software development technique is used for developing software projects. It is an iterative and incremental approach of producing the software and is able to produce high quality software at the end of iterations. It minimise the risk by producing short term software and its main aim is to meets the changing demand of the stakeholders. It emphasises on real time communication that is face to face communication between the agile team members which include programmer, customer, technical writers and managers.

Agile software development technique emphasise on the working software as the primary measure of the progress. Its main advantage is that it produces very less documentation as compare to other methods. It emphasise mainly on the rapid production of software and that too with changing demand of the customer and due to this it is criticised as undisciplined.

Principle:

• Customer satisfaction: Agile software development is based on the principle of satisfying the customer by rapid and continuous delivery of useful software.

• Fast delivery of software: Working software should be delivered fast.

• Working software: Working software is the principle measure of progress in this development.

• Late Changes: Lat changes should be welcomed in the requirements.

• Cooperation: There should be daily cooperation between the business people and developers.

• Trust: Projects should be developed around people who should be trustable.

• Technical excellence: Continuous attention should be paid to technical excellence and good design.

• Adaptation: The software should be acceptable to the changing requirements.

Comparison with other methods:

• Focus on Plan: The agile method adapts quickly to changing environments and   therefore it can not be planned taking in view of the future. Hence in agile method   is difficult to describe what exactly will happen in the future. Traditional method  in comparison to agile method focuses on planning in future. So, it can report exactly what features and tasks are planned for entire length of development  process.
•Need change in the direction of plan: The main aim of Agile method is adaptation so  it should be developed in such a way that it can adapt it self according to change and therefore its plan changes according to the need of the vendor. Traditional method on the other hand develops software in a much planned manner and all  conditions and requirements get fixed in the beginning so it is difficult to change  the direction of plan.

Comparison with iterative methods:

• Similarity: Both agile method and iterative method releases software in short period  of time.
• Differences: Agile methods differ from iterative methods in that their time period   is measured in weeks rather than months and work is performed in a highly  collaborative manner

Comparison with waterfall model:

     Waterfall model is a stepwise process of developing software starting from analysis, design, coding, and testing in a strict, pre-planned sequence. The vendor gets the  software after completing all the steps and hence it is very lengthy process. Some agile team uses waterfall model in each iteration of software development. Waterfall  model is a predictive method where as agile method is not a predictive one.

Leave a Reply