Chapter 2

Launching DigitalHome

Project Launch

On 9/15/202X, the DH Team held a meeting with Karen Mullen, the lead for the DH needs assessment effort to discuss questions the team had about the DH Customer Need Statement and the DH High-Level Requirements Definition (HLRD), prepared by the HomeOwner Marketing Division. After the meeting, the HLRD was finalized.

image

In mid-September 202X, a two-day workshop meeting was held at the conference room of the office of the DigitalHomeOwner Division of HomeOwner to launch the DigitalHome project. In attendance was the Director of the DigitalHomeOwner Division, Jose Ortiz, Mr. Ortiz’s Admin Assistant, Stella Washington, the DH development team leader, Disha Chandra, and the other team members: Michel Jackson, Yao Wang, Georgia Magee, and Massood Zewail. Jose and Disha had met earlier and decided on the agenda for the meeting and developed a Project Launch Process (see Table 2.1). Part of the launch had already been completed: team roles and responsibilities had been assigned; and the team had studied the Need Statement and the HLRD and had met with a HomeOwner marketing representative to better understand what needed to be accomplished (see Chapter 1)

Table 2.1   DigitalHome Launch Process Script – 9/16/202X

Purpose

  • Guide the DigitalHome project launch

Entry Criteria

  • DH Customer Need Statement

  • DH HLRD

Activity

Description

Team Formation

  • Determine and assign team roles and responsibilities

  • Decide on individual and team goals

  • Establish communication and reporting methods and protocols

  • Determine support infrastructure (staff, tools, and facilities)

  • Establish the DH Development Process

  • Determine initial project budget

Need Analysis

  • Study and analyze the Need Statement and HLRD

  • Hold meeting with HomeOwner marketing representatives to assist in needs analysis

  • Write Needs Analysis Report

Conceptual Design

  • Develop a DigitalHome Context Diagram

  • Develop a DigitalHome Conceptual Design

Development Strategy

  • Determine criteria for a development strategy

  • Create Development Strategy

  • Determine the development process

  • Determine the number of development cycles

  • Allocate development modules in each cycle

  • Estimate module size and development effort for each cycle

Postmortem

  • Perform postmortem analysis of project launch activities

Exit Criteria

  • Needs Analysis Report

  • Development process has been chosen

  • Team formation has been completed

  • DH Context Diagram

  • DH Conceptual Design

  • DH Development Strategy

Team Building

After the two-day workshop, Jose Ortiz and Disha Chandra met and decided to deliver a mini-tutorial on team building.

Software Development Process

At the completion of the Software Process Fundamentals MiniTutorial, Massood approached Jose during one of the breaks and discussed the possibility of using an agile process (such as Scrum) for the development of the prototype. Jose had recently heard about the Scrum process and its adaptation in mainly software industries but was not really familiar with the process and its advantages and disadvantages. Since Massood was a new hire and the youngest member of the team, Jose did not want to ignore his suggestion. He was also intrigued by the idea that the most junior member of the team had taken initiative and proposed an alternate approach. Therefore, Jose told Massood that he would like him to prepare and deliver several Scrum MiniTutorials to educate the team about Scrum. This made Massood very happy, because he realized HomeOwner valued the opinion of every member of the team.

NOTE: The collection of the Scrum process MiniTutorials can be found in Chapter 10.

Development Strategy

On the second day of the DH Launch Workshop, Michel Jackson, the DH System Analyst, led the discussion of the DH Conceptual Design. Michel explained that they would be developing a Context Diagram for the DH system and a Conceptual Design, presenting a high-level view of the principle components for the DH system.

Massood Zewail said he understood the role of the context diagram (a view of how the system as a whole interacts with external entities) and why it was developed early in the process, but he did not understand why we would be doing design work prior to specifying the DH requirements. He was taught in his master’s program that developers should resist thinking about the design before the requirements are established – “don’t try to solve the problem before you understand it”.

Michel agreed that they should not try to design a solution before the DH requirements had been analyzed and specified. However, the “Conceptual” Design would not be an actual solution, but a rather a pre-planning document that would make it easier for the team to establish a development strategy and prepare a detailed project plan. The Conceptual Design would be like a “throwaway” user interface prototype: a tool used to show a user what the system looks like in order to elicit requirements, but thrown away once the requirements are discovered. Another advantage of the conceptual design is the fact that it will be used for project size and effort estimation.

Georgia Magee chimed in with a comment about her work at the Volcanic Power Company, where she was a member of an XP team. Georgia described the “Planning Game” method they used, early on the project, to develop a strategy for planning the project iterations; she thought was very helpful and agreed with Michel’s comments. Yao Wang added that he had worked on team that used the UP process, and in the Inception phase they developed a “candidate architecture”, which had seemed similar to the Conceptual Design idea.

Massood said “okay, I see the rationale for a conceptual design - thanks”.

In the next two hours, the DH Team developed the Context Diagram in Figure 2.10 and the Conceptual Diagram in Figure 2.11. After this, Disha Chandra led the team in generating a DH Development Strategy. Disha explained that in the next phase of the project, the Planning Phase, they would develop a detailed list of tasks, estimate the amount of effort required of each task, scheduled the tasks, and assign lead responsibility. She also pointed out that their development process (Table 2.2) includes multiple construction increments, which raises questions about what will be developed in each increment and how long each increment will take to complete.

image

Figure 2.10   DH context diagram.

image

Figure 2.11   DH conceptual design.

Disha stated that the team needs a strategy for development to do project planning. That is, a strategy that sets down how many increments will be developed, what will be constructed in each increment, and provides estimates of the size and effort required for each increment.

So, how do we start? Disha asserted that the central issue is what criteria will be used to determine the Development Strategy: