Ask an engineer to list all of the features in a product they work on. The result will be long. Next, ask a non-technical employee the same question. The list will be much shorter. Finally, ask a customer. The customer will give you a list you can count on 1 hand.

This disparity isn't bad. It is a natural result of the different levels of understanding in the platform. But the disparity brings about an important challenge. It can make it hard to focus on the things that directly impact your customer.

With so much of our time spent "in the weeds", it is important to have some way to refocus and see the product with fresh eyes, as your customers do. A great exercise is to try and distill your product down to a single feature, or idea. As yourself: "what is the one thing that, when removed from your product, makes it fall apart".

What is the one thing that, when removed from your product, makes it fall apart?

The answer probably doesn't come as immediately as you may think. Often, the answer isn't a strict feature but a higher level idea. Tinder's would not be swiping. It would be the ability to match with someone who you are mutually attracted to. Find what your product's one thing is.

Now take this one thing and make it your product's guiding principle. A sort of North Star for the feature set of your application.

Once you have, reflect on the features you are building or have built. For client facing features, they should each be undeniable in their support toward this goal. Each feature should support or enhance the "one thing" in your app.

As engineers, i think this practice is particularly important. We can get so deep in the technical and architectural details of the app, it is easy to lose focus of the real goal. We benefit from a user-focused guiding line. Regardless of how neat a feature may be to build, if it hinders that "one thing" in any way, i don't think it can justify its existence.

One of the biggest traps i see teams fall into is losing the forest for the trees. While the details can lead to an expertly coded product, it can also lead to coding away from what your customers want. Don't allow yourself to commit this cardinal sin of development. Find your guiding line and follow it ruthlessly.

tl;dr: Every product has a single feature or idea that, if removed, would ruin the app. This is how to find it, and what to do when you do.