With the launch of Windows 10 in 2015, Microsoft declared that this would be the last ever roll out of a new version of its operating system. Henceforth, all development of the platform would be iterative and deployed on a rolling basis. This has been greatly facilitated by the advent of the ‘always on’ nature of internet connectivity. Gone are the days of receiving a CD in the mail with a new software update which had to be installed on every computer in an organisation.
The old way meant that development teams had to batch a whole set of changes into a major new release for the purposes of being able to deploy a new version. Now, constant and better internet connections have meant that development teams can release a new version of a piece of software in the knowledge that any issues can be patched immediately, rather than waiting until the next release. Further, the rise of software as a service (SaaS) has changed the game in terms of what customers and stakeholders expect from software.
One approach to this new, fast-paced world of software development is agile development. The Agile Manifesto was put together in 2001 and is based around the following values:
These values inform 12 key principles of agile development. In summary, these are about regular delivery of software updates, collaboration between product owners and developers, frequent communication across the team, keeping things simple, a commitment to quality and an undertaking to continuously reflect and improve on working practices.
Agile development methodologies are great if:
Agile development methodologies are less ideal if:
One of the key strengths of agile development is that you have the opportunity to develop, test, tweak and iterate throughout the development process. Showing your work to users of the system early and often is one of the key principles of agile.
Online research tools such as FlexMR are very helpful in this regard. You can specially recruit a team of users to test a key new feature development, or even better, run a continuous panel in which you can gather constant feedback on the usability new features as they go live.
Report CardMR in particular is a useful tool for acquiring feedback from users as it allows you to ask a mixture of qual and quant questions on a scheduled basis. This ensures continuous feedback from users as your development progresses. Or for more in-depth feedback, why not discuss users’ experiences of a particular new tool or feature using an online focus group tool such as Live ChatMR?
Either way, the key to using FlexMR to support agile development is to get your users to test little and often.
Why not go one step further and apply agile principles to your research? Online research is ideally suited to an iterative, flexible research process where you can build on the findings of one piece of research by quickly reacting to follow up to obtain more depth or scale. An online research platform and working methods which allow for a flexible research schedule can expedite this.
Using FlexMR for your online market research means you have a range of tools at your disposal. You can launch a survey, then if this raises further questions, run a diary study to find out more about what consumers actually do. Or, if an issue is raised in a forum thread which seems to have been encountered by several participants, run a quick poll to quickly quantify the issue.
A final word of warning: the key to successfully using agile research techniques to test development is stakeholder engagement. This is important because your stakeholders need to be in a position to constantly make changes to the product and pass these changes to users for iterative testing. A common failing in projects where these methodologies are used is that updates can’t really keep up with the pace of feedback from users, leading to frustration from participants and a lower volume of testing throughput.
However, with engaged stakeholders who are empowered to learn from user feedback and continuously implement user feedback, agile development and research practices go hand-in-hand to produce fantastic user experiences.
How have agile development methods worked for your team? How have you integrated agile research methods into your working practices? Let us know in the comments below.