You are on page 1of 4

Agile model Agile methods are a collection of innovative, user-centred approaches to systems development.

It is a methodology for the creative process that anticipates the need for flexibility and applies it into the finished product. Agile software development focuses on keeping code simple, testing often, and delivering functional bits of the application as soon as they're ready. This is because agile is multiple smaller iterative and incremental cycles of development called Sprints that start with developing the most important core of the project/application and building on it incrementally with feedback to come up with a release candidate, then adding more features and improvements on each subsequent release.

Diagram: Graphical illustration of the Agile Model

Agile thought process had started early in the software development and started becoming popular with time due to its flexibility and adaptability. Following are the Agile Manifesto principles 1.1 Individuals and Interactions In agile development, self-organization and motivation are important, as are interactions like co-location and pair programming. 1.2 Working Software Demo working software is considered the best means of communication with the customer to understand their requirement, instead of just depending on documentation. 1.3 Customer Collaboration As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements. 1.4 Responding to Change Agile development is focused on quick responses to change and continuous development. Agile methods are being widely accepted in the software world recently, however, this method may not always be suitable for all products. This model may be useful to certain product because agile itself have own advantages. One of the major advantages of using agile methods to the user is it can break the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas like planning, requirements analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is displayed to the customer and important stakeholders. Some more and main advantages of database to the system users are given below:

Iterations Provide Immediate Feedback Agile Scrum methodology calls for smaller release cycles called iterations, in which the product is always in a ready release state. This ready release state is brought about by continuous feedback from product owners and end users with the development and quality assurance team. Comments, corrections and suggestions are immediately passed on to the developers and testers, who in turn judge if such changes can be accomplished without negatively affecting the schedule and future delivery of features. Standard iteration cycles usually span one to two weeks; thus end users see progress in a shorter amount of time compared to the Waterfall methodology. Fewer Defects in the Final Product. Since Agile model is the simplest model, the result of quality assurance testing being done on each cycle. Agile methodology requires that each iteration be a virtually finished end product, defects are detected very early on. This continuous process of develop, build and test also decrease on the number of defects as the iteration cycles go on. Combine manual testing with automated tests and you drastically increase test coverage before the final product is released. Although there are many advantages of agile methodology, the agile may also have some minor disadvantages. These are: Immediate Feedback Could Result to Scope Creep It is in our nature for humans to be insatiable. We always want more once our most recent craving has been satisfied. It is the same with end users. With the instant

feedback that Agile provides, the danger of scope creep comes in. End users who see that requirements can be met easily (they see only the result, not the effort) will ask for additional features. If the project manager and developers cant manage their expectations, end users would keep on asking for more until the entire team is swamped with additional work. The solution: the project manager (or the entire delivery team) needs to know when and how to say no.

Documentation Gets Left Behind. Agiles code-test-build-release cycle does leave one important component behind, and thats documentation. Due to the fluid nature of Agile, the documentation team needs to follow right behind the curve of the projects rapidly changing scope. A change request or feature could have been thoroughly discussed and agreed to by end users, developers and testers, but if the documentation team hasnt been informed, a crucial document like a user manual, architecture paper or functional requirement doc would suddenly be obsolete. The entire development team should always be aware that any change, however minor, must be brought to the attention of the documentation team.

You might also like