It’s clear that Agile is quickly becoming the standard software development methodology, even at the largest corporations. A VersionOne study found that 94% of organisations surveyed now practice Agile.
The methodology’s focus on continuous collaboration and efficient communication across all team members gives rise to one of the fundamental reasons why Agile techniques are so effective—they build shared understanding among a diverse group of individual contributors. But not all teams are getting the results they envisioned.
For teams that work in the same room or on the same floor, applying Agile principles of ‘face-to-face conversation’ and ‘working together daily throughout the project’ is easy to achieve. But what happens with larger teams that are working in different offices, time zones or continents? Distributed teams trying to apply ‘Agile at a distance’ run head-on into the challenge of establishing shared understanding.
> See also: Have we lost the art of ‘agile’?
In enterprise, only about 30% of projects are truly Agile. Maintaining clear and effective communication with team members across the country or around the world is one of the biggest obstacles we see to expanding Agile adoption.
When physical separation inhibits close interaction, distributed teams often fall back on documentation as a substitute. But 40 years of software development has shown us that comprehensive documentation and traditional requirements practices, more often than not, lead to shared confusion. Without a clear vision teams can find themselves in a perpetual loop of Agile sprints, too frequently reworking efforts made in prior sprints.
So when you can’t rely on face-to-face conversation, and documentation doesn’t work, there is a technique to bridge the gap. We call it collaborative visualization, and it helps teams use interactive prototyping to establish a common vision and unequivocally communicate with team members of various backgrounds, skill sets, and expertise. If user stories are a “promise of a conversation,” collaborative prototyping ensures everyone is speaking the same language.
Regardless of your tools or specific methodology, there are several ways teams can use visualisation to conquer Agile at a distance:
Don’t skip discovery
Where does a product backlog come from? Product managers need to find the perfect intersection of user needs, technical feasibility, and business goals to build successful products.
Customers can rarely articulate their own needs. Rapid prototyping gives product managers, product owners, and business analysts an effective way to explore and vet concepts with real customers wherever they may be. Invest only in the ideas that work, and use the prototype to draft the product backlog.
Validate your product backlog
Whether you’re writing requirements or user stories, the goal is the same—to describe a solution to a specific customer problem. But each user story is really just a guess. How do we actually know whether it will, in fact, adequately satisfy a customer’s need? Use rapid prototyping to test your hypotheses and prioritize your backlog with executives, team members, and customers. Make sure you have the right user stories before you commit them to a development sprint.
Think long-term, plan short-term
Establish a long-term vision. As the saying goes, ‘if you don’t know where you’re going, any road will get you there.’ Agile projects sometimes fall victim to shortsightedness. Teams can focus so intently on the delivering the next sprint or two that they lose sight of the big picture. Use collaborative visualisation to establish a long-term product vision. Of course, the vision can and should change over time, but it will ensure that each iteration gets you one step closer to your goal.
Don’t assume user stories are enough
A user story is a great way to capture what a user needs and why in a simple, concise way. But their simplicity means they’re typically too vague and incomplete to use as the basis for implementation. Include prototypes to communicate design and user experience details, and annotate them with inline, in-context requirements to communicate back-end and non-functional requirements, including business rules, security needs, and performance goals.
Get feedback early and often
Design thinking, Agile, and Lean methodologies all share one common thread: a continuous feedback loop. Trying to get reliable and meaningful feedback on user stories and requirements is often ineffective.
Prototyping is the best way to engage all stakeholders, from executives and end-users. It’s only when people actually interact with a product (or prototype) that you discover design flaws, requirements errors, and usability issues. Make sure you can capture stakeholder feedback directly within the prototype itself, so it’s inline and in context.
Integrate your software delivery tools
Today there are tools for development, testing, requirements, design, product management, project management, customer service, and DevOps. You can dramatically improve the productivity of your software delivery teams by connecting these tools and giving everyone real-time updates as changes are made throughout the lifecycle.
Agile, by its very definition, is an adaptive methodology—organisations can modify and innovate within its principles to continuously tune and improve their processes.
So whether you work within a distributed team, or you just want to get your team to the next level of productivity, put ‘collaborative visualisation’ on the agenda for your next retrospective. Shared understanding and a common vision are absolutely essential for Agile success, and that goes for every company, from startup to enterprise.
Sourced from Bryan Lipson, Director of Product Definition at iRise