Software Engineering Process II TSP Roles and Overview INFO 637 Glenn Booker INFO 637 Lecture #2

Download Report

Transcript Software Engineering Process II TSP Roles and Overview INFO 637 Glenn Booker INFO 637 Lecture #2

Software Engineering Process II
TSP Roles and Overview
INFO 637
Glenn Booker
INFO 637
Lecture #2
1
TSP Roles
The PSP had you doing pretty much
everything yourself – a veritable jack
(or jill) of all trades
The TSP breaks roles down so that
each leadership function can be
more specialized
While each role represents about one
person for class, in reality some roles may
need more than one person to fulfill them
INFO 637
Lecture #2
2
TSP Roles
The leadership roles are:
Team Leader
Development Manager
Planning Manager
Quality and Process Manager
Support Manager
INFO 637
Lecture #2
3
TSP Roles
When choosing roles within your project,
consider
What roles have you done before?
What roles interest you?
What roles do you think you can do?
Consider the possibility of stretching your
skills – try a role which is unlike any you’ve
done before!
INFO 637
Lecture #2
4
Development Engineer
In addition to one of the previous roles,
everyone is also a Development Engineer
This is a really important point!
Hence you will be producing your own
products (code, documents, etc.) and
fulfilling one of the leadership roles on
slide #3
INFO 637
Lecture #2
5
Development Engineer Activities
This means that during your project, you
need to:
Record your time in the time recording
log (LOGT)
Enter the week number when each task
is completed
Update TASK and SCHEDULE templates
Record all defects for your products in your
defect recording log (LOGD)
INFO 637
Lecture #2
6
Development Engineer Activities
Enter the size of each product or component
Submit updated copies of completed TASK,
SCHEDULE, and WEEK forms to the planning
manager and the instructor at the start of
each week
When you complete a system or component
task, update the SUMP and SUMQ forms and
give copies to the quality/process manager and
the instructor
INFO 637
Lecture #2
7
Development Engineer Activities
Report all changes in configuration-controlled
components to the support manager
Report issues to be tracked to the support
manager for the issue tracking log (ITL)
Above all, examine your data and use it to help
you produce quality work!
INFO 637
Lecture #2
8
Team Leader Goals
The team leader is the equivalent of the
project manager for the team
Goals of the team leader include:
Be a cooperative and effective team member
Build and maintain an effective team
Motivate all team members to work
aggressively on the project
INFO 637
Lecture #2
9
Team Leader Goals
Resolve all the issues team members bring
to you
Keep the instructor fully informed about the
team’s progress
Perform effectively as the team’s
meeting facilitator
INFO 637
Lecture #2
10
Team Leader Skills Needed
You enjoy acting as the leader
You are able to identify key issues and
make objective decisions
You can take unpopular positions and can
push people to do difficult tasks
You respect the people you are leading
INFO 637
Lecture #2
11
Team Leader Activities
Motivate the team to perform their tasks
Run the weekly team meeting
Report weekly status
Help the team to allocate tasks
Act as a facilitator and timekeeper for
team meetings
Maintain the project notebook
INFO 637
Lecture #2
12
Team Leader Activities
Lead the team in producing the
development cycle report
Act as a development engineer
INFO 637
Lecture #2
13
Development Manager Goals
The development manager is the leader
for creating the product itself – sort of the
software architect
Their goals are:
Be a cooperative and effective team member
Produce a superior product
Fully utilize the team members’ skills
and abilities
INFO 637
Lecture #2
14
Development Manager Skills
You like to build things
You want to be (or are!) a software
engineer and want to lead design and
development for a product
You are a competent designer
You are familiar with design methods
You are will to listen to and use
others’ ideas
INFO 637
Lecture #2
15
Development Manager Activities
Lead producing the development strategy
Lead producing the preliminary size and
time estimates for the products
Lead development of the software
requirements specification
Lead producing the high level design
Lead producing the software
design specifications
INFO 637
Lecture #2
16
Development Manager Activities
Lead implementing the product
Lead developing the test plans
Lead developing the test materials and
running the tests
Lead producing the product
user’s documentation
INFO 637
Lecture #2
17
Development Manager Activities
Participate in producing the development
cycle report
Act as a development engineer
INFO 637
Lecture #2
18
Planning Manager Goals
The planning manager is responsible for
managing the plan for your project
Their goals are:
Be a cooperative and effective team member
Produce a complete plan for the team, and for
each team member
Accurately report team status every week
INFO 637
Lecture #2
19
Planning Manager Skills
You have a logical and orderly mind
You tend to plan your work when you can
You like process data, and feel better if
you know if you’re on schedule
You think planning is important, and can
help your teammates track and measure
their work
INFO 637
Lecture #2
20
Planning Manager Activities
Lead producing the task plan for each
development cycle
Lead producing the schedule for each
development cycle
Lead producing the balanced team
development plan
Track the team’s progress against the plan
INFO 637
Lecture #2
21
Planning Manager Activities
Participate in producing the development
cycle report
Act as a development engineer
INFO 637
Lecture #2
22
Process and Quality Manager Goals
This role is to ensure the TSP process is
being followed, and to verify the quality of
your team’s products
Their goals are:
Be a cooperative and effective team member
Ensure team members correctly report and use
TSP process data
INFO 637
Lecture #2
23
Process and Quality Manager Goals
Ensure team follows the TSP quality plan and
produces a quality product
Ensure team inspections are properly
moderated and reported
Ensure team meetings are accurately reported,
and reports are put in the team notebook
INFO 637
Lecture #2
24
Process and Quality Manager Skills
You are concerned about software quality
You are interested in process and
product measurements
You are aware of inspection and
review methods
You can give constructive reviews
INFO 637
Lecture #2
25
Process and Quality Manager
Activities
Lead producing and tracking the
quality plan
Alert team leader and instructor if
there are quality problems
Lead defining and documenting
team processes and conducting
process improvement
INFO 637
Lecture #2
26
Process and Quality Manager
Activities
Establish and maintain the team’s
development standards
Review and approve all products before
their submission to the Configuration
Control Board (CCB)
Act as the team’s inspection moderator
Act as a recorder in all team meetings
INFO 637
Lecture #2
27
Process and Quality Manager
Activities
Participate in producing the development
cycle report
Act as a development engineer
INFO 637
Lecture #2
28
Support Manager Goals
The support manager is focused mostly
on configuration management and
risk management
Their goals are:
Be a cooperative and effective team member
Ensure the team has tools and methods
needed to support their work
INFO 637
Lecture #2
29
Support Manager Goals
Ensure only authorized changes are made to
baselined products
Ensure team’s risks and issues are recorded in
the issue-tracking system, and reported
each week
Ensure team meets its reuse goals during the
development cycle
INFO 637
Lecture #2
30
Support Manager Skills
Lead determining support needs and
obtaining needed tools and facilities
Chair the CCB and manage the change
control system
Manage the configuration
management system
Maintain the system glossary
INFO 637
Lecture #2
31
Support Manager Skills
Maintain team’s issue- and
risk-tracking system
Act as team’s reuse advocate
Participate in producing the development
cycle report
Act as a development engineer
INFO 637
Lecture #2
32
Common Features
Notice that every role has the common
goal of:
Be a cooperative and effective team member
All roles have the activity, as mentioned
previously, of:
Act as a development engineer
INFO 637
Lecture #2
33
Common Features
And most roles also have the activity
Participate in producing the development
cycle report
So the challenge of teamwork is to
balance shared tasks with role-specific
ones, and still produce a viable product
along the way!
INFO 637
Lecture #2
34
Team Size Considerations
As noted on page xiv of the Preface:
If your team has four people, the support
manager activities get divided among everyone
If your team has five people, each person gets
one leading role
If your team has six people, the quality and
process manager role is split in two; quality
manager and process manager
INFO 637
Lecture #2
35
TSP Overview
INFO 637
Lecture #2
36
Iterative Approach
The TSP is based on an iterative
approach, where cycles are used to
develop major parts of the product
incrementally
We’ll follow the first cycle only, and
then see how things would follow for
subsequent cycles
INFO 637
Lecture #2
37
TSP Overview
The Team Software Process has eight
steps or phases
Launch
Development Strategy
Development Plan
Define Requirements
Design
Implementation
INFO 637
Lecture #2
38
TSP Overview
Integration and System Testing
Postmortem
We’ll skim the first seven of these this
week, before working through one cycle
At the end of the course, we’ll do the
postmortem and address miscellaneous
teamwork issues
INFO 637
Lecture #2
39
Launching a Team Project
The use of a formal launch step helps
ensure roles are clearly assigned,
and allows conscious team building
to take place
Script for this step includes:
Understand your product’s objectives
Develop team and individual goals
Conduct an initial team meeting to establish
roles and initial due dates
INFO 637
Lecture #2
40
Development Strategy
This is the earliest planning stage in the
TSP, where a conceptual plan,
development strategy, and estimates
are developed
Risk assessment is also done, and the
configuration management plan is drafted
These tasks are needed to obtain
commitment to the project before further
investigation is done
INFO 637
Lecture #2
41
Development Strategy
Script includes:
Define the strategy criteria; what product,
process, and quality criteria can be defined,
in spite of minimal product knowledge?
Produce the conceptual design; outline what
the product will be like
Select development strategy; when will
different kinds of functions be created?
INFO 637
Lecture #2
42
Development Strategy
Produce preliminary size and time estimates
Identify and evaluate risks
Produce configuration management (CM) plan
INFO 637
Lecture #2
43
Development Plan
This is a project management plan, to help
make sure the right steps are done in the
right order
We need to define, in detail, what will be
done and who’ll do it
Need to balance workload so people are
well utilized
INFO 637
Lecture #2
44
Development Plan
Tasks include:
Start with size estimates
Produce task plan
Produce schedule plan
Produce the quality plan
Produce engineer plans for each person
Balance the workload for the sake of fairness
and efficiency
INFO 637
Lecture #2
45
Define Requirements
This is definition of the software
requirements specification (SRS)
Defines what the product will be able to
do, and how well it will be able to do it
(speed, reliability, etc.)
Key objective is to ensure that your
product will meet the customer’s needs
INFO 637
Lecture #2
46
Define Requirements
Clear requirements also form the basis for
the change control system, which
manages changes in the requirements
Steps include:
Clarifying the product needs
Define and document requirements
Develop system test plan, to prove
requirements were met
INFO 637
Lecture #2
47
Define Requirements
Do formal verification of requirements and
test plan
Verify requirements with customer
INFO 637
Lecture #2
48
Design
The TSP is not limited to any particular
design methodology (object oriented,
information engineering, etc.)
Hence each team needs to choose the
design method for their project
Design elaborates on the conceptual
design
This step is only high level design
INFO 637
Lecture #2
49
Design
Design is usually based on breaking a
system down into components
Then the requirements for each
component are determined
Keep breaking down components until
they are small enough to be easily
understood, and created by one person
INFO 637
Lecture #2
50
Design
Steps include:
Develop high level design
Apply design standards
Document design
Allocate design tasks to team members
Create integration test plan
Inspect design and integration test documents
INFO 637
Lecture #2
51
Implementation
Implementation is the coding step (which
may have been called the Construction
phase in other classes)
Detailed designs figure out how each
component can best be implemented
Then using the designs as blueprints,
the product is created, and unit tested
INFO 637
Lecture #2
52
Implementation
Steps include:
Define and allocate implementation tasks
Prepare detailed designs
Write unit test plan and test cases
Write the code
Conduct unit tests
Review results
Release component when passes review
INFO 637
Lecture #2
53
Integration and System Testing
Now that components have been created
and unit tested, we can assemble them
and do integration and system testing
Recall that test plans were drafted in the
requirements and design stages
Here we’ll review test strategies, and
address quality measures
INFO 637
Lecture #2
54
Integration and System Testing
Steps include:
Define and allocate test activities
Build the system
Integrate the system, and do integration testing
Conduct system testing
Document test results
INFO 637
Lecture #2
55
Summary
After system testing is passed, a
postmortem meeting is held to:
Document the cycle,
Look for process improvement opportunities,
Evaluate our team, and
Revise our plans for the next cycle
That’s the TSP in a nutshell (apologies
to O’Reilly)
INFO 637
Lecture #2
56