Agile & Small Web Development Teams
There's plenty to love about adopting an Agile approach to building websites. While I don’t apply all the agile principles and techniques out there, I’ve learned to balance my approach, use what makes sense and works best for everyone. I believe this has improved the success of projects; clients have found that it provides a richer, more involved experience and they're generally much happier with the design, development and the finished product.
There are plenty of articles and resources on the internet about agile software development, so I won’t go into these here. Rather, I’ll quickly share some practical ways to apply agile principles to client projects.
Get clients on board
Before applying any agile principles, it’s critical to first educate the client (aka Product Owner) about the agile principles you want to use. The best way to ‘sell’ this to them is to explain and have a shared understanding that:
- The goal is to get their website up quickly, and
- In order to do that effectively and meet their requirements, they need commit their time and be willing to engage regularly to clarify requirements, attend demonstrations and give feedback.
Keep formal deliverables light
Try to reduce the number of formal deliverables produced
While requirements gathering activities such as site mapping, mockups and wireframing are important, try to reduce the number of formal deliverables produced, following the agile principle of ‘working software over comprehensive documentation’ (Agile Manifesto).
Produce a minimal number of light, working documents and spend your time focusing on getting demonstrable working site elements to show clients. Getting them in front of their site regularly is also valuable – it helps them build a level of comfort about what is being produced and helps you see how they interact with the site and together regularly evaluate the user experience.
Use iterations… where it makes sense
Elicit feedback from clients early and frequently.
You'll probably find that you need to make framework decisions and develop critical functionality at the beginning of a project before an iterative approach makes sense. From this point forward, develop pages and functional areas one at a time and run early and frequently demonstrations with clients to elicit feedback. You can then efficiently process their feedback into the design or development and ensure they get what they’re really after.
Use a team structure that works for you
Many website projects involve small teams, where a few people share multiple traditional roles, including project manager, information architect, user experience expert, business analyst, developer and test analyst roles.
Consequently, the commonly used technique of Daily Standups may not be practical and sometimes doesn’t add much value. And you know what? If it doesn't work for you that's just fine. Instead, focus on providing the client with regular, informal updates and review your progress daily, assessing project activities, potential blockages and priorities.
There's a lot to love about adopting agile principles for you next project. But don't be afraid to change it up so it works for your team and project. Oh, and the next person who calls it an 'agile methodology' gets a slap.