It’s widely accepted that Agile software development can deliver significant customer value while providing an engaging and rewarding experience for the team.
Twenty plus years after its implementation, the questions remain: what is Agile, really, and where do Agile frameworks (AKA Agile Methodologies) fit? While frameworks can help, the answer is more about what works for your team.
The term Agile was popularized back in 2001, with the Manifesto for Agile software development. The Agile Manifesto laid a foundation that disrupted how teams deliver valuable software and put the focus on the people doing the work. As its principles and practices gained traction, Agile frameworks were popularized, defining best practices that can be adopted to drive success. Each framework provides a different flavor of practice whose applicability varies based on the needs of the organization.
The Right Mix
Of the many Agile frameworks, among the most popular are Scrum, Kanban, Extreme Programming (XP) and Scaled Agile Frameworks (SAFe).
Scrum is a widely-used framework for product development that uses fixed-length “sprints” –usually two weeks– and supports a continuous rhythm of delivery and improvement, with daily progress assessments. Scrum effectively addresses new and unexpected challenges, including those that might come from evolving customer requirements.
Kanban –a methodology of Japanese origin that came out of lean manufacturing– emphasizes full work transparency and real-time communication. In Kanban, work is queue-oriented and managed on a board, with team members visualizing how things are progressing, with an eye toward achieving the most efficient flow and optimal design. Kanban can be particularly useful for teams that have less predictable work, like DevOps, IT Operations or customer support.
XP specializes in enabling frequent releases through an intense focus on speed and quality practices. It’s particularly suited for adaptability to uncertain requirements or specifications. Common practices followed in XP, which have become widely adopted by teams predominantly using other frameworks, are test driven development, pair programming, continuous integration and continuous deployment, its holy grail.
SAFe, which emerged a decade after the Manifesto, is a comprehensive approach for scaling Agile practices across multiple teams and departments. It is a holistic framework that incorporates practices from the likes of Scrum, Kanban and XP, and introduces practices that become the fabric of managing Agile at scale. Some of these practices include Agile Release Trains (ART), Program Increment planning and releases (PI) and Agile Portfolio Management.
SAFe continues to gain traction as a versatile framework for scaling Agile delivery across any number of teams. It has different levels that can serve as playbooks based on what best fits the size and complexity of your organization.
What’s important and remarkable about SAFe is that it focuses on delivering enterprise agility, while others are generally focused on the team level.
Whether you are new to Agile or forming a new Agile team, I find the best approach is to simply start with the basics to accomplish quick success, then iterate on improvements to your culture and process. When getting started, it’s not necessary to pick a “framework”; however, you should use them to leverage best practices that fit your needs.
Focus your early team efforts on creating an environment that drives a high sense of urgency while building a culture of trust that encourages transparency and provides psychological safety to freely contribute. The desired result is to enable team members to deliver their best work. It helps to have champions on the team that have contributed to successful Agile teams in the past. Nurture and protect team culture. If you have cultural detractors, quickly get them on board or remove them from the team.
For product development teams, some of the early must-have process elements are:
- Whole team collaboration to elaborate detailed requirements with clear acceptance criteria.
- Keeping deliverables small to produce rapid demonstrable progress.
- Perfecting daily standups so the team knows where everyone stands and can help each other move quickly.
- Delivering working software to production as often as possible so the team is forced to continuously focus on production quality.
- Measure and analyze anything you feel is a critical path to enabling all of the above so you can improve as you go, based on real data.
- Conduct regular whole team retrospectives so you can celebrate wins, identify what needs to improve and commit to making those improvements.
For teams more oriented to uncertain scope or discovering much of their work as they go, consider taking a closer look Kanban.
As the team achieves success, continue to pull in other elements to further optimize delivering value and improving team experience.
A Focus On Value
At the end of the day, any element of Agile frameworks and tools can be useful, based on the practical requirements of a company or team. One isn’t better than another. Teams should be in an environment where they are encouraged to be honest, accountable for results and given the authority to mix-and-match approaches as needed. They can and should combine practices from different frameworks as long as the focus is on delivering high-quality, working software.
At all times, it is crucial to keep in mind that Agile is about creating a culture where people thrive. By focusing on small and achievable workloads with measurable value, team members feel success and are motivated to deliver. Aligning this motivation to how the business creates value is the sweet spot for your employees, customers, and shareholders.