Somehow, I recently stumbled across the controversial discipline and methodology of XP. Not another lame X-based abbreviation for the new OS from Redmond. I’m talking about eXtreme Programming, which has roots from 3 to 6 years ago, depending on which source you believe. I think I originally saw a brief mention of the concept on Paul Boutin’s log, and followed a link to his Wired magazine article and some results of Googling for “extreme programming” (1, 2)
The challenges faced in software development seem fairly similar to the issues we face in dynamic design for the Web. I wonder if you could take some of the same principles of XP and map them to a UX/IA/visual design process, creating the concept of XD, or eXtreme Design.
In designing Web-based projects, we’re often shooting at a moving target. Clients or Product Managers often don’t entirely know or understand what the final product should be until very near or even after the product launch. By the time a team gets to the end of the design process, the result may be solving the wrong problem. The concept of XP allows a group to dynamically alter direction in the middle of a project without negative effect or delay.
The concept of collaborative design is nothing new. The same is true for fast-paced iterative design. But what happens when we purposely combine them together? I wonder if we’d have something that could revolutionize the design process, or if it would end up a total disaster. Take a UX person, an IA, a visual designer, an engineer, a developer, a project manager, a client rep or two, and maybe a duplicate for one of those roles… put them all on a collaborative team and have them work iteratively on all phases of the project. Truly eliminate the linear process where each respective role on the project “hands off” deliverables to the next.
The rapid-paced thinking and development could be tackled by all team members in a highly organized framework. All members attempt to participate equally in as many stages of the project as possible. The continuous feedback loops get used to solve tough design problems without the requirement to work long hours to do so.
The client/PM participates in almost every step of the process, resulting in a solution that addresses more accurately defined needs which the client helped create and refine. We don’t always have the luxury of everyone on the team having so much time. But imagine if you could try the design process this way a few times in a very focused, fast-paced, efficient time schedule.
Too many cooks in the kitchen can hinder progress or kill a project. Sometimes smaller groups can get much more work done in much less time. But assemble the right amount and type of people together, give them all opportunity to resolve the issues, encourage collaborative and iterative design, and this formula just might produce a new way of conducting a successful design process.