Chapter 9. Managing Stakeholder Expectations

9.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:

• Understand how managing stakeholders expectations is connected to the evaluation of project decisions and, conversely, how project decisions impact stakeholder expectations

• Understand the importance of communications, trust, and transparency in managing stakeholder expectations

• Understand how client, developer, and management expectations change over time and how the stakeholder’s focus impacts the various activities that the stakeholder should perform over the course of the project in managing expectations

9.2 Context

Stakeholder is the latest overused and abused word in the software industry lexicon. The word can refer to everything from the end user to the code librarian in the project and has meaning based on the point of view of the person using the term. For developers, the stakeholder is the customer/user/manager entity. For the customer/user, the stakeholder might be the person who in turn buys the software from them. For the manager, the stakeholder is the customer/user/team/boss entity. Because of the many different types of stakeholders, managing stakeholder expectations on a project is a daunting task. You start by selecting a point a view. For the purpose of this chapter, the point of view will be that of the software project manager.

The project manager is primarily concerned about three main groups: the customer/user, the software development team, and the boss. Each of these stakeholders has a set of expectations. Some of their expectations overlap, and some are independent. Table 9-1 summarizes the key expectations for each of the three stakeholder groups for a software project. These expectations are not intended to be a complete set and therefore may seem to be self-centered, overly optimistic, and unrealistic. Throughout the rest of this chapter, we will discuss the project decisions that affect stakeholder expectations over the life of the software project. Conversely, we will also discuss ways to better analyze stakeholder expectations and their impact on project decisions.

Table 9-1: Stakeholder Group Expectations for a Software Project

image

You probably noticed that the expectations of the stakeholders described in Table 9-1 relate in some way to scope, time, quality, or cost (STQC). As discussed in Chapter 1, “Managing Decisions,” these are the four dominant characteristics or dimensions of expectation that stakeholders have for a software project. Software project processes and decisions should focus on the production of deliverables that satisfy the STQC expectations of the various stakeholder groups, in particular those of the customer/user. To manage the expectations of software project stakeholders, the project manager must not only be able to understand what stakeholders expect of the product (project deliverables) and process (project execution) with respect to each of the STQC dimensions but must also be able to clarify and influence these expectations over the life of the project. Later, we will say more about how these expectations may change.

The stakeholder expectation management life cycle has three basic phases: setting, maintaining, and influencing expectations. The first phase ensures that the customer/user and developer/management stakeholders have the same understanding and focus for a project. Establishing a common understanding and project focus depends on effective communications. Communications that involve active listening and asking the right questions, as well as clear and unambiguous written representation of whatever was communicated help stakeholders maintain focus, clarity, and understanding. To manage stakeholder expectations for project success, software project managers need to think and make decisions about how they will communicate with different project stakeholders. Chapter 8, “Managing People Interactions,” discusses ways in which software project stakeholders can evaluate and influence their interactions, such as communications, to make them more effective.

The software project manager stakeholder performs the following activities in managing stakeholder expectations:

• Communicating with the customer stakeholder

• Managing multiple dimensions of stakeholder expectation over time

• Managing product and process to satisfy stakeholder expectations

• Understanding different types of customers

• Managing stakeholder perception

Table 9-2 describes in more detail the primary activities in managing stakeholder expectations. Study the table, and think of other activities that you may have performed in managing stakeholder expectations in the past.

Table 9-2: Descriptions of Activities in Managing Stakeholder Expectations

image

image

When managing customer expectations with respect to STQC, software developers set their own expectations about technology, process, and people. While establishing the requirements, developers interact with the customer/user stakeholder to determine want the customer wants. To decide whether they can achieve the customer’s desired scope while satisfying cost and time constraints, developers are likely to think about the processes to be used on the project and about any technologies to be used to develop the product. Likewise, they focus on technology or process as they produce the project deliverables. The main point is that although the customer has STQC expectations about the project and project deliverables, the developer has expectations about the technology, process, and people needed to execute the project and produce the project deliverables.

In managing stakeholder expectations, the project manager and the development team make decisions about the composition of technology, process, and people that is needed to satisfy stakeholder expectations. Sometimes project decisions concern the relationship to be maintained with critical stakeholders such as the customer/user or upper-level management, and at other times project decisions involve the actual tasks that need to be done to produce project deliverables with respect to STQC. The focus or concern of project decisions also changes throughout the life of the project. Initially, project manager and development teams are interested in establishing strong relationships with their clients. That’s when the focus is centered on relationships. As the project progresses, and especially on projects where time constraints become apparent, the focus changes to getting the tasks done as a mechanism for enhancing the client relationship.

Figure 9-1 models the relationship between the STQC expectations of the customer stakeholder, the technology/process/people expectations of the developer stakeholder, and related project decisions that correlate and help manage the various expectations of all sides. You need to understand that the actual customer expectations, developer expectations or focus, and decisions change over the life of a software project. Customers vary not only in the priority of their expectations with respect to STQC but also in the order in which they think about or focus on each dimension of expectation.

Figure 9-1: Stakeholder expectations over time

image

A typical order in which the focus of customer expectations changes is (1) scope, (2) cost, (3) time, and then (4) quality:

At first, requirements (scope) may be dominant: Customers may want to have everything they can think of at the start of the project. There is even a term called desirement, which highlights that at the beginning of the project the customer thinks about wants without considering cost (TheFreeDictionary by Farlex, Desirement). Customers can ask for anything until the project costs are understood and assigned to the requested features. When this happens, the dominant dimension of expectation changes to cost.

Cost impacts the budget: Customer stakeholders now consider what they will get for the money that they will spend. They begin to understand that there is a limit to the features that they can afford because they have a budget. The process of prioritization is now invoked, and decisions must be evaluated and made as to what is important. The decisions about cost are not about whether a feature costs more or less than expected but about whether it fits in the budget. After cost, the next dominant dimension of expectation is time (schedule).

The schedule is a factor after the price has been decided: The customer now wants to know how long it will take to get what they have decided that they want. The schedule will determine the necessary resources and the duration of the project. The schedule and project duration create a whole new set of expectations for a discussion that eventually leads to the final dimension of quality.

There is a saying that people will long forget the cheap price when they are left with poor quality: We always seem to know quality when we see it but sometimes have difficulty specifying and establishing quality in the product, especially software quality. Because it may not be understood until seen in the delivered product, quality is the most difficult and longest-lasting dimension of expectation. When describing services that we believe met or exceeded our expectations, we usually say, “Take a look at the job they did!” In other words, we express good service as a description of the resulting product’s nice appearance. A nice paint job means good service. A piece of software that works flawlessly, or better yet, as described in the manual might be viewed as a miracle.

The following two examples about experiences at restaurants illustrate the historical effect of experience on expectation:

Case 1: When you arrive at the restaurant, a waiter greets you at the door and leads you to a table. The waiter eagerly takes your orders and delivers the food promptly. The bill is presented in a timely fashion, and you leave. Two hours later you are sick to your stomach and must go to the hospital.

Case 2: You arrive at a restaurant, and there is a sign that says to seat yourself. There is tape over the word please. Someone runs by your table and throws down two menus even though there are three people in your party. You finally grab the apron on a passing waiter who takes your order. Forty-five minutes later, the food arrives, but the smell alone is like one from heaven. You spend 40 minutes eating and enjoying every bite. You don’t even notice that the bill is already on the table. You pay the bill and go home.

Which experience will generate the best expectations in the future? Which restaurant will you revisit? Expectations are both process and product based, and software developers and development managers must balance these two.

To be able to deliver a software product or service that will satisfy the customer/user stakeholder, a software project team needs to understand that customer satisfaction depends on two factors: the customer’s expectations for the way in which the product or service to be delivered will perform and the actual performance of the delivered product or service. A customer will be satisfied with your product or service only if it performs as expected. Any difference between the expected performance and the perceived or real performance will change the customer’s satisfaction level (not necessarily in your favor). Setting the customer’s expectations for the product that will be delivered is the first step, but then the project team must deliver a product or service whose actual performance is at least as high as what the customer expects. Because a customer’s expectations can change over time, it is important to monitor and try to adjust, if needed, the customer’s expectations over the life of the project.

In summary, stakeholder expectations are based on some level of performance in the four dimensions of scope, time, quality, and cost. Stakeholders have expectations for both the product delivered and the process used to produce the product. Managers of software development efforts historically have found it difficult to help set, influence, and manage stakeholder expectations over the life of a project or product. To improve their management of stakeholder expectations, project managers need to understand and consciously decide how to do the following:

• Manage expectations along all four STQC dimensions

• Manage both process and product with respect to expectations

• Formulate questions that help them determine what stakeholders really want and remember that stakeholders may not be forthcoming or adept in clearly expressing what they want

• Consider stakeholder expectations when evaluating and making project decisions and understand that their project decisions impact stakeholder expectations

For readers who want to learn more about managing stakeholder expectations for software projects, we recommend the following references. McManus (2004) highlights the importance of understanding the stakeholder perspective in the context of software engineering projects. Giesen and Volker (2002) apply a marketing technique (based on utility functions) to analyze stakeholder preferences during requirements engineering. Damian (2007) presents lessons learned from practice about stakeholder needs in global requirements engineering. Roberts et al. (2009) advance scenario planning techniques through a parameterization and ordering of potential future contexts and stakeholder expectations to evaluate and make decisions about alternative system evolution strategies. Ruhe and Pfleeger (2007) discuss the challenge of making software development decisions in the context of conflicting objectives, restricting constraints, and stakeholder preferences.

9.3 Case Studies

The two case studies in this chapter focus on aspects of managing stakeholder expectations where the various stakeholders include customers, project team members, and management. In the first case, “TCP Enhancements at Gigaplex Systems,” the software project encounters unexpected problems related to the customer expectations, the interaction between the team and its customer, as well as the internal team dynamics. The second case, “Tough Sell at Henkel Labs,” presents a difficult situation in which stakeholder expectations need to be managed across a global organization involving people from different cultures residing in different countries who sometimes have opposing organizational and business objectives. Decisions made in both projects appear to have placed the stakeholders in positions that are not very favorable. Read these cases to determine the steps that were taken or not taken to manage stakeholder expectations as well as the decisions and actions that led to project problems.

9.3 Summary

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

• Communicating with the customer stakeholder

• Managing multiple dimensions of stakeholder expectation over time

• Managing product and process to satisfy stakeholder expectations

• Understanding different types of customers

• Managing stakeholder perception

Decisions made by the stakeholders in both case studies placed them in unfavorable positions. In the first case, “TCP Enhancements at Gigaplex Systems,” the software project encountered unexpected problems related to the customer’s expectations as well as to the internal and external interactions with project stakeholders. The second case, “Tough Sell at Henkel Labs,” portrays a difficult situation in which stakeholder expectations need to be managed across a global organization involving people from different cultures residing in different countries who sometimes have opposing organizational and business objectives.

Managing stakeholder expectations for a software project in a systematic way is challenging. Software project managers typically pay minimal attention to the impact of their project decisions on stakeholder expectations. All three phases of the stakeholder expectation management life cycle (setting, monitoring, and influencing expectations) are important. As with most interaction activities that are people oriented, managing stakeholder expectations depends on effective communications.

Effective communications enable software project managers to manage stakeholder expectations to achieve project success.

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

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