“Feature creep” is a term that comes up regularly during UI design. It refers to the tendency to want to keep adding more capabilities and expanding the scope of a project, whether hardware or software.
This Brand Camp strip perfectly summarizes scope creep. Copyright 2005, Tom Fishburne
Certainly, we are open to shifting requirements as a project progresses. However, these days we refuse to add so much as a text box without a user story that explains to us why this particular text box matters. We decided to be hard-liners about this after seeing previous projects spiral out of control, lose focus, and fail to accomplish their initial goals.
In one instance not long ago, our client ignored the user stories. We were building an app for a company that dealt with confidential assets, and they wanted an application that managed the communication between their employees. The primary means of communication (we all agreed) was an intra-company chat platform using text messages and pictures, which we recorded in the user stories. Later, the client asked to add video, voice messages, and location sharing. In an effort to be “flexible,” we tried to implement it into the new communications, which expanded the scope and delayed the schedule, and after all of that effort, we ultimately realized the additions weren’t beneficial to the end user.
Although they were neat features, the initial principle was to create an app that simplified communication down to the bare minimum so as to promote team building and cooperation without turning into an internal Facebook. We referred them back to the user stories and reminded them of the original intentions of the app, and in the end, we were able to stop the feature creep and get back on track. Experimentation can yield some fantastic results, but ingenuity in meaningless if the product doesn’t meet the base requirements.
Having learned from our mistakes, we maintained a strict adherence to our user stories when working on Quicksilver, a sales app for B2B companies. As a result, the final product stayed strikingly true to our initial designs, mostly because we had done the upfront work of building a comprehensive set of user stories. Building on this foundation saved effort later and kept our work organized and user-focused. While each iteration of the project brought in additional user and client feedback, the core of the concept remained strong.
The product changed very little from the initial designs to the final product.
Each user story has a set of implications for both the design team and the development team. While keeping technical restraints in mind is always good, these are called “user stories” not “developer stories” or even “designer stories.” As we’ve tried to prioritize the user’s point of view using user stories, it has been easier to understand the problem at hand and create a useful end product.