TCS 2411 Software Engineering

Download Report

Transcript TCS 2411 Software Engineering

Software Project
Management
“What is happening in the project?”
TCS2411 Software Engineering
1
Lecture Objectives
To discuss the various aspects of project
management
To understand the tasks in software
project management
To describe the project titles in the course
To describe the requirements of a project
plan
TCS2411 Software Engineering
2
Project
Definition: A group of tasks performed in
a definable time period in order to meet a
specific set of objectives
Project Features:
likely to be unique (one-time program)
have specific start and end time (life cycle)
have work scope that can be categorised into
definable tasks
has a budget, require use of resources
TCS2411 Software Engineering
3
What is involved
People — the most important element of
a successful project
Product — the software to be built
Process — the set of framework activities
and software engineering tasks to get the
job done
Project — all work required to make the
product a reality
TCS2411 Software Engineering
4
A Simple Project
“Going to the movies with friends”
TCS2411 Software Engineering
5
Management
The planning, organizing, staffing,
directing and controlling of a company’s
resources to meet the company’s
objectives
TCS2411 Software Engineering
6
Definition of Project
Management
The planning, organizing, directing, and
controlling of resources for a specific time
period to meet a specific set of one-time
objectives
TCS2411 Software Engineering
7
Primary Objectives of
Project Management
To meet specified performance
... within cost
... and on schedule
TCS2411 Software Engineering
8
Project Management
Activities
Establish project objectives
Defining work requirement
Determining work timing
Establishing resource availability and
requirements
Establishing a cost baseline
Evaluating and optimising the baseline
plan
TCS2411 Software Engineering
9
Project Management
Activities (Continued)
Freezing the baseline plan
Tracking the actual costs
Comparing the progress and cost to the
baseline plan
Evaluating performance
Forecasting, analysing and recommending
corrective action
TCS2411 Software Engineering
10
Benefits of Project
Management
Identification of function responsibilities to
ensure that all activities are accounted for,
regardless of personnel turnover
Minimizing the need for continuous
reporting
Identification of time limits for scheduling
Identification of a methodology for
tradeoff analysis
TCS2411 Software Engineering
11
Benefits of Project
Management (Continued)
Measurement of accomplishment against
plans
Early identification of problems
Improved estimating capabilities for future
planning
Knowing when objectives cannot be met
or will be exceeded
TCS2411 Software Engineering
12
Software Projects
Factors that influence the end result ...
Factors that influence the end result ...
• size
• delivery deadline
• budgets and costs
• application domain
• technology to be implemented
• system constraints
• user requirements
• available resources
TCS2411 Software Engineering
13
Project Management
Concerns
product quality?
risk assessment?
measurement?
cost estimation?
project scheduling?
customer communication?
staffing?
other resources?
project monitoring?
TCS2411 Software Engineering
14
Project Management
Problems
Resources inadequate
Meeting (“unrealistic”) deadlines
Unclear goals/direction
Team members uncommitted
Insufficient planning
Breakdowns in communications
Changes in goals and resources
Conflicts between departments or functions
TCS2411 Software Engineering
15
Resources of A
Company
Money
Manpower
Equipment
Facilities
Materials
Information/technology
TCS2411 Software Engineering
16
Obstacles in Project
Management
Project complexity
Customer’s special requirement
Organizational restructuring
Project risks
Changes in technology
Forward planning and pricing
TCS2411 Software Engineering
17
Project Management
Skills
Communication Skills
Organizational Skills
Team Building Skills
Leadership Skills
Coping Skills
Technological Skills
TCS2411 Software Engineering
18
Project Titles
Select one of the following project titles:
TCS2411 Software Engineering
19
Project Plan
“What are you going to do in the project?”
TCS2411 Software Engineering
20
Project Plan Elements
Project Objective & Scope
Schedule
Team Organization
Project Standards and Procedures
Documentation Plan
Quality Assurance Plan
Resource Management Plan
Configuration Management Plan
TCS2411 Software Engineering
21
Organizational Paradigms
closed paradigm—structures a team along a traditional
hierarchy of authority.
Hierarchical Organization
TCS2411 Software Engineering
22
Organizational Paradigms continue
random paradigm—structures a team loosely and
depends on individual initiative of the team members
Democratic Organization
TCS2411 Software Engineering
23
Other organizational
structure
open paradigm—attempts to structure a team in
a manner that achieves some of the controls
associated with the closed paradigm but also
much of the innovation that occurs when using
the random paradigm
synchronous paradigm—relies on the natural
compartment-alization of a problem and
organizes team members to work on pieces of
the problem with little active communication
among themselves
TCS2411 Software Engineering
24
Team Leader
Communications with Lecturer
Coordination of Project Activities
Final say in decisions if the team is unable
to reach a decision
TCS2411 Software Engineering
25
Programming Leader
Responsible for programming activities
Coordination of software development
tasks
Knowledge of programming language and
tools
TCS2411 Software Engineering
26
Quality Manager
Responsible for quality in project work
Coordination of testing and review
activities
Ensure that quality standards are adhered
e.g. version control and document formats
TCS2411 Software Engineering
27
Document Manager
Responsible for documentation activities
Coordination of document preparation
tasks
Keeps ‘master copy’ of all project
documents
TCS2411 Software Engineering
28
Resource Manager
Responsible for project resources
Treasurer - manages the costs of the
project
Ensures that resources are obtained for
project tasks e.g. computer resources
TCS2411 Software Engineering
29
Project Standards
Example
All documents must have a version
number
All documents must be prepared using MS
Word
All meetings must have minutes
Project file name extensions, suffixes,
prefixes
TCS2411 Software Engineering
30
Software Configuration
Computer programs
Source code
Executable code
Documents that describe the computer
programs
For technical staff
For users
Data
Within the program and external to it
TCS2411 Software Engineering
31
Software Configuration
Item
A document or an artifact that is explicitly
placed under configuration control and
that can be regarded as a basic unit for
modification
Examples:
requirement documents
design document
code of a module
test plan
TCS2411 Software Engineering
32
References
“Software Engineering: A Practitioner’s Approach”
5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001
“Project Management: A Managerial Approach” by
Jack R. Meredith & Samuel J. Mantel, Jr. , John
Wiley, 1989
“Project Management: Principles and Practices” by
M. Pete Spinner, Prentice-Hall, 1997
“Goal Directed Project Management”, 2nd Edition,
by Erling S. Andersen, Kristoffer V. Grude & Tor
Haug, Kogan Page, 1995
TCS2411 Software Engineering
33