Agile has become increasingly popular these days with constant change being the need of the client. Here are few best Agile practices of agile methodology, which is the highlight of using Agile:
- Customer Involvement: In Agile, customer is involved in every step and the client is made aware of the progress that is being made with respect to the project. When constant communication is involved the client can be assured that the deliverable are as expected.
- User Stories: User requirements are gathered in the form of stories and if they are too complex, they are broken down into smaller user stories.
- Product Backlog: This is an interesting concept where the user requirements are updated in the product backlog and it is reviewed and divided into smaller requirements. Then these are prioritised by the users and the team decides on the effort required to complete a specific task.
- Iterative Development: This would be the main advantage of using Agile methodology in which the user stories are developed in feedback loops. User can view the results from first iteration and hence provides value to the customer faster.
- Time Boxed: Based on the priority, effort required and the impact on the business, the team decides on which user stories to be delivered in each sprint. The time frame of the sprint does not change and the work is chosen based on the sprint schedule.
- Visual Boards: This is intended for the information to be visible to everyone where progress of each step can be tracked easily. Burn down charts is used to track the progress of the project.
- Daily Stand up’s: Meeting which keeps everyone informed about the status of each step and any issues or concerns discussed.
- Show and Tells: When a sprint is completed, ‘show and tell’ meeting is held to demonstrate to the stakeholder the completed product. This meeting can be used effectively, as the client can view the actual working product and provide feedback on any improvements, if required. This can be accomplished in the coming sprints.
- Retrospectives: These meetings are held to analyze on the sprint that is completed. Here, both the positive and the negative outcomes can be discussed. Positive results will provide a basis for the methods that can be used for the success of the sprint and the negative results can provide a basis of understanding on what needs to be done differently to avoid the same mistakes.
- Emergent Documentation: In agile, documentation is not done extensively at the start of the project and emerges slowly as the project progresses. A project which is at its initial stage will not be that clear and spending a lot of time on documentation at that stage would be waste of time, if the final outcome is totally different from the initial plan. It is best to have an emerging documentation which needs to be updated constantly as the project progresses, where the outcome is clearer.
- Continuous integration and automated testing: Testing is a very important part of software life-cycle where defects can be identified before the project goes live. So, it needs to be continuous and not done at the last stage, just before implementation. Agile uses continuous integration to overcome this problem, where regression testing is done with each change to the product. This helps in identifying any issues at an early stage and can be fixed faster. This methodology also uses automated testing to reduce the effort involved by the team to do the regular testing tasks.
- Code review and peer review: Two methods are used to detect any faults with the code. One is the submitting the code to a peer for review and the other is pair programming where two people are involved in developing the code.
These are the few best practices of Agile methodology and the above content is written with references from the book “Agile Foundations” from BCS, The Chartered Institute of IT as well as from online content of Infosec Institute.
Logitrain delivers the best Agile Training Courses, for more information please visit www.logitrain.com.au or call 1800 159 151.