Tuesday, October 5, 2010

Agile

Agile is so close to the process what we learned in university that Spiral Process Of software development. But Agile is not only about Spiral model, it has more meaning than that.

First, Agile is a philosophy (Conceptual Framework); it's not a Process Framework. There are process frameworks, developed by using agile philosophy, like, XP, SCRUM, Lean, DFDM, FDD Crystal and etc.

Agile - Group of Philosophies that provides the abilities to handle changing requirements

  • Lean - Move closer to customer, shorter cycles, eliminate waste, decide as late as possible, empower the team, build in integrity
  • DSDM - Empower the team to make decisions, emphasize frequent product delivery, integrate testing throughout, promote collaboration and cooperation between all stakeholders
  • FDD - Center development around the feature, create a domain model with domain experts
  • Crystal - Emphasize people, gather techniques from other methods, improve communications, adapt the process itself (shrink or grow to fit)
  • Scrum - Manage a prioritized list of requires on a product backlog, collaborate through daily standup meetings, exhibit the product upon iteration completion, use retrospectives to correct the process
  • XP - Emphasize the values of communication, simplicity, feedback, and courage; use specific technical and collaborative practices, including TDD, re-factoring, pair programming, continuous integration, open workspace, and automated acceptance tests

Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Twelve principles underlie the Agile Manifesto, including:

  • 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 welcome
  • 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 circumstance

Regards

Lakmal

No comments:

Post a Comment