A lot has been written about User-Centered Design (UCD) and Agile development. Over the last 20 years, UCD has eclipsed every other design methodology; activity-centered and goal-directed design methods have largely been forgotten outside of academia.
More recently, Agile development practices have proven themselves across a wide variety of industries, from software development to automotive and aerospace engineering. UCD and Agile work well together, philosophically and practically, paving the way for early adopters to find success in increasingly competitive marketplaces.
What is User-Centered Design and Agile Development?
Briefly, UCD is a design philosophy that prioritizes end-user feedback at all stages of the design process. Similarly, in an Agile development environment, complex jobs are done incrementally and feedback is incorporated after each design iteration.
When implemented correctly, the fusion of these two techniques provides for unparalleled risk management and design flexibility, while producing products that are uniquely adapted to the end user.
Agile development’s goal, ultimately, is to produce useful software. UCD provides a means to this end by prioritizing end-user input. A quick survey of the online literature will give the reader the impression that Agile UCD is a panacea.
By simply incorporating these principals into your organization, or by hiring a developer who pays them lip-service, you’ll have the next great app. Please note that I used the qualifier: “When implemented correctly.” It’s often not that simple.
While UCD and Agile naturally complement each other, there can be problems. Agile development practices can be difficult to implement. It is often hard for established companies to embrace the required changes, culturally and methodologically, especially at the C-level.
Bureaucracy is deadly to Agile and hard to change.
Finding or building the right team is critical.
Agile works best when teams are composed of smart, experienced, and highly motivated people. This is true in any system, but more so in an Agile environment.
Because there is no single Agile methodology, experimentation and creativity need to be encouraged when creating processes. Again, this can be hard for traditional organizations. UCD can be tricky to implement as well. Design research can be costly and time consuming, and designers can feel that their role has been diminished.
UX researchers and designers need to be involved from the very beginning of the project. Feedback needs to be incorporated during every iteration of the project. This can create difficult deadlines for designers if not handled carefully.
These are just a few things to be aware of when picking a development company, or deciding to adopt these principals into your own organization.
For a company that has been built from the ground up incorporating these principles, and experienced with the inherent challenges, the results really can be brilliant.
Software is produced quickly and provides real value and benefit to the consumer. With so many options available, it is becoming more and more important to focus on user experience. The iterative nature of Agile UCD ensures this, and when done well, produces software that is superior to products created by more traditional techniques.
As a User-Centered Design and Agile Development custom software firm, we believe successful software applications are intuitive, based on innate tasks, and focused on end-user practice in real-world environments.