Tuesday, April 16, 2013

The 12 Agile Principles

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
==> Objective of most methodologies or approaches.
==> Meaningless statement.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
==> Marketing statement.
==> Damaging and impractical attitude.
==> What if requirements change on the eve of release?

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
==> Basically, the incremental approach

4. Business people and developers must work together daily throughout the project.
==> Impractical
==> Against the idea of division of labour
==> Dragging business people to leave their specialized area and work in unfamiliar areas.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
==> Sound like a developer saying "Leave me alone and assume you will get what you want at the end".
==> Irresponsible project management

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
==> Agreed
==> But, what if the person who possess the information leave the team or the company.

7. Working software is the primary measure of progress.
==> Non testable statement.
==> What is working software? Just compile without error or run without crash, but nothing what customer actually wants?

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
==> Can't understand
==> Sound like an empty statement.

9. Continuous attention to technical excellence and good design enhances agility.
==> Too much focus on the new technology, but not right technology.
==> How to achieve good design without adequate emphasis on design?

10. Simplicity--the art of maximizing the amount of work not done--is essential.
==> Sound like an empty statement.
==> What is essential?
==> Who define what's essential?

11. The best architectures, requirements, and designs emerge from self-organizing teams.
==> Requirements cannot be evolved.
==> Architecture and design can be evolved.
==> Impractical as re-engineering or redevelop from scratch is unusual in practice.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
==> Basic project management or process guidelines.