Agile Management Overview
Agile Management employs an incremental and iterative approach to software management efforts. Agile plans include feature-based scope of work, developed with significant involvement and contribution from all involved in the project. Its environment is one in which collaborative teams are empowered and motivated to produce timely, cost-effective, and high-quality software that meets the needs of its stakeholders and customers.
Description of Agile Development Methodology
Agile Development Methodology can most simply be described in one word–“Agile." Its simplistic, flexible, adaptive, and change-amenable approach focuses on people, results, and high team collaboration.The idea is that the team can be more responsive to change as a result of:
- Reducing the cost of moving information between people.
- Reducing the amount of elapsed time between making a decision and seeing the consequence of that decision.
- Co-locating people close together.
- Increasing in-person communication.
- Motivating and empowering team members.
- Including user experts as part of the team.
- Working incrementally and iteratively.
Several Agile Development processes are available for the user, including:
- Extreme Programming – A software development style that takes a code-centric view of the activity, highly regards changing requirements, and places high value on adaptability.
- SCRUM – A process for software development wherein projects progress through a series of incremental iterations called “sprints," each of which typically lasts 2- 4 weeks, in environments with rapidly changing requirements.
- Crystal – The smallest (in terms of the project size it addresses, usually up to 8 developers) in a series of software methodologies. Crystal is a family of human-powered and adaptive ultra-light, shrink-to-fit methodologies.
- Dynamic Systems Development Method (DSDM) – A software approach in which time is fixed for the life of a project and resources are fixed for as far as possible and requirements are allowed to change.
- Whitewater Interactive System Development with Object Models (Wisdom) – A software approach that addresses the needs of small development teams that are required to build and maintain the highest quality interactive systems.
Who Should Use Agile Development?
Agile Development is geared toward high-speed and high-change business and technology projects. It has proven to be successful in environments where:
- Customers, users, and stakeholders are active participants throughout the project.
- Requirements change rapidly.
- An iterative and incremental approach to modeling is employed.
- Primary focus is on software development rather than processes or documentation.
- Aim is for simplicity in terms of tools and models used.
- Most models are being discarded as development progresses.
- Work (models and/or documentation) is not handed off to another team.
Benefits of Using Agile Management
Those who have successfully employed the Agile Management approach have achieved many significant business benefits, including:
- Simplicity and transparency.
- Higher customer satisfaction.
- Greater staff morale and retention.
- Improved quality deliverables.
- Improved business value.
- Quicker Return on Investment (ROI).
- Increased productivity and decreased development costs.
- Ability to rapidly change direction.
Fundamentals Remain Key
It is clear that the Agile Methodology, when effectively employed in conducive environments, produces rewarding and significant benefits. As discussed in my previous article, A Look at Agile Management, it remains that regardless of the management technique used, application of good project management fundamentals is an absolute must for successful projects.