When developing software using agile methodologies, one of the main goals is to keep the customer close. If the customer is fully engaged in the process, they can’t be surprised by results and they can’t complain about not knowing what was going on. Keeping the customer close gives you and them a lot of confidence in your releases.

I’ve tackled several projects this way so far, and a truism has distilled itself out of my experiences: as far as the customer is concerned, the screen IS the application. When the customer shows up in the team room on day three of an iteration, they won’t have a clue when you tell them that all the programmers have been working in the “persistence tier” or that you’ve spent all your cycles on “end-to-end security”. If there isn’t a screen to bang on, they don’t think you’ve been working.

Many development teams I have been involved with have put off working on the UI until one of the final tasks. They believe either:

a) UI development is easy, and can wait until the end, or

b) You have to nail down the backend before you know what the UI should do

In the face of agile development, these rationalizations are just plain wrong. The UI has to happen up front, and concurrent with everything else. The customer, to stay engaged with the team, has to have something experiential to latch on to. For them, code doesn’t cut it. The database schema is ephemeral. Design documents are worse than useless; they imply that you have spent time on something other than code.

So on my latest project, the team decided that on day 1 of the first iteration, we would generate something tangible. Even though that has led to the overall slowing down of the iteration, the customer has been really energized by seeing a UI so fast. For them, it is radically different than any other software development experience they have ever had. Success is entirely defined by being able to interact with the product.

Never let the UI take a back seat to what you feel is “more important”, because what’s important is making your customer happy, and better yet, excited. And the screen is both the app, and the way to their hearts.