So, agile — yay or nay?

Even before that is answered, it is important to note whether agile is a way of guiding things or is it a set process.

I will argue it’s the former today. Agile can probably be best summed up as —

And it does indeed work. A great example of this is how Envato’s UX team operates.

The problem comes mostly in how agile is interpreted and executed in a team or organization.

In the article above, agile coach Dr. Jeff Sutherland discusses Spotify and Hubspot as examples of successful agile teams. Spotify does this by dividing their agile teams into what they call “squads”. These squads, in turn, are aggregated into groups called “tribes”. Each tribe has complete ownership of a part of the product and deploys at the end of each sprint without breaking anything. To make sure they deploy as quickly as possible, Spotify keeps their process such that no bottlenecks or obstructions come in the way.

So, what makes agile work for some teams and not for others?

Teams and operations have to be structured to get the best out of the particular situation. Spotify creates such an environment for their teams. Agile, at its core, is about rapid development in a flexible, need-based environment. A set of guidelines that helps boost development by dynamically re-calibrating priorities when required. Agile, as a broad framework makes more sense today, rather than following a methodology to the dot. And that applies not just to agile but to any methodology, since no one methodology is going to be fit for all.

Users Know principal and author of books like UX for Lean Startups, and Build Better Products, Laura Klein said in her interview,

“I honestly try not to tell people to follow Lean UX or anything else. These days, I tell people to figure out what they are trying to achieve and to experiment with different processes and tools to try to achieve it.”

If you want to be fast and dynamic, it makes more sense to be have an “agile mindset”. There are some very useful principles that agile throws up which can help teams today move quickly and iterate towards better products.

Collaboration

Cross-functional collaboration, to be exact. I don’t need to state how crucial design is to the developmental cycle. Whether working as 1 developer + 1 designer, or via regular meetings between the design and development teams, there has to be consensus among all stakeholders. The scope of the problem and the direction to solve it should be decided by taking on board both design and engineering viewpoints. Lack of alignment between them is majorly detrimental to moving quickly in an iteration.

Early user feedback

The voice of the user should no doubt be the guiding light of product development. The Agile Manifesto mentions customer collaboration and that is a very good point about agile. Working with users to understand their needs and pain points, their ‘user stories’ is a sure shot route to developing meaningful products. By having shorter feedback loops, development teams are not going waste time and go down alleys that lead to no value for the end user; another point that was elaborated on by Laura Klein in her interview — “The only other thing I’d say is make sure that you’re always focused on building something that is good for both your user and your company. Your user needs and your business needs aren’t in competition with each other.”

Prioritization

Aligning user goals with business goals helps empathize and build for the user. But the question of what needs to be developed before the other features come along is one that many teams can get wrong. Starting with a minimum viable product (MVP) helps get the core functionality spot on. Focus on what is absolutely essential to the user’s experience. Features that provide the most value, the soul of your product. Whether that’s sharing pictures for an Instagram like service, or pinning interesting stories on Pinterest; prioritize user feedback to isolate the basic functionality needed and start from there. Get feedback on this MVP from all stakeholders. Consider the trade-off between development time and value for your business when prioritizing features to build.

Improving and iterating

Tracking issues and managing the backlog doesn’t have to be cumbersome either. Having platforms like zipBoard with JIRA or Trello to manage bugs and issues makes it possible to be agile while making sure that they are not ignored and become overwhelming. Prioritization also helps sort issues which are critical against those that can be handled later. Being pragmatic is an important part of being agile, as also mentioned in the Agile Manifesto under “Responding to change more than following a plan”.