In Alan Cooper’s seminal work “The Inmates are Running the Asylum”, Cooper discusses systemic problems in the software development life cycle. Too often the software development cycle is adversely effected by the technical team charged with implementing the proposed solution. The technical team is generally not educated or trained in craft of experience design and they generally lack the empathy needed to understand the emotions of their users. The technical team is passionate about the software they write and they are deeply invested in the design they have created. Their personal investment in the software design is a large part of the problem. By their nature engineers are analytical and generally lack the empathy needed to design delightful experiences. It’s not that they don’t want to design delightful experiences; they need better training and insight into the emotional motivations of their users.
In so many ways, the inmates are running the software development asylum. Through their action and inaction the software development teams are driving development schedules and release features. Those aspects of the software that are not sexy enough or are too emotional for the engineers are often labeled difficult to achieve or are given estimated development times that are so long that product owners are reluctant to invest the time to bring them to market. It is through this quiet resource dance that the software development team has hijacked the software design process. Now that the software engineers have hijacked the process, the user’s emotions are cut out of the design process. The software wont crash and it might be reliable, but it’s unlikely to be delightful.
Thankfully Cooper does not stop after clearly describing the problem. The product owners need to recapture control of the design process in order to create software that is not just usable, but potentially delightful. Cooper introduces the concept of the Persona to readers and subsequently to the software development team. Through the persona, Cooper introduces the concept of designing for people to replace the concept of designing for users. By clearly defining the user in terms of name, photograph and emotional motivations the product owners can humanize the user to the software development team. It may be easy for the developers to dismiss the needs and wants of the users, but it becomes much more difficult to deny the needs of Susie the Stylist who is trying to bring harmony to the world.
Software design is a team undertaking. Engineers are very talented and well educated in the area of algorithms and database design. Unfortunately, software users don’t generally care about algorithms or database design. Software users care about issues that effect their jobs and the tools they use to make their job easier. It is likely that the tools needed to make the software user’s job easier requires algorithms and databases, but if the software is hard to learn, hard to remember and difficult to run – it doesn’t really make the user’s job easier. The software development team must include members that are trained in the design craft. These professional designers need to carry the emotional needs and wants of the customer to the software development team. With the right mix of algorithm designers, database designers and experience designers – the software product has a chance at being a delightful experience.