Believe it or not, in the middle of all the panic over the first Ebola cases in the U.S., there was actually a question of IT liability. According to Bloomberg News, the Dallas-area hospital's software reportedly did not properly display information about the infected patient's travel history. When the supervising doctor saw Thomas Eric Duncan, he did not know the patient had visited Africa.
Though Duncan told the hospital, the nurse's notes about travel history didn't appear on the doctor's screen. The electronic medical records (EMR) software was made by Epic systems, which may suffer significant damage to its brand reputation.
The story provides a scary reminder to all developers. Whether you write code for enterprise resource management or mobile apps, sometimes, a small flaw in your design can have disastrous consequences.
The Risks of Writing Software and Managing IT Projects
Most of the applications IT contractors write or recommend for clients won't have life or death consequences. Sometimes, you're just overseeing data migrations and doing backend development.
When your face is pressed against the computer screen, it's easy to forget some of the "big-picture" implications of an IT project. Small errors in a project can lead to financial losses for a client, which in turn can lead to a lawsuit filed against your business.
As you work on any IT project, make sure you think about the big-picture issues: is your client getting what they want? Is everyone working together? We've broken down your software development / project liability into four key areas:
- Project management. From an IT perspective, the biggest takeaway from the failed launch of the Obamacare website was that IT projects can flounder if contractors don't properly coordinate their efforts. Developers who worked on different areas of the project were building code that didn't fit with other parts. Delays in certain areas of development meant that the entire system couldn't be adequately tested.
- Design. Think about all the problems related to program design. Clients may struggle with usability. Workflows might not function correctly. Certain key data might not appear on screens where it should. Though design might seem like an aesthetic issue, Epic's medical records software proves that design flaws can lead to real-world problems for your clients.
- Security. Even if you only casually follow IT news, you're well aware of the numerous data breaches and security flaws that have cropped up in 2014. Managing your client's security can be difficult, especially if clients use old software or platforms that are difficult to upgrade. Given the imperfect nature of many small businesses' IT, it's important to teach clients to use their IT securely. For tips on improving client security, see, "Client Education Resources for Fighting Data Breaches."
- Functionality. Does your app lag? Does it perform exactly what your client needs it to? Preventing functionality errors is about more than just writing clean code. Remember to communicate clearly with clients about what they want from your project. Get everything in writing and use these specs to guide your development.
How do your prevent these errors? Make sure to follow best practices for software development, such as communicating with clients and contractors working on a project, instituting iterative software development, and checking for validation / verification errors.