Chapter 5. Managing Product

5.1 Chapter Objectives

After reading and thinking about the concepts and case studies presented in this chapter, you will be able to do the following:

• Recognize the key issues involved with product management

• Understand the relationship between the process and the product

• Understand the key factors that influence the product in the eyes of the customer

• Recognize factors that can significantly increase product quality with minimal cost

5.2 Context

This chapter will give you insight into the issues that affect the software product. These issues are typically highly customer dependent because the customer judges the product for value. Many times in the software development domain, we refer to the key set of characteristics that the customer expects of the product as quality attributes. Product decisions frequently relate to issues concerning the required quality attributes.

The following are two definitions for product management:

• “Ensuring over time that a product or service profitably meets the needs of customers by continually monitoring and modifying the elements of the marketing mix, including the product and its features, the communications strategy, distribution channels, and price” (PDMA 2006).

• “The organizational structure within a business that manages the development, marketing and sale of a product or set of products throughout the product life cycle. It encompasses the broad set of activities required to get the product to market and to support it thereafter” (BusinessDictionary.com).

The second definition better matches the software management concepts described in this book.

The domain of software product management concerns a number of issues. The primary issues involve product development, product delivery, and product support. Although product marketing is also important, it is beyond the scope of this discussion and could easily be a topic of another chapter. Product management also involves issues of services used to deliver the product to the customer. You can use the PEAK model to help you evaluate and make product decisions, as shown in Table 5-1. The rightmost column of the table contains what-if questions that you can answer to better manage a particular issue. For each what-if question, you can determine whether the PEAK input statements are true. Study the table, and think about how you would answer these questions to manage product for your current software project.

Table 5-1: Managing Product Decisions Using PEAK

image

This chapter focuses on the following product management activities because they appear to be the ones that give software managers the most difficulty:

• Proper product definition

• Development management (including product-line development)

• Quality assurance and control

• Configuration management

• Product delivery and installation

• Training

• Field service

Product maintenance frequently occurs in conjunction with field service or as part of successive product releases. Therefore, we do not list it as a separate activity, though you might prefer to do this. Table 5-2 describes the activities in managing product in detail. Read the table, and think about other activities that may be involved in managing product.

Table 5-2: Descriptions of Activities in Managing Product

image

image

Even though product management is the crux of developing a software product, you cannot really consider product without considering process. Product management also involves aligning the processes used to develop the product with the stakeholder expectation dimensions of scope, time, quality, and cost. At different times in the life cycle of the product, these dimensions alternate in prominence. Early in the project, the stakeholders may consider schedule, scope, and cost to be most important. As the product begins to mature, the quality issues begin to dominate. As the project nears its end, the budget may once again become prominent because it is nearly exhausted (sometimes despite the scope that has been attained). You can use the PEAK model to ensure that you have the correct information about the relevant dimensions of stakeholder expectation to make the best project decisions possible. In the end, your decisions will be bounded by these four dimensions.

“Price is no object” is a famous saying that everyone likes to hear but that usually should have the addendum “for the next N minutes or until the end of the project, whichever comes first.” In software product development, you must always be concerned with critical aspects of the product, even if you remove cost from the stakeholder expectations. You still have to consider what you are going to make, how long it will take, and of course how well it will meet all of its requirements.

Some people think that the customer is interested only in the software product. This is sometimes true, but at other times, the customer is also concerned with the maintenance and support that comes with the product or even the process by which the product is created. Some people use the phrase “Quality, not questions” about how the product should work when referring to the service associated with a product. This phrase is enlightening when you consider how you want to manage support of the product. Think about the last time you were involved with product management. Did you deal with quality or questions?

Software product and service cannot be separated, because they represent the same thing to the customer. This might refer to sales service as well as service after the sale. If you deliver a perfect product with lousy service or if you deliver a lousy product with perfect service, you still have not met the customer’s needs. As mentioned earlier, product and process are tightly coupled. You cannot easily develop a perfect product if you have poor processes, and you are less likely to develop a poor product with good processes. You might view process and product as two sides of the same coin: independent but related. This mind-set sets the context for the reference to process concepts presented in Chapter 6, “Managing Process,” during our discussion of product issues in this chapter and in the case studies. Likewise in that chapter, we discuss process management with respect to managing product quality.

When considering product management, the idea of cost has two key concepts: customer’s price and development cost. You’d seldom price products at development cost unless you are a nonprofit organization. You’d normally want to make a profit. It is beyond the scope of this book to discuss how to set the price for products. One key concept that many people forget about when it comes to software product management is that this is a business; if you don’t make money at the business, you don’t stay in business (Goldratt and Cox 1992).

It may seem that the cost of managing the product is trivial. Unfortunately, this is not the case. Cost permeates all of the stakeholder expectation dimensions as well as all of the inputs to the decision process. Though you would like for “cost to be no object,” every product has cost bounds (in other words, cost drivers for a project). Many of the decisions you’ll make concerning product management are rooted in how the decision will affect the cost of the product and its profit to the organization.

