What is Agile?
Well Agile is a software developmental approach that is based on progressive/incremental and iterative approach. Agile can be said the most fluid and flexible approach to software development. It encourages inputs and feedback from clients or users, provides flexibility in planning and approach to developers and most importantly it enhances effective communication between teams working on it.
The concept of Agile methodology was first published in February 2001 as the Manifesto for Agile Software development. This wonderful and innovative concept was crafted by 17 software developers who met at Utah to discuss and invent a easier way to discover lightweight software development methods.
For Agile Training in INDIA, consult SKILLOGIC™.
The development cycle of Agile Methodology
Here we list the different phases in the Agile developmental cycle. However as the core principle of Agile is flexibility – the phases are not necessary to happen in the mentioned order. The can run parallel to each other or any order they might fit suitable.
- Planning: An viable idea is brought to the table, team ponders over the feasibility and then breakdown the idea into different iterations as per their priority
- Requirement Analysis: A detailed discussions with the stakeholder and clients to understand the target audience, business requirement and the desired features of the software. The discussion has to be concrete, relevant to business and measureable.
- Design: After the requirement analysis, the design team comes up with the system base and software design as per the business requirement. The test team may work out synonymous strategy to proceed.
- Implementation and development: This phase is all about coding and bundling of iterations in the right order and tests them.
- Testing: Post the coding stage, the test team shall test the product and evaluate against all the requirement. During this phase the integration of iterations are done to make the entire software work seamlessly.
- Deployment: After all the right boxes are checked by the testing team, the product is handed over to the client. A tech support team is kept ready for resolving glitches and bugs while using.
Methodologies used to implement Agile
- Extreme Programming (XP) – Main focus lies on improving feature and responsiveness of a software. This promotes flexibility and adapts changes.
- Feature Driven Development (FDD) – The approach is incremental and iterative. The focus over here lies in developing a model and a feature list, planning, designing and developing of the feature list.
- Lean Software Development (LSD) – This methodology eliminates waste, intensifyleaning, faster delivery and encourages team building and participation.
- Kanban: The principles are envisaging the work flow, limit, manage and enhance the effective work flow, adapt and develop continuously.
- Crystal Clear – It focuses on regular delivery of codes to clients/users, insightful improvement, and parallel communication. You can implement this with a team of six to eight developers.
- Scrum – Very popular model to implement agile. It offers restricted flexibility. The roles and responsibilities are fixed and allow a partial delivery of software on regular basis.
For Scrum Master Training in Bangalore, consult SKILLOGIC™.