CSC480 Software Engineering Lecture 5 September 9, 2002.
-
Upload
geraldine-miles -
Category
Documents
-
view
218 -
download
0
Transcript of CSC480 Software Engineering Lecture 5 September 9, 2002.
CSC480 Software Engineering
Lecture 5September 9, 2002
CSC 480 - Software Engineering 29/9/2002
Principal Variables
Project planners can vary the followingCostCapabilityQualitySchedule
The degree to which these 4 factors can be controlled depends on the project:
A bulls-eye diagram can visualize the factors
CSC 480 - Software Engineering 39/9/2002
Bulls-eye Diagram
this project
cost
durationcapability
defect density
Target:30 wks
Actual:20 wks
Target:$70K
Actual:$90K
Target:100%
Actual:80%
Target:4 defect/KLOC
Actual:2 defect/KLOC
CSC 480 - Software Engineering 49/9/2002
Roadmap for Project Management
1. Understand project content, scope, & time frame
2. Identify development process (methods, tools, languages, documentation and support)
3. Determine organizational structure (organizational elements involved)
4. Identify managerial process (responsibilities of the participants)
6. Develop staffing plan
5. Develop schedule (times at which the work portions are to be performed)
7. Begin risk management
8. Identify documents to be produced
9. Begin process itself
CSC 480 - Software Engineering 59/9/2002
Optimal Size for Interaction
Number of people with whom developer must frequently interact
Developer communicates regularly with eleven people. Communication time outweighs benefits of interaction
Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help.
Approximateoptimal range
3 7
Effectiveness per developer
CSC 480 - Software Engineering 69/9/2002
Project Management Hierarchy
Larger Projects:Smaller Projects:
No separate Marketing?No separate QA organization?
Subdivide QA into testing, …?Subdivide Engineering into
system engineering, …?
CSC 480 - Software Engineering 79/9/2002
Communication in Large Projects
Team of leaders
CSC 480 - Software Engineering 89/9/2002
S/W Management Distinctions
The product is intangible and uniquely flexible Software engineering is not recognized as an
engineering discipline with the sane status as mechanical, electrical engineering, etc.
The software development process is not standardised
CSC 480 - Software Engineering 99/9/2002
Proposal writing Project planning and scheduling Project costing Project monitoring and reviews Personnel selection and evaluation Report writing and presentations
Management Activities
CSC 480 - Software Engineering 109/9/2002
Project Staffing May not be possible to appoint the ideal people
to work on a project Project budget may not allow for the use of highly-
paid staff Staff with the appropriate experience may not be
available Managers have to work within these constraints
especially when there is an international shortage of skilled IT staff
CSC 480 - Software Engineering 119/9/2002
Project Planning
Probably the most time-consuming project management activity
Plans must be regularly revised as new information becomes available from initial concept to system delivery
Various different types of plan may be developed to support the main software project plan
CSC 480 - Software Engineering 129/9/2002
Types of Project PlanPlan DescriptionQuality plan Describes the quality procedures and
standards that will be used in a project.Validation plan Describes the approach, resources and
schedule used for system validation. Configurationmanagement plan
Describes the configuration managementprocedures and structures to be used.
Maintenance plan Predicts the maintenance requirements ofthe system, maintenance costs and effortrequired.
Staff development plan. Describes how the skills and experience ofthe project team members will bedeveloped.
CSC 480 - Software Engineering 139/9/2002
Project Planning ProcessEstablish the project constraints Make initial assessments of the project parameters Define project milestones and deliverableswhile project has not been completed or cancelled loop
Draw up project scheduleInitiate activities according to schedule
Wait ( for a while ) Review project progress Revise estimates of project parameters Update the project schedule Re-negotiate project constraints and deliverables if ( problems arise ) then Initiate technical review and possible revision end ifend loop
CSC 480 - Software Engineering 149/9/2002
Project Plan Structure Introduction Project organisation Risk analysis Hardware and software resource requirements Work breakdown Project schedule Monitoring and reporting mechanisms
CSC 480 - Software Engineering 159/9/2002
Activity Organization
Activities in a project should be organised to produce tangible outputs for management to judge progress Milestones are the end-point of a process activity Deliverables are project results delivered to
customers The waterfall process allows for the straight
forward definition of progress milestones
CSC 480 - Software Engineering 169/9/2002
Milestones in The RE Process
Evaluationreport
Prototypedevelopment
Requirementsdefinition
Requirementsanalysis
Feasibilityreport
Feasibilitystudy
Architecturaldesign
Designstudy
Requirementsspecification
Requirementsspecification
ACTIVITIES
MILESTONES
CSC 480 - Software Engineering 179/9/2002
Project Scheduling
Dependent on project managers intuition and experience Split project into tasks and estimate time and
resources required to complete each task Organize tasks concurrently to make optimal use
of workforce Minimize task dependencies to avoid delays
caused by one task waiting for another to complete
CSC 480 - Software Engineering 189/9/2002
The Project Scheduling Process
Estimate resourcesfor activities
Identify activitydependencies
Identifyactivities
Allocate peopleto activities
Create projectcharts
Softwarerequirements
Activity chartsand bar charts
CSC 480 - Software Engineering 199/9/2002
Scheduling Problems Estimating the difficulty of problems and
hence the cost of developing a solution is hard Productivity is not proportional to the number of
people working on a task Adding people to a late project makes it later
because of communication overheads The unexpected always happens. Always allow
contingency in planning
CSC 480 - Software Engineering 209/9/2002
Bar Charts & Activity Networks Graphical notations used to illustrate the
project schedule Show project breakdown into tasks. Tasks
should not be too small. They should take about a week or two
Activity charts show task dependencies and the the critical path
Bar charts show schedule against calendar time
CSC 480 - Software Engineering 219/9/2002
Task Durations & DependenciesTask Duration (days) DependenciesT1 8T2 15T3 15 T1 (M1)T4 10T5 10 T2, T4 (M2)T6 5 T1, T2 (M3)T7 20 T1 (M1)T8 25 T4 (M5)T9 15 T3, T6 (M4)T10 15 T5, T7 (M7)T11 7 T9 (M6)T12 10 T11 (M8)
CSC 480 - Software Engineering 229/9/2002
Activity network
start
T2
M3T6
Finish
T10
M7T5
T7
M2T4
M5
T8
4/7/99
8 days
14/7/99 15 days
4/8/99
15 days
25/8/99
7 days
5/9/99
10 days
19/9/99
15 days
11/8/99
25 days
10 days
20 days
5 days25/7/99
15 days
25/7/99
18/7/99
10 days
T1
M1 T3T9
M6
T11
M8
T12
M4
CSC 480 - Software Engineering 239/9/2002
Activity Timeline4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T1T2
M1
T7T3
M5T8
M3
M2T6
T5M4
T9
M7T10
M6
T11M8
T12
Start
Finish
CSC 480 - Software Engineering 249/9/2002
Staff Allocation4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T8 T11
T12
T1
T3
T9
T2
T6 T10
T7
T5
Fred
Jane
Anne
Mary
Jim