Agile UI Design - No Fluff Just Stuff

Agile UI Design

Posted by: Esther Derby on May 3, 2010

Between Kent Beck’s post on Capital Efficient UI Design and attending a UI conference this week, I’m prompted to write down a few thoughts on incorporating UI design into development iterations.

Establish critical design standards at the beginning and work out the details as the software grows.  Look and feel, when to use drop down menus, when to us pop-ups can be decided early.  But it’s not necessary (or desirable) to have a wireframe for screens that won’t be worked on for months.  Too much can change.

Use design critiques to increase the entire team’s understanding of UI design principles.  Design critique asks these questions:  What was the intent of the design choice?  How well does the design choice meet that intent? Is the intent appropriate for the situation?

The goal isn’t to make everyone into an expert UI designer.  But when everyone understands basic principles, communication about UI design will be smoother and more effective.  And the devs (or PO) will be less likely to go off and do something–with the best of intentions, but not enough understanding–that makes the system harder for the people who will interact with it.

Engage in micro iterations on screen design. Work in rapid feedback cycles. Change only one thing at a time, so that the effect of a change is clear.  Looking at the actual design rendered first in simple sketches and then on a computer screen (and there are tools to do this now)  reduces miscommunication and misinterpretation.

Design global navigation last.  Before designing global navigation, design screens with only local navigation–how people do the work of that screen.  Then, as parts of the system are ready to release, create an application map that shows hub and spoke relationships, selection screens, modal screens and links and build just enough global navigation for the current feature set.

Iteration demos to confirm acceptance criteria are necessary, but not sufficient.  End of iteration demos confirm that a small slice of functionality works as anticipated.  But it doesn’t tell you how much about the experience of someone using the system to do work. Watch people using  the software to understand their environment, work, and experience of the software. UX experts recommend that each team member spend 2 hours every six weeks watching people use the software the team members write.

These aren’t the only was to help UI design fit into an iterative development cycle.  But they are a start, and we need to start somewhere to bring user experience into agile.

Post to Twitter

Esther Derby

About Esther Derby

I draw on four decades of experience leading, observing, and living organizational change. I work with a broad array of organizations. My clients include both start ups and Fortune 500 companies.

Based on experience and research, my approach blends attention to humans and deep knowledge of complex adaptive systems.

I have been called one of the most influential voices within the agile communities when it comes to developing organizations, coaching teams, and transforming management. My work over many years has influenced coaches and leaders across many companies.

Background
I started my career as a programmer. However, over the years I’ve worn many hats, including business owner, internal consultant and manager. From all these perspectives, one thing was clear: individual, team, and even organizational success depends greatly on the work environment and organizational dynamics. As a result, I have spent the last twenty-five years helping companies shape their environment for optimum success.

My formal education includes an MA in Organizational Leadership and a certificate in Human Systems Dynamics.

Follow me on Twitter @estherderby

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »