Answer by Peter Deng:
Product management is a skill you learn and improve through practice. The articles and books cited in the other answers are great for gaining perspective, but being a good product manager boils down to a few core practices.
1. Be aware. This applies to everything: the product, your team, yourself. It's easy to get caught up with the details of a project and miss the big picture. It's also easy to get caught up in the routine you've established for you and your team and not realizing it's not working. Take a step back and observe your assumptions, your existing practices, and your performance; you'll be surprised what you'll realize. Some questions to ask:
- Is the product we're building solving the correct problem? Is it solving the problem correctly?
- How does this decision play out in the long term?
- What are the unintended consequences?
- How is the team doing? Are you optimizing too much for progress vs. team well-being?
- What areas do you need to develop to be a better leader?
2. Be adaptable. In addition to being aware, you need to adapt to the new information. Products evolve, prototypes fail, and people's needs change. If the product isn't solving the right problem, change course. If a meeting is no longer productive, cancel it. If you need more help, ask. Understand sunk cost and do what it takes to move the product in the right direction.
3. Be proactive. I once heard an analogy that product management is like filling in the white space between the different roles. I think it's a really important attitude to have. You are the owner. Either do it or delegate it. If you don't, no one else will. Product managers are in the service industry; your role is to serve the teams, and no task is too menial or trivial.
4. Understand the core problems. A lot of people think that product management is about "having good ideas" or "adding features." Breaking down the problem correctly will go much further. If you dig deep and understand why people aren't clicking the button, you'll understand why the product is not working the way you intended, and it will probably lead to a more obvious solution that solves the problem in the correct way.
Ideas like "making the button bigger" may solve the symptom, but they don't address the deeper issues. To do this well, I think it helps to have thought about psychology, ecosystems, and designing studies in the social sciences (random, I know, it does help). Also, keep learning through your peers, books, podcasts, TED talks, Quora, whatever. One of my favorite podcasts is This American Life; it helps me see problems from a completely different perspective.
5. Learn to balance. When you're making decisions, you're actually making tradeoffs. Every feature has its costs. Identify the dimensions that matter most to the project (e.g. simplicity, time, aesthetics, functionality, use case A, use case B), assign rough utility functions to each dimension, and figure out how much you want to move each slider. Deciding how much you value each dimension will lead naturally to the right decision. Balancing not only applies to product features, but also to making any other decision (hiring someone, deciding on a team structure, setting a company vision, etc…).