back to top

our blog


10 key principles of agile development

Agile Principle 10: No Place For Snipers!

by Kelly Waters, 30 April 2007

Agile development relies on close cooperation and collaboration between all team members and stakeholders. Agile development principles include keeping requirements and documentation lightweight, and acknowledging that change is a normal and acceptable reality in software development. This makes close collaboration particularly important to clarify requirements just-in-time and to keep all team members (including the product […]

Tell me more >
Agile Principle 9: Agile Testing Is Not For Dummies!

by Kelly Waters, 22 April 2007

In agile development, testing is integrated throughout the lifecycle; testing the software continuously throughout its development. Agile development does not have a separate test phase as such. Developers are much more heavily engaged in testing, writing automated repeatable unit tests to validate their code. Apart from being geared towards better quality software, this is also […]

Tell me more >
Agile Principle 8: Enough Is Enough!

by Kelly Waters, 15 April 2007

Pareto’s law is more commonly known as the 80/20 rule. The theory is about the law of distribution and how many things have a similar distribution curve. This means that *typically* 80% of your results may actually come from only 20% of your efforts! Pareto’s law can be seen in many situations – not literally […]

Tell me more >
Agile Principle 7: Done Means DONE!

by Kelly Waters, 08 April 2007

In agile development, “done” should really mean “DONE!”. Features developed within an iteration (Sprint in Scrum), should be 100% complete by the end of the Sprint. Too often in software development, “done” doesn’t really mean “DONE!”. It doesn’t mean tested. It doesn’t necessarily mean styled. And it certainly doesn’t usually mean accepted by the product […]

Tell me more >
Agile Principle 5: How Do You Eat An Elephant?

by Kelly Waters, 25 March 2007

How do you eat an elephant? One bite at a time! Likewise, agile development projects are delivered in small bite-sized pieces, delivering small, incremental *releases* and iterating. In more traditional software development projects, the (simplified) lifecycle is Analyse, Develop, Test – first gathering all known requirements for the whole product, then developing all elements of […]

Tell me more >
Agile Principle 4: Agile Requirements Are Barely Sufficient

by Kelly Waters, 17 March 2007

Agile development teams capture requirements at a high level and on a piecemeal basis, just-in-time for each feature to be developed. Agile requirements are ideally visual and should be barely sufficient, i.e. the absolute minimum required to enable development and testing to proceed with reasonable efficiency. The rationale for this is to minimise the time […]

Tell me more >
Agile Principle 3: Time Waits For No Man!

by Kelly Waters, 11 March 2007

In agile development, requirements evolve, but timescales are fixed. This is in stark contrast to a traditional development project, where one of the earliest goals is to capture all known requirements and baseline the scope so that any other changes are subject to change control. Traditionally, users are educated that it’s much more expensive to […]

Tell me more >