InfoQ

News

User-Centric Development Approaches: What's Next?

Posted by Deborah Hartmann on Feb 12, 2007 05:50 AM

Community
Agile,
Ruby
Topics
Domain Specific Languages,
Customers & Requirements,
Delivering Value
Tags
BDD,
Domain Driven Design,
Ruby on Rails,
Useability
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.

Related Sponsor

VersionOne is recognized by Agile practitioners as the leader in Agile project management tools. Companies such as Adobe, BBC, CNN, Dow, HP, IBM, Sony and 3M have turned to VersionOne to help deliver greater value to their customers.

3 comments

Reply

Usability as the last (first?) frontier by Dan Sessions Posted Feb 13, 2007 12:44 PM
link markup error by Enviro Info Posted Feb 15, 2007 2:57 PM
Re: link markup error by Deborah Hartmann Posted Feb 15, 2007 9:12 PM
  1. Back to top

    Usability as the last (first?) frontier

    Feb 13, 2007 12:44 PM by Dan Sessions

    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.

  2. Back to top

    link markup error

    Feb 15, 2007 2:57 PM by Enviro Info

    Oops! Please fix the 2nd link, currently set to: http://flow http://www.jenovachen.com/flowingames/flowtheory.htm Thanks 8^)

  3. Back to top

    Re: link markup error

    Feb 15, 2007 9:12 PM by Deborah Hartmann

    Done, thanks for the pointer. Deb.

Exclusive Content

Typemock: Past, Present and Future

Eli Lopian of Typemock answers a few questions on Typemock origins and where Typemock is headed.

Agile in Practice: What Is Actually Going On Out There?

Scott Ambler talks about actual data resulting from surveys made during 2006-2008, showing how Agile is perceived and implemented within organizations.

Building Smart Windows Applications

From QCon 2008, Daniel Moth presents on using Visual Studio 2008 and .NET 3.5 to create compelling rich Windows applications.

Joshua Kerievsky about Industrial XP

Joshua Kerievsky, founder of Industrial Logic, talks about Industrial Extreme Programming which extends XP by including practices dealing with management, customers and developers.

Jeff Barr Discusses Amazon Web Services

Amazon Web Services (AWS) Evangelist Jeff Barr discusses SimpleDB, S3, EC2, SQS, cloud computing, how different Amazon services interact, origins of AWS, AWS globalization and the March AWS outage.

More Than Just Spin (Up) : Virtualization for the Enterprise and SaaS

Cloud services have helped bring virtualization to the forefront. Its full power however, also includes other benefits such as high availability, disaster recovery, and rapid provisioning.

Ruby Beyond Rails

John Lam talks about his path to dynamic languages, some of the problems of making IronRuby run fast, and how the DLR helps with implementing languages.

VMware Infrastructure 3 Book Excerpt and Author Interview

VMware Infrastructure 3: Advanced Technical Design Guide and Advanced Operations Guide provides a wealth of practical insights into setting up virtualization in todays corporate environments.