Introduction
Agile model is a software development approach based on iterative and incremental model. It focuses on process adaptability and customer satisfaction.
Agile means the ability to respond to change. Agile model is an iterative and incremental process that collaborates directly with the customers. This model can be adopted by both individuals or organizations. You can make changes anytime you need. Agile Methods break the big project into small incremental processes.
These process are provided in iterations. Each iteration last only one to three weeks. Each iteration involves a team working through a software development life cycles with its developmental phases. After that, a new iteration will start. The most important endeavor for developing the Agile model is to make easy and rapid project achievements.
Agile believes that each and every project needs to be handled differently. The customer can see how their product is being built. The main problem in building the project is risk. Agile model can easily handle the risk properly. The diagram below represents the agile model.
Development phase of agile model
- Phase 1: Requirement
- Phase 2: Design
- Phase 3: Development
- Phase 4: Integration and Testing
- Phase 5: Deployment
- Phase 6: Review
The popular agile methods:
- Scrum
- Crystal
- Dynamic Software Development Method(DSDM)
- Feature Driven Development(FDD)
- Lean Software Development
- eXtreme Programming(XP)
The Agile Manifesto
A manifesto is a public declaration of policy and aims.
There are 4 key values and 12 principles of agile
The four keys are:
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaboration over contract negotiation.
- Responding to change over following a plan
The 12 principles of agile manifesto are:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face–to–face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity – the art of maximizing the amount of work not done – is essential.
- The best architectures, requirements, and designs emerge from self–organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Benefits
- It is driven by customer description of what is required.
- Easy to control and flexibility for developers.
- Promotes teamwork and cross training.
- You can save your time and money.
- Software changes can be made during the development.
- The best form of communication is face to face conversation.
- It provides proper attention to technical excellence and design.
- The product is delivered frequently after developed.
Drawbacks
- It is high-cost model than other development methodology.
- Useful for large projects.
- More risk of sustainability, maintainability and extensibility.
- Expert project members are requiring in decision making process.
- Not analyzing the requirement properly may lead project go off track.
- There is a lack of strength on necessary designing and documentation.
- Insufficient documentation can lead to troubles in testing.
My brother suggested I might like this blog He was totally right This post actually made my day You can not imagine simply how much time I had spent for this info Thanks
Hi my family member I want to say that this post is awesome nice written and come with approximately all significant infos I would like to peer extra posts like this
Usually I do not read article on blogs however I would like to say that this writeup very compelled me to take a look at and do it Your writing style has been amazed me Thank you very nice article
I was recommended this website by my cousin I am not sure whether this post is written by him as nobody else know such detailed about my trouble You are amazing Thanks
Hi i think that i saw you visited my web site thus i came to Return the favore I am attempting to find things to improve my web siteI suppose its ok to use some of your ideas
I simply could not go away your web site prior to suggesting that I really enjoyed the standard info a person supply on your guests Is going to be back incessantly to investigate crosscheck new posts