Twelve Principles of Agile Software

Following are the 12 principles of developing a software in an agile environment,

  1. A customer should be satisfied through early and continuous delivery of valuable software. So the first important objective is how you satisfy the customer in terms of delivering the valuable software.

  2. Any change in the requirement, even late in development, should be welcome. Agile process harness change for the customer's competitive advantage. Agile teams are adaptable to change and they welcome change.

  3. A proper working software should be delivered frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. So the main objective is to deliver working software frequently probably in terms of few weeks or few months.

  4. Business team and developers must work together daily throughout the project. So it’s against a convention where business people are involved only in the initial stages and during the user acceptance testing so they are part of the team.

  5. Projects should be build around motivated individuals. Proper support and environment should be provided to the developers and motivate and trust them to get the job done in efficient way. So you talking about an agile team where team members have motivated themselves and they trust each other.

  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  7. Working software is the primary measure of progress

  8. Agile processes promote sustainable development, so business team, developers and users should be able to maintain a constant pace throughout the project. A sustainable development means where developers are able to sustain the pace in which they do the development.

  9. Continuous attention to technical excellence and good design enhances agility.

  10. Simplicity is essential. Too often methodologies, frameworks and process improvements get mired down in heavy process and documentation.  It’s a balancing act. It’s important to be neither too much, nor too little – just right. Basically simplicity refers to the tasks or activities which are only relevant to what is needed for the project or the project goals.

  11. The best architectures, requirements and designs come out from self-organizing teams. Self-organized teams are teams which are mature enough and self-directed, so don’t need to have autocratic way of working where all directions are given by the project manager (or any manager for that matter).

  12. The last principle of agile methodology is that, at regular intervals, the team reflects on how to become more effective and then tunes and adjusts its behavior accordingly. So whenever there are changes or whenever there are improvements which are identified by the team so team members adjust their working based on that and adjust their behavior accordingly.


Agile Manifesto's 12 Principles



Comments

Popular posts from this blog

Data Bound Controls in ASP.Net - Part 4 (FormView and DetailsView controls)

ASP.net: HttpHandlers

The Clickjacking attack and X-Frame-Options