I’ve worked on quite a few Agile-based product development projects, noteworthy among them are an iPhone app design project and a social-collaboration design project (Jive-based). Whereas we’ve achieved great user experience results through those projects, the ultimate test has yet to come – building one’s own website, where one has to constantly balance and combine all aspects of web development, such as design, user testing, coding, and content writing, within a really short time frame with very limited resource. Let’s examine the challenges and solutions:
Web development constraints
To begin with, I tried not to involve developers as they could be expensive for what I tried to achieve, and it could be an over kill for a small business website. That meant I needed to either use a self-service site builder such as Yahoo! SiteBuilder or use a CMS system like WordPress. Due to the ease of managing content, I chose the latter.
However, unlike Dreamweaver, which is a programming language that allows you to do whatever that you want in terms of design, WordPress utilizes pre-defined themes combined with 3rd-party plugins to achieve design objectives. That means the design and content writing was heavily limited by the development process. That really requires an Agile development process.
Designing the website the Agile way is the only viable solution to attain good user experience
In a typical Water Fall model of software development, the team can work on one component a time and then hand this off to the downstream team. For instance, the team can work on a wireframe design and hand it off to visual designers, who apply visual treatment and then hand it off to the developers for implementation.
In this case, all of those design and writing activities had to happen at the same time. For example, when applying visual design, I had to take into consideration the development (e.g., tweaking the .css file to implement the visual design, install a WordPress plugin to support a design change). When writing the content, I had to consider both the visual design (e.g., to write concisely to afford a clean look) and the development (e.g., the writing has to work with a blog format due to the fact that WordPress is optimized to support blogging). What about user testing? Instead of conducting a formal user research study, I had to solicit feedback from friends and colleagues on the fly to assess the comprehensibility and discoverability of content as well as brand perception.
So, the end result? Based on feedback I heard, this was really an easy to use and visually appealing website as far as a small business website is concerned. You can take a look at the UX Strategized website. Of course there’re still many improvements to be made. One thing that stands out is that the site still looks like a blog because it has some of the visual elements associated with blog posts. The visual design and logo can certainly benefit from a professional visual designer’s help.
Now the take home message. In hindsight, I’ve found that there really wasn’t a better way to do it than applying the Agile process. It wouldn’t have worked if I created wireframe design in one step, and then applied visual design in another step, and then developed the website in yet another step, because all of those activities depend on one another. The Agile process, on the other hand, provides the kind of flexibility to allow the design to talk to the development and vice versa, resulting a more seamless process and robust user experience.
Of course, this is just an exploration and this is a small business context. But combining this with my experience with much larger, enterprise-level projects, I firmly believe that there’s indeed lots of upside in marrying user experience design with the Agile development process.