Software product management deals with the following aspects of software development within a software and/or hardware firm:
Idea generation (e.g. on whiteboards) for a new software product, or for the next version of an existing product.
Collection and prioritisation (see below) of business and/or market requirements from prospects, customers of earlier versions of the product, domain experts, technology visionaries, market experts, products / solutions from competing vendors, etc.
Crafting of Marketing Requirements Documents, or MRDs, which synthesize the requirements / needs of various stakeholders as outlined above.
Using the MRD as a basis, come up with a product requirements document or PRD, as an input to the engineering team to build out the product. A PRD is also known as a functional specification. Frequently, a PRD can be a collection of UML Use Cases, UML Activity Diagrams, HTML mockups, etc. It can have other details such as the software development environment, and the software deployment environment (client-server, web, etc.).
Deliver the PRD to the software engineering team, and manage conflicts between the business units, the sales teams, and the engineering teams, as it applies to the software products to be built out.
Once the software development gets into build / release cycle, conduct acceptance tests.
Deal with the delivery of the product. This can vary from demonstrating the product to customers using web-based conferencing tools, to building a flash/captivate demo and deploying it on the company website, to other placement and promotion tactics. Frequently, in Silicon Valley, these two aspects of marketing, and sometimes also pricing, are dealt with by Product Marketing Managers, as opposed to Product Managers.
Once the product is deployed at a customer site, solicit customer feedback, report software bugs, and pass these on back to engineering for subsequent build / release cycles, as the product stabilizes, and then matures.
Perform competitive analysis as to how this product is behaving in the market, vis-a-vis other products catering to the same / similar customer segments. In the software space, this might require the product manager to take the opinion of analysts, who can come from name brand market research firms like IDC, Forrester Research, and Gartner Group.
Solicit more features and benefits from the users of the software product, users of competitive products, and from analysts and craft / synthesize these requirements for subsequent product build / release cycles, and pass them on to the software engineering team.