Cost is so pervasive that sometimes it becomes invisible. Like the air around us, it is needed but not seen. If you want to learn the value of air, learn how to scuba dive. The first rule of diving is to answer the question, “Are you breathing?” If the answer is yes, then you have time for the next decision. If it’s no, then you have a problem that needs an immediate solution. Cost, like air in diving, can be treated the same way by answering the question, “Do you have the budget to complete the solution proposed?” The subject of this chapter is not the economics of product management, so we will stop here, but each product management decision that is made assumes the budget for the decision is available to complete the solution.

As you read the case studies to examine product issues, such as quality assurance and control, change management, and product testing, you need to consider the four stakeholder expectation dimensions: scope, time, quality, and cost. Let’s look at scope, time, and quality with respect to the PEAK decision inputs for product management.

Schedule is a dominant dimension when you consider factors such as time to market or fixed-price contracts. Many companies, in particular start-up companies, fall into the trap of bidding a minimum schedule to create a product so that they can win the contract. Product management sometimes forces them to make decisions about the schedule that impact the other dimensions of scope, quality, and cost. When managers decide whether to ship the product, they look at the impact on schedule. The following is an example of the PEAK inputs for this decision:

(P) Problem: The customer needs a change to the product that is contained in the next software release as soon as possible, which is a situation that creates a very tight schedule for the development group.

(E) Environment: The development group has only a small number of computers running the new software release.

(A) Assumptions: The change is believed not to affect the rest of the software application.

(K) Knowledge: The specific change requested by the customer has been heavily tested with regression tests.

Solution: Install the new version or a patch to the software to meet the customer’s need on time.

Assumed Risk: The new change will affect some nontested component of the system, or the regression tests do not sufficiently cover the system functionality and thereby force the team to deal with undetected problems that would impact the future product schedule.

When product managers are considering product decisions that deal with scope, they are normally looking at whether there are sufficient features ready to be presented to the customer. The “build” must represent a valuable enough “scope” for the customer. Many companies today regularly release new versions of a product to add features and repair defects in older versions.

As software developers, we have learned to deliver the product in shorter cycles to the customer so as to avoid “the big bang” or the big surprise of over budget, under quality, or over schedule. This means the scope of each delivery must be sufficient enough to maintain customer expectations. We can ask what-if questions, such as the following, to formulate and evaluate our product scope questions using the PEAK model:

(P) Problem: Is there sufficient scope available in the product to warrant delivery?

(E) Experience: Does the system allow for incremental delivery? Will the next cycle to be delivered adversely affect the data, environment, or software already delivered and installed?

(A) Assumptions: Is the assumption that the features that are not added to the product can wait or are not a high priority to the customer at this time true?

(K) Knowledge: Do we know everything that has been built? Do we know everything that is left to be built as well as the relative priority of the features not yet added to the product?

When the product managers decide whether the product should be shipped, they look at the quality of the product. Product quality with respect to satisfaction of requirements is the critical aspect by which the customer judges the value of the product.

(P) Problem: Is the product of sufficient quality to ship?

(E) Experience: Do we understand all the defects that have been found in the product and their severity, and have we agreed to an acceptable defect level?

(A) Assumptions: Is the assumption that the defect density for a shippable product is known and understood true?

(K) Knowledge: Did we expect to find x defects at this point in the process and instead find y?

We do not intend for this discussion of managing product to be exhaustive but rather to set the context of how you can evaluate product management decisions by using the PEAK model. In particular, the examples show you how to use the PEAK model to evaluate the decisions that the characters in the case studies make in trying to manage product. We want you to understand our point of view for evaluating and making product decisions.

We recommend Clements and Northrop (2001) for a comprehensive discussion of the practice of software product-line development. You may also want to refer to the Software Engineering Institute’s Web site that discusses its software product-line practices and resources (Software Engineering Institute).

5.3 Case Studies

This chapter has two case studies: one in which a major decision is to be made that will determine the direction of the product and one in which decisions were made that affected the eventual outcome of the product in an unplanned way.

In the first case study (“New Technology—Is It Always the Best?”), the engineering manager must decide on the adoption of new development technologies and techniques to create a product that is easier to maintain and costs less to use. Both the new technology and new concepts incur a number of risks that must be addressed if the product is going to be successful.

In the second case study (“Why Is This Product Wrong”), the developer is faced with the dilemma that although it seems that he did everything correctly, he still got the wrong answer. For example, PEAK information was not available or not considered when decisions were made. The result was a project that focused on the repair of product defects rather than on developing a clean solution.

5.4 Summary

This chapter focused on the following activities for managing product in the context of decision making for software projects:

• Proper product definition

• Development management

• Quality assurance and control

• Configuration management

• Product delivery and installation

• Training

• Field services

The case study “New Technology—Is It Always the Best?” examined many aspects of product management but focused particularly on development management, quality assurance, and proper product definition. The case study “Why Is This Product Wrong?” covered training, field service limitations, and proper product definition. The case highlights that sometimes projects cannot recover from poor decisions made early in a project.

Product management is the crux of developing a software product, but because process and product are tightly coupled, you cannot really consider one without the other. Product management involves aligning the processes used to develop the product with the stakeholder expectation dimensions of scope, time, quality, and cost. You can use the PEAK model to ensure that you have the correct information about the relevant dimensions of stakeholder expectation to make the best project decisions possible.

Product management requires that you continuously make decisions that will affect one or more of the four dimensions of scope, cost, quality, and time.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset