Primum non nocere is a Latin phrase that means “first, do no harm.” This principle is commonly taught in healthcare. In fact, the Hippocratic Oath, taken by doctors, promises they will abstain from doing harm to their patients. Though the exact phrase isn’t included in the original Hippocratic Oath (contrary to popular belief), the Oath does include a similar expectation of “abstain from all intentional wrong-doing and harm”. In the 19th Century, the English surgeon Thomas Inman, who was a house-surgeon to the Liverpool Royal Infirmary coined the phrase “Practice two things in your dealings with disease: either help or do not harm the patient”.
There are a lot of other professions where “do no harm” should be more emphasized as important to service delivery. For example, food preparation – we’ve read countless stories where food providers have issued recalls because of issues with the food they delivered. A common example is the presence of salmonella in meats, vegetables or even peanut butter. Often, the issue isn’t discovered until someone gets sick, or even dies, from salmonella poisoning. Many times, the issue could have been prevented with better safety practices or better training.
Another area where “do no harm” should be considered more carefully (and is the point of this post) is software development. I can’t tell you how many times I’ve worked with a new version of a software product with unexpected changes to the user interface, or with certain features outright broken or removed unexpectedly. While negative changes in software releases aren’t a “life or death” impact, they still cause users to be annoyed or worse – disrupted and missing important deadlines.
I’ve seen it happen with software platforms across the board, including many times eDiscovery software platforms. However, I will use two non-eDiscovery examples I’ve experienced recently to illustrate my point with companies that are frequently changing their interface (no need to shame any eDiscovery developers here).
Facebook: In their metamorphosis to Meta Systems (see what I did there? 😉 ), Facebook has made frequent changes to break out personal and professional profiles into separate areas, with separate paths to get to them. Oddly, some steps I need to take with my professional posts still reside in the personal profile, forcing me to toggle back and forth between the two to publish a post and then share the link. That doesn’t seem well planned out.
WordPress: While WordPress is a great platform for hosting web sites (and is where eDiscovery Today is hosted), they are regularly making changes to the interface for creating blog posts that create confusion and disrupt workflows. For example, they’ve changed the process of changing font colors several times and it has gone from a two-step to a four-step process (who thought that was a good idea?). One recent change took away the form that I used to use to set up guest authors (I had to chat with their Support team to get access to the old form). Another recent change messed up the categories I assign to posts. Those last two changes caused me delays in getting posts out on schedule.
In both cases, these changes came unannounced (at least no announcement that I saw), which was annoying when I attempted to complete normal processes, only to find that I had to figure out how they changed and change the steps accordingly.
Here are three things that software developers should do when rolling out new features to “do no harm” with their customers:
Get User Feedback Before Designing Changes: Many software developers live in a “bubble” of understanding the functionality of a given feature, but they often don’t understand how that feature fits into users’ workflows and how disruptive change can be. While feature changes are necessary to continue to improve the software platform, some changes can cause more harm than good. While some users don’t like any change, some changes are necessary. If the feature change must be implemented to propel the product forward, getting user feedback beforehand will at least give them a heads up that the change is coming, instead of being surprised when it’s there.
When I worked with Bill David at CloudNine, he used to tell customers that “we eat our own dog food” (which always made me chuckle) regarding the fact that we used our own software to provide services as well and had that user perspective. The more you can understand the mentality of your customers in using your product, the more likely the software changes you implement will be positively received.
Focus More on Product QC: Every development team has a corresponding QC team, but it’s been my experience that some companies place less skilled people into those positions, and they aren’t as thorough as they should be. They may focus well during system testing on ensuring a new feature works properly, but not enough to ensure that the changes don’t break other existing processes. Staff your QC team with people at least as qualified to support the software development process as the developers and other professionals in the process. Nothing shatters the good will of new functionality like user discovered software bugs.
Document and Communicate: Every feature release, no matter how small, should include release notes (with screen shots to illustrate changes) to let the users know what’s changed and how it impacts them. And awareness of those release notes should be communicated to users, with a link to them made available in a prominent place. For larger releases, a beta release is appropriate to enable users to test features before they are rolled out and provide feedback on issues they encounter. There should be a mantra of “no surprises” when implementing new features.
There should also be a mantra of “do no harm” when implementing software changes. Sure, it’s not a “life or death” situation like it is with doctors, but if you keep doing harm when rolling out new features, it could lead to the slow death of your software platform.
So, what do you think? Are you sometimes frustrated by software changes that do more harm than good? Please share any comments you might have or if you’d like to know more about a particular topic.
Disclaimer: The views represented herein are exclusively the views of the author, and do not necessarily represent the views held by my employer, my partners or my clients. eDiscovery Today is made available solely for educational purposes to provide general information about general eDiscovery principles and not to provide specific legal advice applicable to any particular circumstance. eDiscovery Today should not be used as a substitute for competent legal advice from a lawyer you have retained and who has agreed to represent you.