Agile Methodology - Crux

Agile development methodology can be implemented in various forms or variants those adhere to the principles of Agile Manifesto. Organizations can have it customized/tailored according to their needs. However, there are the few core principles which really hold the crux and should be practiced to apply agile methodology during software development projects.

1. Develop small, incremental releases and iterate :

Iterations period can vary as per organization’s needs. However, keeping it small helps to deliver the working piece of software earlier, get delivery validated and respond to the change faster.

2. Test-Driven Development :

Bugs found at later stage or in production are more expensive that it is found at the earlier stage. Continuous delivery requires greater efficiency on quality code development and testing it. Test Driven Development strategy focuses on creating test cases prior to actual development. Developer should work on implementation based on tests cases. These tests will be automated unit tests. Once it is done, refactor the unit tests further and the code. This way leads to easier code maintenance and speedy development.

3. Continuous Integration :

Integrate all the source of code on frequent basis to avoid later conflicts of code. It helps to have a clean builds. This can achieved through tool like, capable SCM tool like Git, Automated compilations and build tools like, Maven, Gradle, Chef, Jenkins. Automated testing tools & technologies like, JUnit for Java code, Jasmine for Javascript/UI code OR any other form of automated testing e.g. using selenium. One of the CI policies, that can achieve better results, is to never leave a build in broken state.

4. Customer collaboration :

Regular collaborations with various stakeholders and especially with customer will make sure that requirements are well understood and delivered as per expectations. It will also make sure that changes have been addressed in early stages.

5. Responding to change :

Quick response to the change, even though it is in the later stage of the software development and incorporating it thru continuous development and integration.

6. Retrospective Analysis :

Retrospective Analysis gives a robust mechanism for continuous improvement. It provides a chance to each team member to give feedback. It is a very much required instrument to determine when and where adjustments are required.

Leave a Comment

Your email address will not be published. Required fields are marked *