Empathy in Engineering

“Man-computer symbiosis is an expected development in cooperative interaction between men and electronic computers. It will involve very close coupling between the human and the electronic members of the partnership.”  Licklider, Dr. J.C.R. (1960).  Man, Computer, Symbiosis

Nearly 60 years later, and we are not achieving the convergence as well as early pioneers like Dr. J.C.R. Licklider hoped. The process of interacting with computers is often frustrating and cumbersome. Computers would likely feel just as frustrated with us if they had the capacity. It’s not a lack of computing power, poorly built applications, or even badly designed interfaces; but rather the result of a dysfunctional process creating dysfunctional products.

It's seen all too often in both corporate offices and small businesses alike: a lack of empathy for the customer and each other creates an environment of distrust and dissatisfaction. Instead of leveraging natural human strengths of collaboration and creativity, it distills business problems to requirements and checkboxes shuffled between isolated departments. The result is products that feel disjointed and disconnected from the end user. 

Are we building products to meet human requirements? Not only the practical aspects of scale, usability, and operation; but also the conceptual  — defining for whom, why, and what we build — all require us to put the human back in our work. A human-centered process is a multidisciplinary approach rooted in empathy. To create better products that are better for us, we must empathize with the needs of everyone involved. At Heath, human connection is essential to inform each step of our product lifecycle.

What Does Empathy Actually Mean?

We all view the world through a lens of our own perceptions and experience. While there may be a single series of events occurring, we perceive them very differently. It's easy to assume that everyone else is having the same experience as us, but we are all unique, and situations are so dynamic, it requires effort to consider how someone else is feeling. 

Put your thoughts aside and do your best to imagine yourself as the other person. Without judgment, focus on their feelings and how you would feel in their shoes. You can't walk a mile in them, but with time and effort, it is possible to gain new insights into how someone is feeling. The best way is often the most obvious - ask them. Open lines of communication are the single best way to create bridges that allow empathy to flow both ways. Connection creates a stronger partnership and a more productive and efficient working relationship. Yes, it requires trust and courage, but you will gain a new understanding that improves your work and makes it enjoyable and more human.

Being empathic is about connecting with your experience. If I can dig deep and connect to what it is your feeling, and express that back... so you know you are not alone.  Empathy is hugely important, as an added plus it's highly coordinated with everything from leadership skills, family functioning, good parenting, - it's just the essential emotion…”  Brene Brown; Professor, Author, Researcher

Empathy Must Frame Software Development

Studies show that only 50% of software projects are successful; the rest have significant problems in functionality, delays, and cost overruns. 

HUMAN COMPUTER INTERACTION

80% of total maintenance costs are related to user problems
with the system and not technical bugs (Boehm, 1991).

Group 2.png
Group.png

The antonym of empathy is apathy, and its meaning includes a lack of interest, concern, and enthusiasm. That is to say, if a team is not actively engaging in empathy, apathetic patterns emerge that cause the team to disengage from the success of the project. That's why empathy isn't a nice-to-have, it's a must-have. Software development is too complicated and interconnected to be hampered by lack of empathy. When we communicate effectively, our work improves, and we produce better results.

Daniel Goleman, the author of many influential books on emotional intelligence, concludes that “we are wired to connect.” Human brains produce feel-good hormones when we are in sync with each other which encourages us to repeat the behavior. (Goleman,153)

Contemporary researchers often differentiate between two types of empathy: “Affective empathy” refers to the sensations and feelings we get in response to others’ emotions; this can include mirroring what that person is feeling or just feeling stressed when we detect another’s fear or anxiety. “Cognitive empathy,” sometimes called “perspective taking,” refers to our ability to identify and understand other people’s emotions.

Being aware of both is essential because affective empathy alerts us to another's feelings, and cognitive empathy processes the information. When applied, they can produce empathic concern, the care, and awareness of others that results in compassionate action. It's a robust process we commonly employ in user experience design to more deeply understand user needs, but we can apply the same techniques with people we work with every day. A connected, empathetic team not only makes better products but will be happier, more productive and more efficient.

Human-Centered Workplace

The experience of working in a tightly connected, supportive and productive team is profound. When a group meshes well, they have the potential to reach heights of creativity, efficiency, and productivity they never would alone. 

I love Agile software development methodology because every element requires collaboration. We conceive a project together, cooperate daily, and resolve problems regularly. Evolutionary psychologists argue that the social brain - and hence social intelligence - evolved to meet the challenge of navigating the social currents in primate groups. The Agile process assembles teams of talented people with the technical ability to get the job done and the soft skills to be team members. It's the social brain's soft skills of communication, collaboration, and trust that fuel the hard deliverables of world-class software products.

Software development can be a high-pressure job with big budgets, big deadlines, and complicated problems. The old waterfall approach to software development creates siloed teams that enjoy little cohesion. Each person does his or her part of the work and then tosses it over the wall to the next person. Nobody takes responsibility when things go sideways, and it's rare to feel any appreciation when things go as planned. This is not how humans have evolved to work together. We are social animals that thrive in dynamic and communicative environments. By leveraging our innate human strengths, we can build better teams, deliver better results, and have more fun doing it.

The Human-Centered Development Process

Discovery is the first and most crucial step in implementing a human-centered process. It defines our trajectory and provides the framework for our understanding of the problem, our users and their unique needs. Discovery answers the following questions: 

  • What is the problem? 

  • Who has the problem? 

  • What are the possible solutions?

Your first set of answers will be assumptions that form your hypothesis. Like any good scientist, we apply the scientific method to experiment and prove or disprove our theory. We may have an idea for a new or an improved software product, but we must spend time and research to get to the root of what the end user really needs. It is startling how often no one has talked to typical users or watched them interact with similar products.

