Agile management is considered as a time boxed, iterative approach used for software delivery that helps building the software incrementally from the start of the project, as a alternate of trying to deliver it all at once in the end.
The process of agile management functions by breaking the projects into little bits of user functionality also referred as user stories, thereafter prioritizing them, and then continuously delivering them in short two week cycles known as ‘iterations’.
In simple terms ‘agile’ means to be quick. Here the word ‘quick’ is appraised by comparing it to other adjectives with similar meaning with an end result that has the potential to be highly subjective. The assessment of the word ‘quick’ is virtual and is primarily based on individualized perceptions.
The process of agile development is based on iterative incremental development, where the requirements and solutions progress through team collaboration. The agile development approach recommends a time-boxed iterative approach which encourages rapid and flexible response to change. Agile Development is a theoretical framework which does not specify any particular practice to be followed. Note, here scrum is a specific agile process framework that defines the practices required to be followed.
Agile Manifesto
In 2001, the Agile Manifesto was published by a team of software developers, highlighting the importance that needs to be given to the development team, taking into account changing requirements, and customer involvement.
What does the Agile Manifesto includes?
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Manifesto for Agile Software Development, Authors: Beck, Kent, et al. (2001)
Manifesto Item | Description |
Individuals and interactions | In this case the importance needs to be given to, self-organization and self-motivation of the team members continuous interaction for work, clarifications, information among the team members |
Working Software | Delivery of working software at short duration intervals helps gain customer trust and assurance in the team. |
Customer collaboration | Constant involvement of customer with the development team ensures communication of necessary modifications. |
Responding to change | Focus on quick response to the proposed changes, which is made possible with short duration iterations. |
Agile Principles
In addition to the four agile values as part of the Agile Manifesto and, agile practitioners follow 12 guiding principles. These values and principles are important in gaining the correct understanding of agile project management.
Principles of Agile Manifesto
Principle | Description |
Satisfaction and Delivery | Customer satisfaction through early and continuous working software. |
Welcoming Change | Welcome changing requirements, even at later stages of development. |
Deliver Frequently | Deliver working software frequently (weekly rather than monthly). |
Communication is the Key | Ensure close association of developers with business people on daily basis. |
Environment and Trust | Build projects around motivated individuals. Give them necessary support and trust them. |
Face-to-face Communication | Encourage face-to-face conversation to ensure efficient and effective communication. |
Software as Measure of Progress | Working software is the primary measure of progress. |
Sustainable Development | Promote sustainable development with the ability to maintain a constant pace throughout the development. |
Attention to Details | Continuous attention to technical excellence and good design. |
The Power of Less | Simplicity is essential. |
Self-organizing Teams | Regular attention of the team on becoming effective in changing circumstances. |
DECLARATION OF INTERDEPENDENCE
The DOI was created in the year 2003, two years after the Agile Manifesto. The Declaration of Interdependence (DOI) was developed strictly for the project management side of the agile projects and it is not a part of the Agile Manifesto. The DOI consists of six principles associated. The main difference between the DOI and the Agile Manifesto is that the DOI is for the project management side of an agile project and the Agile Manifesto guides the entire agile project.
Six Principles associated with the DOI
- Return on Investment: The continuous flow of value as our focus can lead to an increase return on investment. According to this principle, the agile project provides exactly what the business has asked for and nothing more. The purpose of this principle to see if the results provided meet the needs of the business, then this makes a case for project continuation and approval. The continuous flow of value indicates that the project delivers the desired results to the business.
- Frequent interaction with the customer: Reliable results can be delivered by engaging customers in frequent interactions and shared ownership. Frequent interactions with the customer help in delivering the product that meets or exceeds expectations. So an engaged customer helps in sharing ownership of the project, resulting in a reliable relationship.
- Adapting to change: An expected uncertainty can be managed only through iterations, anticipation, and adaptation. The Agile methods are based on Change methodology which is managed through iterations, anticipation, and adaptation. In general, the agile project adapts to change for value- added reasons where very little up-front planning is required.
- Recognizing individual worth: The agile methods recognize the value of individuals on the team. The primary aim of this principle is to assure that each individual team member must be treated well such that their needs should be satisfied and each should get the support needed to be successful on the agile project. It is therefore required that the agile project environment should be the best possible that can be provided.
- Shared responsibility: Performance of the team members can be improved through group accountability and shared responsibility for team effectiveness. It has been observed that self- managed teams are typically more satisfied and enthusiastic when working together to resolve issues. Empowering the team not only results in ownership of project glitches, but also encourages team members to work hard for resolutions. Therefore, when the entire team shares the responsibility for project success, then everyone on the team tries to make it a success.
- Adaptation: Effectiveness and reliability can be improved with the help of situational specific strategies, processes, and practices. Since the agile methods are flexible and unique therefore, the project conditions must be evaluated for the best solutions. The agile methods require adaptation for the best solution according to the availability of the project, thereby taking into account environment and the circumstances present.