Agility is a lot similar to flexibility. You are agile if you are adaptable, lightweight, and responsive to change.
When it comes to agile, there is a manifesto (a policy, or a set of aims) to follow. When you go through this, you will realize the difference that agile is trying to make, in comparison to other very defined methodologies (like waterfall software development).
The Agile Manifesto
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
- Welcome and expect change
- Create small value-added increments
- Utilize feedback loops (from your team, Product Owners, or any other stakeholders)
- Learn constantly
- Focus on developing value
- Failing fast is okay!
- Deliver value throughout the project
- Constantly improve project and processes
The difference between agile and agile frameworks
'Agile' is a practice that derives its values based on iterative and incremental approaches.
Iterative: This practice repeats and refines their way of work in iterations.
Incremental: The practice of adding new functionality in small chunks to software.
For example, imagine a team that is assigned to a project where they have to build an e-commerce web application.
The team can choose to build a chunk of the 'Search' function and test this or the team could choose to build a little of each function.
The agile frameworks incorporate the agile manifesto and its principles in specialized ways to deliver business value. Therefore, agile is an umbrella term that encapsulates its frameworks.
Some famous agile frameworks include SCRUM, Kanban, Extreme Programming (we will be going into detail about each of these in upcoming articles).
Common Agile Misconceptions
1. Agile has no plan!
Any agile project will have a roadmap. Simply, this is open for pivoting and change. Yes, up front we don't plan intricate details in agile. Planning is also not a one-time exercise when it comes to agile. This plan gets revisited a countless number of times. The long term vision is in the team's mind. However, the details are open to change.
2. There is no documentation involved in agile.
Documentation is the way that we keep track of what has been done and what is to be done. Without clear direction to the development/QA teams, the project success will be scarce. In most of the agile frameworks, it is believed that you need to have just enough documentation - not more, not less. Just enough documentation to grasp the idea without unnecessary details.
3. Agile means having less discipline.
Agile does not bind people by rules but this does not mean that agile could work in an environment where the team members are not disciplined. This is because one driving factor in agile is self-managed or self-organized teams. Hence, each team member is supposed to have a work ethic. It should be the team's goal as a whole to contribute, help each other, learn from each other, and drive the project.
So, in summary, all these agile frameworks are known to be lightweight and are not bound by hard and fast rules. Agile encourages self-driven teams. The basis of agile is to create software in small increments to put it out there as soon as possible and learn from each other. At the end of the day, we need software development to be agile as much as possible since the world has entered a whole new era of innovation and agility itself.
Comments
Post a Comment