Agile methodology
Doing agile is a set of activities, but being agile is the state of mind, the ongoing capability, and the cultural adaptability.
It is important to differentiate between agile methodology and scrum. The former is a project management philosophy and the latter is one of the many frameworks to implement this philosophy.
The Agile methodology is a way to manage a project by breaking it up into several phases. It involves constant collaboration with stakeholders and continuous improvement at every stage. Once the work begins, teams cycle through a process of planning, executing, and evaluating. Continuous collaboration is vital, both with team members and project stakeholders.
Agile methodologies overview
The Agile Manifesto of Software Development put forth a groundbreaking mindset on delivering value and collaborating with customers. Agile's four main values 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
Agile methodology principles
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.
Agile methodology jargon
Agile methodology comes with its jargon and as most companies work with agile, it is of major importance to be acquainted with this jargon. You can find an exhaustive list here.
Agile methodology drift
While the methodology can bring huge benefits and velocity when applied properly, it can also lead to lot of frustration when not run properly. Some companies want to apply agile at all price and this leads to the creation of many positions with unclear roles and responsibilities and an atmosphere where buzzwords and manipulated agile charts prevail instead of concrete results.
This video describes perfectly with irony and satire what agile can result if wrongly implemented.
Last updated