> I'm a developer on a team. How am I supposed to know why customers are churning?
One approach is to keep in touch with customers and find out what their pain points are. Everyone should be interacting with customers to some extent. This could entail helping out with some support requests (escalations), or joining customer calls, going to conferences, etc. Listen silently to sales calls, or support calls with important customers - or be a named and introduced participant. If you have a mailing list or forums, keep tabs on that and help people. You can usually get an intuitive sense of what’s important to customers by interacting with them.
Sure, maybe it’s “not your job” to do these things, but a bit of time spent more than pays off in insight most of the time. If this is difficult to arrange, then the next best thing is to talk to the people who themselves speak to customers, and listen to what they have to say.
This isn’t a replacement for surveys and analysis, but I find it useful to have my own intuition as a human based on interacting with other humans.
It’s also good to be a customer or user of your own product. I strive to be in the position to use the things that I’m working on first-hand myself. If your product has an involved onboarding or setup process, then ideally everyone on the team should have gone through that setup themselves personally.
Most of the product design vision that I’ve developed for products I’ve worked on has come from a studied understanding of the customer problem and interaction with real customers. I think the best way to stay customer-obsessed is to ensure you’re interacting with customers, or are one yourself.