Your audience is "Who has the problem?" Schedule interviews and talk to them about the issue. Have you defined it accurately? Discuss ways users currently deal with the problem. Observe how they interact with existing solutions.

Present your proposed solution, but don't pitch it. You're not trying to sell clients on the answer, you are presenting its potential utility. Let the user guide the conversation and discuss the areas they perceive as useful and the areas they do not.

When Discovery is complete, we produce a Discovery Assessment by capturing the insights gained through the process. It informs the next step, Definition.

Definition is the process of translating insights gained in Discovery into the designs and requirements necessary to begin development. It begins with whiteboards and wireframes and ends in high definition designs and detailed development requirements. It's where the dreamer in each of us joins in brainstorming sessions to evolve our solution and define the user experience. Definition is where ideas take shape.

Daniel Goleman calls it the "harmonious glow of being simpatico." It can take a while to reach this point, and we use a variety of approaches. Sometimes it takes a storytelling process, and at other times we're actors trying out various scenarios. Ask the right questions and see empathy in action; work through personas, requirements, and assumptions. Continue to conduct user interviews and testing as we apply more definition to the product, starting with wireframes and proceeding to clickable prototypes. Always listen to your user. They will tell you what they want, but not always what they need. You need to discover both.

We collaborate with our clients to discover the root of the problem and define the unique challenges the user is facing to understand their needs and expectations. We keep researching and asking questions until we can answer these questions about an aspect of a product:

  • Who will use this?

  • Why do they need or want it?

  • What will it do?

  • Where will they use it?

For every feature, we should be able to confidently fill in the blank spaces in this statement:

As a (user role), I want to (perform an action) so I can (desired result)

For example: As a user, I want to submit a sign-up form so I can create a user account

This format is called a User Story. It provides a high-level and plain-spoken description of the feature. We may attach more technical details, but the story title remains high-level. This allows the entire team to clearly understand the feature's intent and helps everyone to empathize with the user's needs. Once we define enough user stories for at least two weeks of active development, we're ready to move into the Development phase.

“With empathy, complex problems become more understandable, teams become more effective, and companies become more nimble."

“The best apps are solidly engineered (meaning they don’t crash and they run efficiently), but they also offer alluring interfaces and appealing user experience. This sort of app design is in high demand and represents the confluence of great objective and subjective skills manifesting in a single product.” (Ventura, 2018)

Development is the third step in our process, and it's where the rubber meets the road. Armed with well-researched, user-tested designs and clear development requirements in the form of user stories, we hold our development kickoff meeting. All project stakeholders and production team members participate, so the entire team stays in alignment.

During development kickoff, we choose either a Scrum or Kanban Agile project management process based on team requirements. We work as a team to prioritize the development tasks, discuss questions or concerns, and estimate the complexity of each development task. We schedule recurring meetings based on the project type and unique project requirements. It requires a minimum of one full team meeting per week to maintain alignment, write additional user stories and prioritize the tasks. In addition, we often schedule a daily 10-minute project check-in meeting to optimize communication and ensure all team members remain unblocked and fully productive.

“Because it's the absence of humanity in products that create the issue. It's the absence of deep thought about, you know, what products can do, what they can be used for, the good and the bad. And that's what I worry about.”  Apple CEO Tim Cook observed in a recent interview.

Delivery is the last step in our iterative process. With careful attention to each stage of a human-centered process and clear communication between users, designers, developers and business stakeholders, we deliver exceptional results every time. Through incremental delivery, we provide value in weeks instead of months.

As soon as we deliver a feature or product, we assess the results. We can then re-enter the Discovery phase and start a product improvement feedback loop. It's the same process that humans have used since the stone age. It's advanced our tools from rocks to rockets, and it can elevate the software we make in the same way. 

Our team meets together at the conclusion of each iteration and reviews the process paying careful attention to what went well and what we can improve. Each iteration produces a product that users can test and compare so we can determine if we are meeting our goals in the real world. This cadence allows us to shift and pivot with less expense and better results.

Summary

We hear a lot about being ‘disruptive’, ‘authentic’, and ‘customer-oriented’. In the final analysis,  those words mean nothing if they aren't informed by empathy we feel first in our body, then in our minds, and eventually in our hearts. Heath is an Agile shop because the process supports our values. In the increasingly digital world, it's becoming extraordinary to be human-centered and take a genuine interest in each other. To meet face-to-face and heart-to-heart and communicate openly and honestly. To take the time to do a job well and feel pride in your craft. To treat each other the way we'd like to be treated. It's more important now than ever that we stay human-centered and allow the best in us to create what's best for us.

“In the end, it all comes down to people and values. We need to shape a future that works for all of us by putting people first and empowering them. In its most pessimistic, dehumanized form, the Fourth Industrial Revolution may indeed have the potential to “robotize” humanity and thus to deprive us of our heart and soul. But as a complement to the best parts of human nature—creativity, empathy, stewardship—it can also lift humanity into a new collective and moral consciousness based on a shared sense of destiny. It is incumbent on us all to make sure the latter prevails.”

Schwab, Klaus. (2015, Dec.) The Fourth Industrial Revolution. Retrieved from https://fam.ag/1OgA4u0



References:

  1. Desmarais, Michael C.; Gulliksen, Jan; Seffah, Ahmed

          Human-Centered Software Engineering- Integrating Usability in the Software Development Lifecycle.                

          Springer; 2005 edition.

      2. Goleman, Daniel. Social Intelligence. Bantam; 2006. 

      3. Ventura, Michael. Applied Empathy: The New Language of Leadership, Touchstone; 2018