Software Product Management in a Nutshell

nestaa-admin

Initially software was only used by the professional people in corporates. They were the ones who needed system and application software. But from last 8-9 years, software or digital applications they are no more a business commodity but they are the ones used by everyone whether it’s for professional usage, educational, personal, lifestyle, used by grandparents to toddlers. And is used throughout the day to accomplish some purpose or another. This transition has also brough a bigger transition of software products is developed and managed.

The whole new concept about software product management now encompasses all the different processes, areas and facets which revolve around the software product. Or to put it rightly, Software product management is all about what it takes to create, manage & adopt a software or application. Let’s deep dive to develop a through understanding.

Software Product Management is a comprehensive and interdisciplinary process of ideating, visioning, strategizing, building, implementing, maintaining, assessing & improvising a software product.

It’s about managing a software product from an idea or requirement to its final implementation & delivery to end users. It requires consumer understanding, market analysis, product strategy and vision, correct positioning & pricing, maintenance, upgrades & enhancement to develop, launch and evolve the product.

Ideation & Analysis – It could be an idea that creates a need or a requirement OR it could be that a need generates an idea. Idea Generation or Ideation is simply meaning act of creating ideas. It is process of generation of ideas through written, verbal or visual means and further discussing, developing, communicating and finally implementing them to actualization. These ideas are in raw form such a thought, a suggestion, a problem, a need which is further analysed and evaluated for getting quality ideas for implementation. Ideation or requirement gathering requires methods whether traditional or modern which suits your product solutioning. Common methods used are Brainstorming, Customer Journey Mapping, Interviews, Surveys, Joint Application Development, Observation, Crowdsourcing.

Ideas & Requirements also need to be comprehensively analysed for their correctness, priority, feasibility, impact, completeness & clarity. Analysis is important to define the rationale behind the final requirements and their achievability. Hence different research and analysis techniques or methodologies are used popular ones being Gap Analysis, Feasibility Analysis, Priority Analysis, Decisioning Analysis etc.

Frameworks & Techniques help in organizing, collating & giving structures and mapping to large amount of data & information. These techniques can be used for brainstorming sessions, other ideation discussion which requires structuring & concluding the information gathered. Common Frameworks used by product managers are Mind Mapping, Question Technique, Fishbone Diagram, Six Thinking Hats, Scamper Technique, Lotus Blossom Technique.

Product Strategy & Planning – A part of this product management wherein the before developing, launching & implementing the product, you strategically decide and envision WHAT needs to be developed & delivered comes under product planning. Software Product planning comprises of defining product vision & product strategy to meet the customer and market needs in alignment with business objectives and formulate a product roadmap. It does entail a broader timeframe in product roadmap but its focus is more upon the why and what the product should offer as key solution. The product planning is based on research done on market, industry, competitors and other aspects which make the process of product development or product planning fruitful. The documents required in place are Product Vision Canvas, Product Strategy Document, Product Market Fit Hypothesis & Product Roadmaps.

Representations & Documentations – All the ideas, problems, key solutions, different requirements, they need to be somewhere depicted, finalized and documented, sometime in short description, sometimes in comprehensive detailed documents. The processes, activities, business rules, exceptions all can be clearly defined if diagrammatic, modelling techniques are used for visual representations. Common techniques used for visual representations by product managers are Flowcharts, Data Flow Diagrams & Use Case Diagrams. Detailing and documenting requirements into specific requirement or product documents play a crucial role in product management as a whole. Documentation is important to capture, define, understand, and agree upon the final set of requirements/features among the stakeholders & users. The format and components of requirement document also depends upon type of software being implemented, the maturity and audience of the organization for the product or system implementation. User Stories, Epics, Themes & User Story Mapping are modern and common documentation agile structures used widely by the product teams. They help in better collaboration and execution of product implementation. Traditional documentation formats such as Business Requirement Documents, Functional Requirement Document & Software Requirement Specification Document.

Design & Development – Software design is creating a layout, or specifications before actually developing or creating the actual software. Software design helps creating a baseline or a skeleton basis which the software development will eventually happen. Any artifacts, specifications, documents, architectures are all part of creating the design for the software. Designing mainly entails to the Software Interface design which needs to be done so as to bring out an awesome user experience. User Experience encompasses different aspects namely Information Architecture, Interactive Design and the Visual Design part of User Interface. Different formats for user interface designing used are Wireframes, Mock Ups & Prototypes.

