Understanding Agile and its benefits
Organizations all over the world acknowledge that they failed to
– Plan for, or
– React quickly to the changing market requirements or situations
Competition and rates of change continue to increase
– Driven, in large part, by the rapid emergence of new technologies
IT has become easily accessible in every market across the world
– Enterprises must be truly agile to keep pace in this ever changing world
– Processes that can address these frequently changing requirements/priorities need to be adopted
Agile methodology is an approach to project management and is based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.
It is a conceptual framework typically used in software development which promotes foreseen interactions throughout the cycle.
What does Agile mean?
1. Characterized by quickness, lightness, and ease of movement; nimble, quick and well-coordinated in movement; lithe: an agile leap.
2. Mentally quick; alert; active; lively: an agile mind or an agile person.
3. Marked by an ability to think quickly; mentally acute or aware: She’s 95 and still very agile.
→ Break tasks into small increments with minimal planning and do not directly involve long-term planning.
→ Iterations are short time frames (timeboxes) that typically last from one to four weeks.
→ Each agile team will contain a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions.
→ Team composition in an agile project is usually cross-functional and self-organizing.
→ Agile methods emphasize face-to-face communication over written documents when the team is all in the same location.
→ Agile development emphasizes working software as the primary measure of progress.
→ Each iteration involves a team working through a full software development cycle, including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This minimizes overall risk and allows the project to adapt to changes quickly.
→ An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration. Multiple iterations might be required to release a product or new features.
The Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. (Ref: “http://agilemanifesto.org”)
Agile’s basic tenets, its four values:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Twelve principles underlie the Agile Manifesto are:-
- Customer satisfaction by rapid delivery of useful software
- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Close, daily co-operation between business people and developers
- Face-to-face conversation is the best form of communication (co-location)
- Projects are built around motivated individuals, who should be trusted
- Continuous attention to technical excellence and good design
- Simplicity- The art of maximizing the amount of work not done – is essential
- Self-organizing teams
- Regular adaptation to changing circumstances
Benefits of using Agile development?
When to expect benefits from Agile Process?
To get benefited from agile process, make sure that:-
√ team have been trained on Agile process & technology they intend to use, before they start working on the project.
√ team members (developers & testers) are working as one unit, not separately managed by development & test managers.
√ everybody, including management & team members are following the laid down processes.
√ use only those metrics which enhance the morale of the team and increases collaboration, not those metrics which increases competition between the team members.
√ reward the team, not the individuals.
Author: Mohammad Sami, Agile Coach
1,956 total views, 1 views today