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


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Usability as the last (first?) frontier

    by Dan Sessions,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Kathy Sierra points to an idea that should be changing the industry from development-paradigm oriented methods to something focused more on the human realities of users and developers alike. Development executives themselves, for example, could maximize their resources by allowing their people the possibility of experiencing Csikszentmihalyi's "flow" in the development process, at least to the point where it is more like canoe racing than a sign-the-release-first white-water rafting adventure (where teams may or may not survive the path to the goal - although they do go with the flow, so to speak...but then there are the waterfalls...hmmm). Presently, some development paradigms seem to me (from a distance, since I am an individual developer who is occasionally able to experience Csikszentmihalyi's flow) like confusedly artificial variants on coaching sports such as football, possibly because they are not focused more on the individual developer. (I think team development would ideally be closer to formation flying than to a contact sport.) I believe the artificiality of some of the approaches gets reflected in products where usability is only the skeleton of an issue. Meanwhile, usability and users suffer the consequences. It is apparently long past time to look at the people in the process! Congratulations to Ms. Sierra for pointing this out, and Ms. Hartmann for bringing her conclusions (and a good choice of other paradigms) into the light.

  • link markup error

    by Enviro Info,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Oops! Please fix the 2nd link, currently set to:

    Thanks 8^)

  • Re: link markup error

    by Deborah (Hartmann) Preuss,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Done, thanks for the pointer. Deb.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p