26
INFO 637 Lecture #3 1 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

Embed Size (px)

Citation preview

Page 1: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 1

Software Engineering Process IILaunching & Strategy

INFO 637

Glenn Booker

Page 2: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 2

Start the TSP

Start the TSP by formally Launching the project, and defining the Strategy to be used to approach it

Page 3: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 3

Launching a Team Project

A formal launch is needed to: Establish working relationships Determine member roles Agree on goals

Even a little time establishing the team pays off nicely later on

Page 4: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 4

Team Goals

Goals need to be tough enough to be challenging, but not impossible either

Need to define how goals will be measured, so can you know if you achieved them

The TSP has many predefined goals for each activity and role, but these might not be quite right for your team

Page 5: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 5

Setting Team Goals

To set goals for your team Write down the goals you have chosen Describe how you will measure those goals Describe why you selected those goals instead

of the standard TSP goals Give the goals to your team and the instructor Have Team Leader put goals in your

project notebook

Page 6: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 6

General Team Goals

The most basic TSP goals for the team are: Produce a quality product Run a productive and well-managed project Finish on time

From this foundation you need to define meaningful measures to determine if you accomplish these goals

Page 7: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 7

General Team Member Goals

Each team member, regardless of role, has common goals as well Be a cooperative and effective team member Do consistently disciplined personal work Plan and track all your personal work Produce quality products

Page 8: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 8

Specific Role Goals

Each leadership role has specific goals, which were covered two weeks ago

So each person on a TSP team has goals from several sources, all at once: General team goals General team member goals Specific role goals

Page 9: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 9

Launch Script

The launch script includes: Course overview Assigning roles (which you have done) Describing the objectives of your product

How will you know if it’s been created correctly? Hold first team meeting Review of data requirements

Page 10: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 10

Product Objectives

The product objectives are the requirements your product should meet by the end of its development Each objective needs a priority (required,

desirable, or optional) Each objective needs a cycle when it will

be created (though you’ll only develop the first cycle)

Page 11: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 11

Product Objectives

For each objective, determine how you will evaluate the final product to show that the objective has been met

Page 12: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 12

First Team Meeting

The first team meeting allows you to: Discuss and choose team roles Agree on cycle 1 goals Establish when the team will meet (if done

synchronously) Agree when weekly data will be due to the

planning manager

Page 13: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 13

First Team Meeting

Team meetings are held using the WEEK script (p. 44) You won’t have plans for comparison yet, but

you can report effort to date and share any issues you’ve identified

Once tasks have been defined, the TASK and SCHEDULE forms will be used each week to prep for the weekly team meeting

Page 14: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 14

Data Requirements

In order to form a consistent basis for reporting progress, you need to agree on a time period for reporting weekly progress Generally done a little before the weekly

meeting, to give the planning manager time to consolidate results

Page 15: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 15

Other Launch Issues

Start the project notebook, per Appendix G Identify inputs needed for the notebook

Determine if you’ll use the TSPi support tool; and if not, determine how the data will be consolidated each week

Page 16: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 16

Development Strategy

This phase is the determining the approach and general scope for your project

We need to plan our work in order to: Share a common understanding of what will

be done Form a basis for tracking progress Help ensure schedule commitments

are realistic

Page 17: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 17

Development Strategy Script

Key steps in this phase are: Create Conceptual Design Define Development Strategy Estimate Product Assess Risks Document Strategy Define Configuration Management Plan

Page 18: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 18

Conceptual Design

The conceptual design is the roughest guess of what your product will be and how you could create it

Given a rough idea of your product: How might you build it? What major components would be needed? What would each component do? How big would these components be?

Page 19: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 19

Conceptual Design

Don’t overdo the conceptual design!!!Don’t commit the project to the first

design idea you have for solving itExpect that you will ultimately deviate

from your initial designThink of this as a rough outline, like

describing the chapters of a book

Page 20: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 20

Development Strategy

This is outlining the cycles you will needFirst cycle is what is needed to product a

working non-trivial product; the framework for the rest of the product

Each cycle after that is devoted to a set of objectives which can be grouped together by functionality and/or urgency

Page 21: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 21

Estimate Product

Based on the conceptual design, develop rough estimates of size and time to create each part of the current cycle, and subsequent cycles

Use your PSP experience to guide your early estimates; and don’t expect them to be perfect!

Page 22: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 22

Assess Risks

Determine what risks your project might face

Assign High/Medium/Low to the likelihood of that risk occurring, and to the impact it would have on the project

Discuss significant risks at the next weekly meeting

Page 23: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 23

Document Strategy

Document your development strategy using the STRAT form (p. 61)

Page 24: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 24

Configuration Management Plan

Determine how support manager will manage your product’s configuration

Need to maintain copies of all versions of each product

Record all changes made to the product baseline (who, when, what, and why was something changed?)

Page 25: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 25

Configuration Management Plan

Good CM is critical to success, because you need to be able to back out of a failed new version, and go back to the last version that worked Without clear configuration control, you can’t

do this! Don’t need to automate CM functions; just

define how they are done

Page 26: INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker

INFO 637 Lecture #3 26

Configuration Management

The core CM functions are: When does a module first formally exist as part

of the baseline? How does someone get permission to change a

module (check out)? How are those changes incorporated into the

product (check in)? How is the product built?

Will address testing later