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.
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.
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.
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.
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.
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.