Take great care in adding constraints to processes to avoid doing so needlessly.
Online you will frequently find forms that have required fields that needn’t be. Certainly if you were designing with focus on what is best for customers those requirements rarely make sense. Occasionally a required field is a sensible constraint on an online form but so often they add unnecessary constraints.
I frequently find those forms even requiring a false answer since a response is required and none of the options are true. Often this is because the organization is thinking of the boxes they expect users to fit themselves into rather than thinking how to create the best user experience.
I wrote previously about a company representative that suggested a customer change their name because the computer system didn’t accept names with 2 characters. Constraints on creating a secure password are a frequent failure of web sites for the last 10 years.
After the case was publicized and there was a great deal of negative publicity on social media the banks modified their process and approved the loan. But your organization shouldn’t have as the mistake-proofing (obviously not mistake-proofing at all) that when the process doesn’t quite work well then rely on a massive social media outcry which is a signal to us to straighten out the issue.
Frequently I see unnecessary constraints creating the edge case excuse. By burdening your process with unnecessary constraints your create edge cases that fail and then use the excuse that each of the edge cases is rare and therefore you can’t justify the expense of fixing them.
Another similar idea is the use of flash instead of html for simple web content. Years ago many restaurants had massively complex websites for very simple content and part of that was to create a constraint for flash for their web site to work. And they could just say it was an edge case for any user without flash (and give them a link to install the security risk that is flash on their computer in order to view their menu). After Apple refused to enable flash for the iOS (for iPhones and iPads) the fallacy of creating a constraint that our website can’t be seen by those without flash installed was accepted and many places have fixed this failure (though it is still exist on many small sites).
The lifespan of technology solution is often quite long (even though it seems things are constantly being updated). When you design in constraints that are at least arguable acceptable given the state of affairs today you may well be handicapping yourself in the long term. In general, more effort should be paid to avoid adding constraints to your processes without a very good reason.
First, don’t add constraints without good reason. This seems obvious but is not followed in practice as much as it should be. If you do add constraints what happens if those cases that don’t fit the constraints you added? What about someone without arms for your new fingerprint requirement? You shouldn’t rely on social media firestorm as the only way to fix your process but it that is the way too many companies actually work. And create a culture that values customer focus by everyone in your organization (which requires giving people the authority to act sensibly at the gemba, and a system that updates the standardized process when ).
The thinking that leads to adding constraints that make problems more likely is similar to what I described previous in: Practicing Mistake-Promoting Instead of Mistake-Proofing at Apple.
Product and service design impacts the user experience. When the product is needlessly complicated that does the opposite of mistake-proofing it is mistake-promoting. In addition to mistakes extra “features” often means extra ability for companies to use those “features” against customer. So you have companies like Hewlett-Packard for example has a long history of intentionally breaking customer’s printers using “features” no customer would want.
In another example “smart TVs” provide many paths for mistakes impacting customers (security breaches, software failures, etc.) or for companies to use the “features” to degrade the user’s experience intentionally (such as Samsung injecting ads into the user’s TV experience).
LG was experimenting with pop-up ads in 2013, and Panasonic has been using software updates to add start-up banner ads for years — and that’s just the tip of the iceberg.
Sadly today we must consider how a company will use what we buy from them against us. They create products that allow them to break what we bought if they can find a way to use that to their advantage. In this case we need to consider what constraints exists to prevent the company from abusing us in the future.
Partially consumers can protect themselves by purchasing things without “smart” features that can be used against you (“Smart” TVs seem to me to just be a bad idea). Pretty much any proprietary software integrated with a product is at risk of being abused by the company (or opening you up to risks because their product has security holes that can be used against you – or others). Mainly I think it is wise to look to the track record of the company. Buying something from Hewlett-Packard today given their decades of customer hostility to printer customers seems like an unwise risk to take. Apple isn’t perfect (their software quality the last 5 years has been lacking) but compared to many others they have a long history of being more concerned with providing users what they want and not creating needless constraints for users. Apple has a great deal of room to improve but compared to others they look pretty good.
Related: Software Supporting Processes Not the Other Way Around – Designing In Errors – Support Theatre – Making Life Difficult for Customers – Complicating Simplicity – When Companies Can Treat You Like an ATM, Many Will Do So – No Customer Focus