Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering...
-
Upload
edmund-hall -
Category
Documents
-
view
222 -
download
0
Transcript of Software Engineering Process - II 1.1 Unit 1: Project Management and Scheduling Software Engineering...
Software Engineering Process - II 1.1
Unit 1:
Project Management and Scheduling
Software Engineering Process - II
Software Engineering Process - II 1.2
What are your expectations from this course?
Before You Begin…
Software Engineering Process - II 1.3
Unit Objectives
Define project management functions.
Describe management activities in a project.
Define the project planning process.
Identify the constituents of a project plan.
Define and identify project milestones and deliverables.
Define project scheduling.
Define and create work breakdown structures.
Create Critical Path Method (CPM), Program Evaluation and Review Technique (PERT), and Gantt charts.
Identify project staffing and leading activities.
Software Engineering Process - II 1.4
Project Management
Project management consists of:
Planning: To determine future course of action
Organizing: To partition work in tasks
Staffing: To select and train personnel
Leading: To lead the project
Controlling: To monitor and evaluate the project
Software Engineering Process - II 1.5
Project Management
Project management is a system of:
Proposal writing
Project planning and scheduling
Project costing
Project monitoring and reviews
Selecting and evaluating personnel
Report writing and presentations
Software Engineering Process - II 1.6
Project Management Activities
Project management activities include:
Proposal writing: Describes the objectives of the project and the methodology. It includes cost estimates and schedules.
Project planning and scheduling: Describes the activities, milestones, and deliverables of the project.
Project costing: Estimates the resources required to accomplish the project plan.
Software Engineering Process - II 1.7
Project Management Activities (cont.)
Project monitoring and reviews: Involves keeping track of the progress of the project and comparing the actual and estimated schedule and cost.
Personnel selection and evaluation: Involves selection of people to work on the project.
Report writing: Involves creating concise and clear progress and review reports for managers and clients.
Software Engineering Process - II 1.8
Project Planning
Planning is an iterative process. It consists of: Identifying constraints such as required delivery date,
available staff, and overall budget.
Assessing project parameters such as project’s size, structure, and distribution of functions.
Defining project milestones and deliverables.
Drawing up a project schedule.
Starting activities according to schedule.
Reviewing project progress and revising project plan.
Updating schedule and renegotiating project constraints and deliverable.
Organizing technical reviews and required revisions.
Software Engineering Process - II 1.9
Project Plan
The project plan should include the following sections: Objectives and constraints
Project organization
Risk analysis
Hardware and software resource requirements
Work breakdown
Project schedule
Monitoring and reporting mechanisms
Software Engineering Process - II 1.10
Project Plan (cont.)
The project plan may include several other plans or may have references to them:
Quality plan
Validation plan
Configuration management plan
Maintenance plan
Training plan
Software Engineering Process - II 1.11
Team Organization Structure
Software Engineering Process - II 1.12
Class Activity - 1
Assume that you have been appointed as the PM of an expense approval and tracking system for ABC international. There are three independent modules in the system. Design a possible team organization structure for your project. Consider the following factors while designing:
The database design is an important part of the project.
The client has specially emphasized on quality control and testing.
Management will review the project once a month.
Software Engineering Process - II 1.13
Milestones and Deliverables
Project planning requires identification of milestones and deliverables.
Milestone: Is an end-point of a software activity.
Represent the end of a distinct logical stage of the project.
Has a formal output.
A deliverable is a project result at the end of a major project phase.
Deliverables are milestones but milestones may not be deliverables.
Software Engineering Process - II 1.14
Milestones and Deliverables (cont.)
Software Engineering Process - II 1.15
Just a Minute!
Define milestones and deliverables for the testing phase.
Software Engineering Process - II 1.16
Project Scheduling
Project scheduling involves:
Breaking the total project work into separate activities – Work Breakdown Structure (WBS)
Judging the required time for each activity
Identifying parallel activities
Estimating resources
Assigning responsibilities
Software Engineering Process - II 1.17
Project Scheduling (cont.)
Software Engineering Process - II 1.18
Project Scheduling Techniques
Project schedules are represented as:
WBS
Activity networks
PERT
Gantt
Software Engineering Process - II 1.19
WBS
A WBS partitions a large project into its component activities or products.
It can be represented using either of the following:
Hierarchical chart WBS: Displays relationships between higher level products or processes and lower level products/ processes.
Example: An application flow diagram.
Indented list WBS: Displays the degree of indentations showing the relationships between higher and lower level products/processes.
Example: The table of contents of a requirement document.
Software Engineering Process - II 1.20
WBS (cont.)
A Hierarchical Chart WBS
Software Engineering Process - II 1.21
WBS (cont.)
An Intended List WBS
Software Engineering Process - II 1.22
Activity Networks
An activity list shows the activities of a project, dependencies and the estimated duration.
Activity networks represent this list in a graphical form with activities either on arrows or nodes.
CPM and PERT are the two forms of activity networks.
Software Engineering Process - II 1.23
Activity Networks (cont.)
CPM and PERT are most successful when the project activities:
Are well defined
Can be started, stopped, and performed separately in a sequence
Have relation to other activities
Once started must continue without interruption until completion
Software Engineering Process - II 1.24
Activity Networks (cont.)
Software Engineering Process - II 1.25
Activity Networks (cont.)
Software Engineering Process - II 1.26
Class Activity - 2
Draw a PERT chart for the activity list given in the following document.
Microsoft Word Document
Software Engineering Process - II 1.27
Gantt Charts
Two dimensional representations that show tasks and corresponding start and end dates.
The top level status of the project can be easily comprehended.
Interrelationships are not easily represented in complex projects.
Software Engineering Process - II 1.28
Sample Gantt Chart
The following sample Gantt chart shows the tasks and corresponding start and end dates.
Software Engineering Process - II 1.29
Staffing
Staffing involves allocation of personnel to project activities. It can include following activities:
Select personnel based on required technical and behavioral skills
Orient people to organization and project tasks
Provide class-room or on-the-job training and development
Set performance goals and appraise personnel
Compensate and terminate assignment
Software Engineering Process - II 1.30
Staffing (cont.)
The parameters for personnel selection can be as follows:
Years of experience: For example, 2-4 years for development team member and 8 years for project leader
Educational background: Name of the degree and preferences of colleges
Technical skills: Microsoft SQL server, Oracle, and Visual Basic
Personal skills: Dynamic, self-motivated, and can work in a team
Software Engineering Process - II 1.31
Responsibility Matrix
The responsibility matrix can contain the following:
Allocation of staff to project activities
Role of an individual staff member
Assignment dates
Name Role Responsibilities Dates
Management Review project status
Group Manager Ensure that adequate resources are provided for the project
Liaison with client’s representative
Project Manager Identify and plan for the management of risks in advance
Team Leader Help fellow team members on technical issues
Participate in reviews / walkthroughs of design/code
Schedule and monitor tasks assigned to the team
Team Members Study and understand the planning documents
Design and coding
Software Engineering Process - II 1.32
Class Activity - 3
Can you think of technical and behavioral skills that you should consider when selecting people for a real-time intelligent building system for an old people’s home?
Software Engineering Process - II 1.33
Leading
Leading a project involves motivating and guiding personnel to achieve project goals. It can include the following activities:
Provide a conceptual view of the project direction
Provide day-to-day guidelines to help project members complete their assignments
Coordinate all project activities
Facilitate communication and resolve conflicts
Allow project members to take decisions within their purview
Software Engineering Process - II 1.34
Summary
What was your key learning from the unit?