Eventually the process of actually developing and coding the software system using programming languages, frameworks, database & technical set up is the software development. It requires converting the design documents into programs of code with technical infrastructure developed into an operating & workable software product. Front end development is all about creating what the user sees and interacts with, & the backend development is all about creating the backend structure to fulfil all the requests by the user. Together it is the full development which gives the end user a seamless experience.

Testing & Assurance – Testing is astep-by-step process of checking and evaluating whether a software product is working as per the expected output. It is verification and validation of the software product to analyse and report any defects, errors, requirement gaps, missing functionalities so as to improve its quality and make it defect free. The purpose of software testing or quality assurance is to ensure that the software product is operating, functioning, performing as per the actual requirements and is a stable product for end user operability. It is evaluated on both the functional and non-functional aspects of software product. Functional Testing includes Unit Testing, Integration Testing, System Testing, Smoke Testing, User Acceptance, Regression Testing, Sanity Testing, Backend Testing. Non-Functional Testing includes Performance Testing, Load Testing, Stress Testing, Endurance Testing, Security Testing, Volume Testing, Usability Testing, Recoverability Testing.

Automation Testing is the testing where tools are used to perform and execute testing is referred as Automation Testing. Initially the test scripts are written by the tester and then automated on a tool or application through which the final testing is executed and the test results are thrown by the tool used. The tests can be re-run anytime with predefined test scripts. Automation testing increases productivity, efficiency and helps in vast coverage of testing scenarios at a much faster pace.

Positioning, Pricing & Marketing – Successful product launch requires activities relates to positioning, pricing, communication & marketing which play a key role on product management.  Includes activities such as Identifying Product Positioning, Selecting Product pricing, determining Sales & Communication Plan & Determining marketing methods & their execution.

Product positioning is all aboutidentifying the position one wants to create for the product in the market. It involves creating product positioning document which lays down the foundation for the upcoming and future activities on all different areas of product management. Selecting Product Pricing is all about how the software product will be priced basis the pricing model being used and how will these products be available for usage for end users. Determining Sales & Communication Plan is all about how the product company communicate internally and externally, position their software products and how will the media, press releases be done, how will be networking to launch the product will happen. Determining marketing methods is all about the marketing strategies & how the whole digital media promotion which should happen for the software product launch and should be done as continuous & ongoing process.

Deployment & Release Management – Software Deployment is a group of activities which are required to be completed to make the software product available for the customer’s or end user’s use. In technical terms, the process of installing, running, and monitoring the software or an application on server or on a device. Deployment mainly comprises of set of manual and automated processes to complete activities like testing, installation, deployment & performance monitoring. The set of changes which are transferred on a controlled environment is termed as “Software Release”. Hence Release management includes all the activities such as planning the releases in alignment with business needs, coding & building the releases, integrating the changes, testing the releases, preparing for the deployment of releases and finally deploying and making them available to the end users. Different mechanisms used for Release management & Deployment are Big Bang deployment, Recreate Deployment, Canary Deployment, Blue Green Deployment, Ramped Deployment, Shadow Deployment, A/B Testing Deployment.

Adoption & Assessment – Training, Support & Maintenance are phases of product management which help in successful adaptability of the product. Training can be defined as the set of activities to impart knowledge and skills to individuals to operate a system or application to carry out the processes and procedures more effectively and productively.  Consumer applications often do not need training as they need to be designed in such a way that they are intuitive and hold high learnability for the consumers. Different methods of training for enterprise applications are Instructor Led training, Online Training & Self-Paced Training.

Maintenance is the process of continuous changes required in the software product to be useful & relevant. This includes resolution of defects, modification of functionalities, features, additional changes, improving the performance of the software, updates and upgrades in both functional & technical aspects, integrations with new systems etc, doing everything without affecting integrity of the software product. On the contrary, the process of developing, modifying & correcting the software product as a reactive mechanism is defined as Software Support. Software support not only includes corrections & resolutions but also helping, facilitating, guiding, & imparting knowledge regarding the usability and adaptability of the software product.

Once you have launched & implemented the product, it is important to do post product analysis & assessment to determine how successful the product is and what improvement needs to be done. Before or while launching the product, the goals or objectives are decided which are to be achieved through product launch. These goals can be defined through KPIs (Key performance Indicators) & Metrics which are decided based on the objectives. KPIs or Metrics are the measurement criterions to evaluate the success of the product across different activities or objectives. These are based on different goals such as User Interest, User engagement, User traffic, Revenue, Social media engagement etc.  

To know more and explore a wholesome understanding around software product management along with the methodologies, frameworks, techniques, formats being used in each of its phases, join & register for our “Accelerated Product Management” Program.