Agile is a methodology with frameworks built for success. Addoption of Agile means adherence to best practices to guide that success.
Agile is not the Wild West of Development.
Agile projects do have consistent best practices to be followed. Agile projects do use customer requirements to build their products. Agile projects do deliver documentation and recquirements tracability to satisfy compliance regulations.
10 Agile Best Practices
Agile Best Practice #1: Agile projects report status regularly.
These aren’t your project managers status meetings. Agile teams participate in daily stand-ups, regular sprint demos, sprint planning, retrospectives, tech reviews and code reviews. Meetings are held as needed, with the audiences specific for each meeting. The purpose of these meetings vary, but the ultimate goal is to bring people together to resolve issues, discuss prioritization, and enable cooperation.
Agile Best Practice #2: Agile projects work on the right thing at the right time.
We’re not just working on the first thing in a requirements document. Instead of working off of often stale requirements documents, Agile projects work on a prioritzed backlog of work, that is groomed by the Product Owners and ScrumMaster in regular grooming meetings. Instead of focusing on delivering deep requirements for every thing a product can do, the most focus is on the top items in queue. This allows the Product Owner
Agile Best Practice #3: Agile projects deliver working software.
Good Agile projects focus on delivering incremental value. This means the first product a customer touches is often the skeleton for the final product. This allows early design feedback, and keeps the stakeholders and team on the same page. If an agile project loses funding, there is a framework left behind include architecture and user stories tracing to the work done. If a waterfall project loses funding there is a lot of paperwork left behind.
Agile Best Practice #4: Agile projects work at a sustainable, consistent pace.
Agile teams estimate the amount of work they will get done, and after multiple iterations have an estimated velocity. Teams use their velocity and calculated capactiy to estimate the amount of work they will be able to get done. Scrummasters use this estimation to forcast the pace of working through the backlog, and ensures an appropriate stream of ready work for the team to consume.
Agile Best Practice #5: Agile teams communicate.
Agile teams thrive on communication. Teams co-locate when possible, embedding product owners into the team. Stand-ups happen daily. Demonstrations happen with the product owner, stakeholders and team members.
User stories are written to faciliate conversation on requirements between the product owners and developers. Acceptance criteria means product owners approve completed stories and features.
User stories are prioritzed within the backlog, making the product owners priorities transparent to the entire team.
Agile Best Practice #6: Agile projects flex on scope, not time or budget.
Agile teams manage their work through team velocity, a prioritized backlog and a sustainable pace. Teams focus on regular delivery of value through working project. Instead Agile teams focus on the value being delivered and set goals for value delivery. The product owner works with the stakehold to ensure the highest value items are completed first, and because of incremental deliery, Agile teams often deliver working product before a waterfall team’s “deadline”.
Agile Best Practice #7: Agile projects foster strong architcture, development skills, and technical excellence.
Good agile teams take advantage of innovation iterations, architecture sprints to work on tech debt, and aggressivly address code quality. As teams move forward, and begin delivering product incrementally vigiliance around code quality and having a strong architecture runway is critical. Agile teams also partner together, building on each others skills, swarming to resolve technical issues and nurturing the skill level of the entire team.
A strong agile team will have strong technical leadership.
Agile Best Practice #8: Agile projects humanize everyone involved in the proceess
Agile teams collocate when possibe. Product owners embed with the team, webcams, Skype, Slack , Lync all work to bridge the gaps of distance. Developers take ownership of stories in the backlog, product owners accept completed stories signing their name to it. When questions arise, instead of submitting them through a board for analysis and review, or holding a large meeting for discussion, developers work with product owners directly. Stories are written with a role or persona invovled. The goal is to picture someone using the product to achieve a task. There’s a personal involved, taking action.
Agile Best Practice #9: Agile teams stay small.
Agile teams are considered 2-pizza teams. Meaning if you order 2 pizzas you should be able to feed the whole team. Not enough pizza, you’re probably too big.
Larger teams struggle with effecieny. Larger teams do more finger pointing when the work isn’t getting done. Larger teams give bad development practices room to hide. Larger teams
But what if they project requires a larger team? Spin off into feature teams, work in parallel, and divide and conqure the work. Smaller teams develop a stronger internal culture, and allow for better teaming. Large teams allow for anonymity and less responsibility to the work created.
Agile Best Practice #10: Agile teams timebox their work.
A good agile team works in the shortest iteration that is sustainable and produces demonstrabel results. For most teams this is 2 weeks. For teams with an offshore component it’s often 3 weeks. For other teams 1 week is the sweet spot. Problems are broken up into small pieces that can be resolved in a sprint. This promotes faster solutioning, and less thrashing around problems.
Meetings are timeboxed. Timeboxes are respected, leading the team to work effeciently and effectively.
Not all Agile Teams follow these Best Practices
Reaching full Agile maturity takes time. Not all teams start following all these practices at the beginning. Those that do, often need vigilance to stay on path. Ultimatly, each team will find their rythem and works for them. Regular review of the Agile best practices and the Agile manifesto will keep them on track.