Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News User-Centric Development Approaches: What's Next?

User-Centric Development Approaches: What's Next?

On her Creating Passionate Users blog, Kathy Sierra recently envisioned software that's not just usable, but SO usable it's transparent.  Its users becomes immersed in the task at hand, as the software empowers them to handle the challenges of their work, without intrusive distractions, workarounds and constraints.  She describes this user experience as "flow", a term coined by psychologist Mihaly Csikszentmihalyi to describe complete and energized focus in an activity, with a high level of enjoyment and fulfillment.  She noted that agile and iterative methods have helped us create more usable software, and wondered: why stop with usability, when really users work best in a "flow" state?  Perhaps end-user "flow" is the next software product differentiator - and if so, what will the software development processes look like that support the creation of such software?

(image from What comes after Usability? by Kathy Sierra)

Sierra is not the only one thinking about post-agile software development.  Trainer and coach Jason Gorman has asked:
...what happens next? When we're eating Agile cereal and wearing Agile shoes and listening to Agile synth pop on our Agile radios, what will it mean to be an 'Agile developer?' ... Impressionism didn't end, it just evolved: passed down through generations of new intellectual and artistic styles, it is alive and well today. We just don't call ourselves "impressionists" any more.

The Agile movement has successfully challenged the existing order and shaken the software industry out of a potential rut, bogged down by outmoded 19th century industrial thinking and "big process" dogma. It has opened the door to a very wide range of possibilities, and is now the catalyst for a Cambrian explosion of new ideas on how to deliver software and systems with bizarre, exotic-sounding names like Pliant Programming and Nonlinear Management.
Usability definitely seems to be one of those expanding possibilities.  Having resolved the most serious glitches in their software engineering processes, teams seem to have more energy to spend with their users.  Innovators in the Agile community are focusing on usability: James Coplien, Senior Agile Coach at Nordija, is running a "Usability for Software Developers" track at QCon in March, insisting that "... it's important for non usability experts to have a basic understanding of this field to increase the success of software being built.".  Larry Constantine's Qcon keynote will be on "Meeting the Usability Challenge" in Lean and Agile teams, and Martin Fowler's keynote "The Yawning Crevasse of Doom" will look at communication between developers and their customers and users.  These themes appear repeatedly in this year's Agile conference schedules.

Alistair Cockburn, in his recently revised "Agile Software Development: The Cooperative Game" specifically commented on the difficulties some are encountering with usability:
In some organizations, would-be agile programmers drive the timeline and insist that the UX design be done incrementally in two-week iterations, simultaneously with programming. The UX [user experience] designers complain that there is insufficient time to research their users, create a design, and program it within the two-week window.
Cockburn's recommendation: adaptation. Teams must address these realities: all stakeholders must collaborate to examine this tension between overall consistency and incremental development.  In the end, it's the familiar prescription for process problems: experiment, reflect and adjust.  (Cockburn suggests the use of his hexagonal architecture to decouple UI from business logic as one possible solution, but the outcome is likely to look quite different for each team that tackles the problem.)

It's likely that further evolution is inevitable, once teams achieve sustainable pace and can make room again for creativity.  To quote agile practitioner and skeptic Jonathan Kohl:
"We've done that, enjoyed it, had challenges, learned from it, and now what's next?"  Maybe that's the curse of the early adopter
The current list of emerging more user-oriented approaches includes: Domain-Driven Design (DDD), Ruby and Ruby on Rails, Behavior-Driven Development (BDD), Domain-Specific Language (DSL), and the "Intentional" software approach.  These are being called "post-agile" by some, while others question the need for this new label.  Kathy Sierra summarized it this way:
Some see it as nothing more than the practical approach of taking the best of what works without being such a hard-core Agile zealot. In other words, "agile" with a lower-case "a" rather than The Church of Agile.

Rate this Article