What is Agile?

Agile

Agile, is not new

Agile, is not new

There are many specific agile development methods. Most promote development, teamwork, collaboration, and process adaptability throughout the life-cycle of the project.

Agile Project Management is a method of delivering projects in a highly flexible and interactive manner. It is a variant of the iterative lifecycle where deliverables are submitted in stages. The difference between Agile and iterative development is that the delivery time in Agile is in weeks rather than months. Agile Management derives from Agile software development method of management in the sense that it follows the same standards defined in the Agile Manifesto in regards to collaboration and documentation.

The 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.

 Agile Project Management values the items on the left more than the ones on the right.

Agile Manifesto; the 12 principles:

  • Customer satisfaction by rapid, continuous delivery of useful software.
  • Working software is delivered frequently (weeks rather than months).
  • Working software is the principal measure of progress.
  • Even late changes in requirements are welcomed.
  • Close, daily cooperation 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.
  • Self-organizing teams.
  • Regular adaptation to changing circumstances.

Common characteristics:

Agile methods 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 iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing.

Agile methods emphasize face-to-face communication (face-to-face communication prevents problems from being hidden) overwritten documents and agile teams work in a single open office, which facilitates such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. Larger development efforts may be delivered by multiple teams working toward a common goal.

Agile methods:

Well-known agile software development methods include:

  • Agile Modeling(AM)
  • Agile Unified Process (AUP)
  • Dynamic Systems Development Method (DSDM)
  • Essential Unified Process (EssUP)
  • Extreme Programming (XP)
  • Feature Driven Development (FDD)
  • Open Unified Process (OpenUP)
  • Scrum.

Agile may be great for professionals who know their duties, responsibilities and role within the team. However, it may be not the best method for inexperienced, non-professional team members.

Click to read this comprehensive article that covers the follwoing topics:

  • What does “agile” mean?
  • What are the 5 primary components?
  • What are the 12 fundamental principles?
  • The most popular Methodologies (ie scrum, kanban, lean)
  • The top 10 agile software tools

For further information, then your best resources are :

Principles behind the Agile Manifesto