Traditionally product planning is the realm of the software engineering team represented by a program manager or engineering manager and the marketing team represented by a product manager or product marketing manager. Often, these activities became exercises in “list management” as long lists of features accumulate for inclusion in future releases and the product planning consists of a prioritization exercise. In addition, software engineers rarely have a good view of the context of the feature decisions, which makes deciding which way to go in developing the code a challenge when there are tradeoffs.
An excellent resource for the strategic and tactical aspects of product management and marketing is Pragmatic Marketing. Their framework illustrates the range of tasks that a product management team needs to consider:
Good product development teams are fortunate to have several different viewpoints represented from very direct voices of the customer, informed voices of human centered design with technology insights and market research insights. Sorting through all this relevant research, we identify six categories of design input or design centers that provide strong, weak or implicit voices in the product planning process. These design centers are:
- Technology Centered Design
- Human Centered Design
- Customer Centered Design
- Machine Learning Centered Design
- Productivity Centered Design
- RAAMPUSS Centered Design
The goal in moving forward with product planning for software products is to make explicit each of these design centers so that we can consciously and collectively arrive at defined goals for the product as a whole, a roadmap for the product, and a prioritized set of goals for each product release.
Technology Centered Design
As a software development company, the technology of the products is a key component of design. This design center encompasses a range of design issues that are critical to a market:
- Software Product Platform – this aspect looks at what platforms we will build our product on. Examples of platforms include: Microsoft Windows, Sun Unix, Linux, MS SQL, Oracle Database, IIS Web Server, Apache Web Server, Netscape Browser, Internet Explorer, Amazon Web Services (or other variants of the cloud), HTML5, and mobile platforms (iOS, Android). Making a decision around each of these platforms determines what skills we will need and to some extent also determines the size of the market we will be going after.
- Hardware Product Platform – what kind of hardware (server, desktop, laptop, tablet, mobile) will we require our customers to purchase. Options range from the speed of the CPU, the amount of memory, the type of disk storage, and network capabilities.
- Programming Language and Tools – defining the standard(s) for what language we use helps determine our ability to balance hiring profiles, what kind of performance we can expect from our products, and what kind of environment our customers will need to run.
- Application Framework – should we have a proprietary application framework that crosses all of our products to increase the reuse of our components, do we go with commercial frameworks or open source frameworks?
If we look at research as helping to determine what is possible, the technology centered design process focuses on the art of the practical, that is, what will work reliably for thousands to millions of customers working 24×7 around the world.
Human Centered Design
Human Centered Design (HCD) is concerned with the needs of all of the people who will be using our products in one form or another. These may range from knowledge professionals to data preparation clerks to database administrators to managers to clients. The focus of this design center is understanding the needs of the user, their points of pain and then designing interactions that will make their lives better. A key part of this design center is the observation of users as they go about their daily lives in relationship to the opportunities that we are trying to design solutions for. Users are quite inventive in how they solve many problems and often our best path forward is understanding their inventive solutions. To paraphrase Ed Lazowska, the goal here is to “understand the misunderstandings” that keep users from creating the results that they want. The core elements of the HCD process are illustrated below:
Throughout the HCD process, the designer is constantly iterating through the criteria of:
- What is desirable to users?
- What is possible with technology?
- What is viable in the marketplace?
Customer Centered Design
While Human Centered Design focuses on the user, Customer Centered Design focuses on the purchaser and influencer (see the post on Words Mean Something). The purchaser is someone who actually buys the product. They are usually a combination of the business manager, the IT manager and the procurement manager. They have needs very different from the user as they are looking at the business implications of the purchase and the business relationship with Attenex. An influencer is a person either inside the organization or outside the organization who helps set the context for the purchaser as to why a particular class of solution is important and who the key suppliers are for a given solution. Geoff Moore has brought the interactions with purchasers and influencers alive in Crossing the Chasm and his many follow on books. The Tipping Point by Malcolm Gladwell does a particularly good job of describing influencers and how to influence them.
One of the best processes for getting at the voice of the customer (influencer and purchaser) was developed by Katherine James Schuitemaker with her Value Exchange Relationship framework. This process focuses on the power of the brand to create value with influencers and purchasers by establishing the context for funneling customers into the sales efforts. Launch customers can provide a strong customer voice and a good collaborating partner. Channel partners should become a good set of collaborating business builders.
Machine Learning Centered Design
In order to keep from becoming a one product wonder of a company, it is important at the early stage of development to invest precious resources in research. This design center looks at what kinds of algorithms, computational linguistics, modeling and prototyping can help us stay ahead of our competitors. The core of this design center is to capture data on every aspect of who the software deals with and profile them in great depth (with permission of course). To further productivity, mathematicians need to bring powerful algorithms to aid us with unsupervised and supervised learning for very high dimensional data spaces. Then these mathematics need to be combined with equally powerful visualizations and interaction designs to ensure that productivity gains are realized for the users. This group is also responsible for looking at the next big areas of potential automation. A good research team will constantly look for patterns in the data to implement Slywotzsky’s knowledge imperatives:
- Move from guessing what customers want to knowing their needs;
- Move from getting information in lag time to getting it in real time;
- Move from burdening talent with low-value work to gaining high talent leverage.
Productivity Centered Design
Oftentimes productivity is equated with do it faster. At the heart of how a software product team should prioritize its research and development efforts is to find and solve those problems where we can achieve at least ten times productivity increases. Productivity is a complex interaction of “better, faster, cheaper” with ever increasing quality (six sigma) and improved business relationships (customer, supplier, partner).
To improve productivity it is important to have key metrics that are measurable and can be made visible for all parties. We want to ensure that each feature that we add to our products improves the overall measures of productivity for our users, purchasers and influencers. Productivity increases will include complex balancing of machine improvements and user level improvements that often times are non-obvious. As an example at Attenex, we thought deeply about whether should we spend more machine time on identifying near-duplicate emails (reducing our throughput) in order to reduce the amount of documents that an attorney has to look at (decreased human labor). Identifying key metrics and then making it painless to track the metrics and identify patterns is the focus of this design center.
RAAMPUSS Centered Design
While it is functionality and our selling/marketing process that gets our products into early adopter customers, it is our ability to continuously improve at RAAMPUSS which both keeps us installed and improves our reputation with our most important customers. The components are:
The goal of this design center is to prioritize for each release which elements we will be focusing on and then to establish clear goals for that release to meet. From a productivity standpoint, the effect of these elements of a product show up in how much labor and costs that a company bears in support of its product or in the additional sales costs to overcome objections or a poor reputation in any of the categories. In addition to the development costs, several of these components also affect the Total Cost of Ownership metrics of our customers. As a company matures with a product and a customer base, these functions become even more important when balancing against new functionality. Part of the development risk equation is that new functionality increases the risk of destabilizing one or more of these components.
Criteria for Prioritizing Clusters of Features
As part of the moving from what is possible or desirable to build, we need to establish criteria for the selection of a feature. Examples of criteria for prioritizing are:
- How does this feature reduce mean time to revenue?
- How does this feature increase the productivity of a user?
- How does this feature increase revenue for our customer, our channel partner or our company?
- How does this feature reduce costs for our customer of for our operations?
- How does this feature contribute to our core mission, vision and strategic intent?
While no single framework or process can guarantee success, the combination of the above product design centers ensures that the needs of the customer (influencers, purchasers and users) will be heard.