SlideShare a Scribd company logo
1 of 51
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1
Software Project Management
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
Project
A project is a temporary endeavor undertaken to create
a unique product or service. It implies
a specific timeframe
a budget
unique specifications
working across organizational boundaries
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Project Management
The application of knowledge, skills, tools, and
techniques to project objectives to meet
stakeholder needs and expectations.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
When Projects Succeed!
 Project Sponsorship at executive level
 Good project charter
 Strong project management
 The right mix of team players
 Good decision making structure
 Good communication
 Team members are working toward common goals
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Laws of Project Management
 No major project is ever installed on time, within budget,
or with the same staff that started it. Yours will not be the
first.
 Projects progress quickly until they become 90% complete,
then they remain at 90% complete forever.
 When things are going well, something will go wrong.
 When things just cannot get any worse, they will.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
Laws of Project Management
 When things appear to be going better, you have overlooked
something.
 No system is ever completely debugged. Attempts to debug a
system inevitably introduce new bugs that are even harder to
find.
 A carelessly planned project will take three times longer to
complete than expected
 A carefully planned project will take only twice as long.
 Project teams detest progress reporting because it vividly
manifests their lack of progress.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Why Projects Fail
 Failure to align project with organizational objectives
 Poor scope
 Unrealistic expectations
 Lack of executive sponsorship
 Lack of project management
 Inability to move beyond individual and personality
conflicts
 Politics
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
Project Charter
 Project Goal & Objective
 Sponsor
 Stakeholders
 Timeline
 Resources required
 Deliverables
 Risks
 Business process changes
 Project manager
 Project team
 Budget
 Signatures
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
 Proposal writing.
 Project planning and scheduling.
 Project costing.
 Project monitoring and reviews.
 Personnel selection and evaluation.
 Report writing and presentations.
Management activities
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
Project Management Context:
 Project Phases and Life Cycle
 Stakeholders
 Leadership Skills
 General Management Skills
 Communications Skills
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
Project Phases and Life Cycle:
 Divide Project into Phases
 Better Management Control
 Review Deliverables and Performance
 Fast-tracking
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
Example of Project Phases:
 Conceptual Design
 Detailed Design
 Coding and Testing
 Training and Documentation
 Deployment
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
Stakeholders:
 Individuals and Organizations
 Actively Involved in Project
 Interests Affected by Project
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
Leadership Skills:
 Vision and Strategy
 Establishing Direction
 Aligning People
 Communicating
 Negotiating
 Motivating and Inspiring
 Influencing Organizations
 Overcoming Barriers to Change
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15
General Management Skills:
 Planning
 Finance and Accounting
 Personnel Administration
 Technology
 Organizational Development
 Delegation
 Team Building
 Conflict Management
 Solving Problems
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16
Communications Skills:
 Writing
 Listening
 Speaking
 Presenting
 Media Relations
 Meeting Management
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17
Scope Management:
 Initiation
 Scope Planning
 Scope Definition
 Scope Verification
 Scope Change Control
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18
Time Management:
 Activity Definition (Microsoft Project)
 Activity Sequencing (Microsoft Project)
 Activity Duration Estimating
 Schedule Development
 Schedule Control
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19
Cost Management:
 Resource Planning
 Cost Estimating
 Cost Budgeting
 Cost Control
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20
Quality Management:
 Quality Planning: are techniques to examine and measure
customer expectations for quality
 Quality Assurance: is the activity of providing evidence needed
to establish quality in work, and that activities that require good
quality are being performed effectively.
 Quality Control: quality control and quality engineering are
involved in developing systems to ensure products or services
are designed and produced to meet or exceed customer
requirements
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21
Human Resource Management
 Organizational Planning
 Staff Acquisition
 Team Development
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22
Communications Management:
 Communications Planning
 Information Distribution
 Performance Reporting
 Administrative Closure
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23
Risk Management:
 Risk Identification
 Risk Quantification
 Risk Response Development
 Risk Response Control
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24
Integration Management:
 Project Plan Development
 Project Plan Execution
 Overall Change Control
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25
Management Processes:
 Initiating Processes
 Planning Processes
 Executing Processes
 Controlling Processes
 Closing Processes
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26
 Concerned with activities involved in ensuring
that software is delivered on time and on
schedule and in accordance with the
requirements of the organisations developing
and procuring the software
 Project management is needed because software
development is always subject to budget and schedule
constraints that are set by the organisation developing
the software
Software project management
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27
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
 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
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28
Software Projects
• size
• delivery deadline
• budgets and costs
• application domain
• technology to be
implemented
• system constraints
• user requirements
• available resources
Factors that influence the end result ...
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29
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
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30
 Large projects often fail for two principal reasons:
 Communication: Inadequate communication leads to
project failure
 Coordination: Lack of communication implies that the
team can not coordinate. Thus each group moves in an
independent direction and the project will grind to a
halt.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 31
Team Organizational Models
 Marilyn Mantei model:
 Democratic decentralized (DD). -- Does not have a defined
leader. “Task Coordinators” are appointed to assure that a
particular job is to be executed. These are later replaced by
other “Task Coordinators” as new tasks arise.
 Controlled decentralized (CD) -- Has a defined leader who
coordinates tasks, and secondary leaders who carry out
subtasks. Problem solving is done by the group,
implementation is done by subgroups.
 Controlled Centralized (CC) - Top-level problem solving and
team coordination managed by the team leader. The
communication between the leader and members is vertical.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 32
Project scheduling
 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.
 Dependent on project managers intuition and
experience.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 33
Terminology
Deliverable
Work product that is provided to the customer (report,
presentation, documentation, code, etc.)
Milestone
Completion of a specified set of activities (e.g., delivery
of a report, completion of part of the system design)
Activity
Part of a project that takes place over time (also called a
task).
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 34
Terminology
Event
The end of a group of activities.
Dependency
An activity that cannot begin until some event is reached
Resource
Staff time, equipment, or other resource required by an activity.
Slack
The amount that an activity can be delayed without delaying the
next milestone.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 35
General Approach to Project Planning
Identify deliverables and milestones
Divide project into activities (tasks)
For each task estimate:
• time from when the task begins to when it is complete
• dependencies on events before beginning
• resource requirements
Build a model that uses this data to create a work-plan,
including schedule, resource allocation, and flexibility
(slack).
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 36
Project Planning Methods
Critical Path Method, Gantt charts, Activity bar charts, etc.
• Build a work-plan from activity data.
• Display work-plan in graphical form.
Project planning software (e.g., Microsoft Project)
• Maintain a database of activity data with input tools
• Calculate and display schedules
• Provide progress reports
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 37
Project Planning Methods
All project planning methods are best when:
1. Plan is updated regularly (e.g., weekly or monthly)
2. The structure of the project is well understood
3. The time estimates are reliable
4. Activities do not share resources
Unfortunately, #2, #3, #4 are difficult with software
development
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 38
A Simple Gantt Chart
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 39
Gantt Charts
• Dates run along the top (days, weeks or months).
• Each row represents an activity. Activities may be scheduled
sequentially, in parallel or overlapping.
• The schedule for an activity is a horizontal bar. The left end
marks the planned beginning of the task. The right end marks the
expected end date.
• The chart may be updated by filling in each activity to a length
proportional to the work accomplished.
• Progress to date can be compared with the plan by drawing a
vertical line through the chart at the current date.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 40
A More Complex Gantt Chart
Source: SmartDraw
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 41
Staff allocation
4/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
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 42
Risks and risk types
Risk type Possible risks
Technology The database used in the system cannot process as
many transactions per second as expected.
Software components which should be reused contain
defects which limit their functionality.
People It is impossible to recruit staff with the skills required.
Key staff are ill and unavailable at critical times.
Required training for staff is not available.
Organisational The organisation is restructured so that different
management are responsible for the project.
Organisational financial problems force reductions in the
project budget.
Tools The code generated by CASE tools is inefficient.
CASE tools cannot be integrated.
Requirements Changes to requirements which require major design
rework are proposed.
Customers fail to understand the impact of requirements
changes.
Estimation The time required to develop the software is
underestimated.
The rate of defect repair is underestimated.
The size of the software is underestimated.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 43
Risk management
 Risk management is concerned with identifying risks
and drawing up plans to minimise their effect on a
project.
 A risk is a probability that some adverse circumstance
will occur.
Project risks affect schedule or resources
Product risks affect the quality or performance
of the software being developed
Business risks affect the organisation developing
or procuring the software
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 44
The risk management process
 Risk identification
 Identify project, product and business risks
 Risk analysis
 Assess the likelihood and consequences of these risks
 Risk planning
 Draw up plans to avoid or minimise the effects of the risk
 Risk monitoring
 Monitor the risks throughout the project
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 45
Measure, Metrics, and Indicator
 Measure -- Provides a quantitative indication of the extent,
amount, dimensions, capacity, or size of some product or
process attribute.
 Metrics -- A quantitative measure of the degree to which a
system, component, or process possesses a given attribute.
 Software Metrics -- refers to a broad range of measurements
for computer software.
 Indicator -- a metric or combination of metrics that provide
insight into the software process, a software project, or the
product itself.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 46
Software Metrics
 Direct measures
 Cost and effort applied (in SEing process)
 Lines of code(LOC) produced
 Execution speed
 CPU utilization
 Memory size
 Defects reported over certain period of time
 Indirect Measures
 Functionality, quality, complexity, efficiency, reliability,
maintainability.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 47
Software Measurement
 Size-Oriented Metrics
 are derived by normalizing quality and/or productivity measures
by considering the “size” of the software that has been produced.
 lines of code often as normalization value.
project LOC effort $(000) pp.doc errors defects people
alpha 12,100 24 168 365 134 29 3
beta 27,200 62 440 1224 321 86 5
gamma 20,200 43 314 1050 256 64 6
. . . . ... . . . .
. . . . .
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 48
Typical Size-Oriented Metrics
 Errors per KLOC
 Defects per KLOC
 Dollars per KLOC
 Pages of documentation per KLOC
 Errors per person month
 LOC per person month
 Dollars per page of documentation
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 49
Measures of Software Quality
 Correctness
 is the degree to which the software performs its required function.
the most common measure for correctness is defects per KLOC
 Maintainability
 the ease that a program can be corrected
 adapted if the environment changes
 enhanced if the customer desires changes in requirements
 based on the time-oriented measure mean time to change.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 50
Measures of Software Quality (Cont’d)
 Integrity
 to measure a system’s ability to withstand attacks (both accidental
and intentional) on its security threat and security are defined
 integrity = sum [ 1 - threat * (1- security)]
 Usability - an attempt to quantify “user friendliness”
 physical/intellectual requirement to learn
 time required to become moderately efficient
 the net increase in productivity
 user attitudes toward system
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 51
End of slides

More Related Content

What's hot

Chapter5 project-management
Chapter5 project-managementChapter5 project-management
Chapter5 project-managementVin Voro
 
Cmgt 410 week 2 gantt chart diagram
Cmgt 410 week 2 gantt chart diagramCmgt 410 week 2 gantt chart diagram
Cmgt 410 week 2 gantt chart diagramenininvin1980
 
Information Technology Project Management
Information Technology Project ManagementInformation Technology Project Management
Information Technology Project ManagementGoutama Bachtiar
 
Power Point For Cmgt 410
Power Point For Cmgt 410Power Point For Cmgt 410
Power Point For Cmgt 410steffiann88
 
Project management 02112009
Project management 02112009Project management 02112009
Project management 02112009Manish Chaurasia
 
Project management part 1
Project management part 1Project management part 1
Project management part 1Anjan Mahanta
 
S11 Project Closure Controlling and Review
S11 Project Closure Controlling and ReviewS11 Project Closure Controlling and Review
S11 Project Closure Controlling and ReviewRoland Berberich
 
Project Management case analysis
Project Management case analysisProject Management case analysis
Project Management case analysisWakas Khalid
 
Paramita mukerji
Paramita mukerjiParamita mukerji
Paramita mukerjiPMI2011
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementKamuran Koçak
 
assingnment 56
assingnment 56assingnment 56
assingnment 56Bhas Karan
 
It project management assignment ppt
It project management assignment pptIt project management assignment ppt
It project management assignment pptOZ Assignment help
 
Breaking the Project Failure Cycle
Breaking the Project Failure CycleBreaking the Project Failure Cycle
Breaking the Project Failure CycleGlen Alleman
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principleMohammad Hafiz-Al-Masud
 
Communication Map Plan for Business
Communication Map Plan for Business Communication Map Plan for Business
Communication Map Plan for Business Ravi Nakulan
 
Conveyor Belt Project Report
Conveyor Belt Project ReportConveyor Belt Project Report
Conveyor Belt Project ReportRISHABHSIINGH
 
S10 Organisations Software and Methodologies
S10 Organisations Software and MethodologiesS10 Organisations Software and Methodologies
S10 Organisations Software and MethodologiesRoland Berberich
 

What's hot (20)

Chapter5 project-management
Chapter5 project-managementChapter5 project-management
Chapter5 project-management
 
Cmgt 410 week 2 gantt chart diagram
Cmgt 410 week 2 gantt chart diagramCmgt 410 week 2 gantt chart diagram
Cmgt 410 week 2 gantt chart diagram
 
Information Technology Project Management
Information Technology Project ManagementInformation Technology Project Management
Information Technology Project Management
 
Power Point For Cmgt 410
Power Point For Cmgt 410Power Point For Cmgt 410
Power Point For Cmgt 410
 
Project management 02112009
Project management 02112009Project management 02112009
Project management 02112009
 
Project management part 1
Project management part 1Project management part 1
Project management part 1
 
S11 Project Closure Controlling and Review
S11 Project Closure Controlling and ReviewS11 Project Closure Controlling and Review
S11 Project Closure Controlling and Review
 
Project Management case analysis
Project Management case analysisProject Management case analysis
Project Management case analysis
 
Paramita mukerji
Paramita mukerjiParamita mukerji
Paramita mukerji
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Ms Project 2010
Ms Project 2010Ms Project 2010
Ms Project 2010
 
assingnment 56
assingnment 56assingnment 56
assingnment 56
 
It project management assignment ppt
It project management assignment pptIt project management assignment ppt
It project management assignment ppt
 
Breaking the Project Failure Cycle
Breaking the Project Failure CycleBreaking the Project Failure Cycle
Breaking the Project Failure Cycle
 
4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle4 p’s of management spectrum and the w5hh principle
4 p’s of management spectrum and the w5hh principle
 
Communication Map Plan for Business
Communication Map Plan for Business Communication Map Plan for Business
Communication Map Plan for Business
 
Balcroft DMWB Flyer
Balcroft DMWB FlyerBalcroft DMWB Flyer
Balcroft DMWB Flyer
 
Conveyor Belt Project Report
Conveyor Belt Project ReportConveyor Belt Project Report
Conveyor Belt Project Report
 
Ch05
Ch05Ch05
Ch05
 
S10 Organisations Software and Methodologies
S10 Organisations Software and MethodologiesS10 Organisations Software and Methodologies
S10 Organisations Software and Methodologies
 

Similar to Software Engineering Lec 3-project managment

ch11lect-project-management.ppt
ch11lect-project-management.pptch11lect-project-management.ppt
ch11lect-project-management.pptNanoSana
 
ch11lect-project-management.ppt
ch11lect-project-management.pptch11lect-project-management.ppt
ch11lect-project-management.pptsrividyal2
 
Ch14lect4 (1)
Ch14lect4 (1)Ch14lect4 (1)
Ch14lect4 (1)maokola
 
L30_Project_Organization_ch13lect1.ppt
L30_Project_Organization_ch13lect1.pptL30_Project_Organization_ch13lect1.ppt
L30_Project_Organization_ch13lect1.pptDheerajMehlawat2
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptgarimaarora436394
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptSaraj Hameed Sidiqi
 
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.pptL14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.pptAronBalais1
 
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.pptL14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.pptAxmedMaxamuud6
 
AI IN PROJECT MANAGEMENT.pptx
AI IN PROJECT MANAGEMENT.pptxAI IN PROJECT MANAGEMENT.pptx
AI IN PROJECT MANAGEMENT.pptxWriteMe
 
Introduction to Project Management
Introduction to Project ManagementIntroduction to Project Management
Introduction to Project Managementmovinghats
 
Project management
Project managementProject management
Project managementSaumya Sahu
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overviewcford1973
 
Software Engineering Lec 2
Software Engineering Lec 2Software Engineering Lec 2
Software Engineering Lec 2Taymoor Nazmy
 

Similar to Software Engineering Lec 3-project managment (20)

ch11lect-project-management.ppt
ch11lect-project-management.pptch11lect-project-management.ppt
ch11lect-project-management.ppt
 
ch11lect-project-management.ppt
ch11lect-project-management.pptch11lect-project-management.ppt
ch11lect-project-management.ppt
 
Ch01lect1 ud
Ch01lect1 udCh01lect1 ud
Ch01lect1 ud
 
organization charts....rules
organization charts....rulesorganization charts....rules
organization charts....rules
 
Health
HealthHealth
Health
 
Ch14lect4 (1)
Ch14lect4 (1)Ch14lect4 (1)
Ch14lect4 (1)
 
Balcroft dmwb flyer
Balcroft dmwb flyerBalcroft dmwb flyer
Balcroft dmwb flyer
 
L30_Project_Organization_ch13lect1.ppt
L30_Project_Organization_ch13lect1.pptL30_Project_Organization_ch13lect1.ppt
L30_Project_Organization_ch13lect1.ppt
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
 
Lo 11
Lo 11Lo 11
Lo 11
 
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.pptL14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
 
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.pptL14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
 
OOSE-UNIT-1.pptx
OOSE-UNIT-1.pptxOOSE-UNIT-1.pptx
OOSE-UNIT-1.pptx
 
AI IN PROJECT MANAGEMENT.pptx
AI IN PROJECT MANAGEMENT.pptxAI IN PROJECT MANAGEMENT.pptx
AI IN PROJECT MANAGEMENT.pptx
 
Introduction to Project Management
Introduction to Project ManagementIntroduction to Project Management
Introduction to Project Management
 
Project management
Project managementProject management
Project management
 
Project Management Overview
Project Management OverviewProject Management Overview
Project Management Overview
 
Scct2013 topic 8
Scct2013 topic 8Scct2013 topic 8
Scct2013 topic 8
 
Software Engineering Lec 2
Software Engineering Lec 2Software Engineering Lec 2
Software Engineering Lec 2
 

More from Taymoor Nazmy

Artificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicTaymoor Nazmy
 
Artificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-searchArtificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-searchTaymoor Nazmy
 
Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-Taymoor Nazmy
 
Image processing 1-lectures
Image processing  1-lecturesImage processing  1-lectures
Image processing 1-lecturesTaymoor Nazmy
 
Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Taymoor Nazmy
 
Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Taymoor Nazmy
 
Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-Taymoor Nazmy
 
Software Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-iSoftware Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-iTaymoor Nazmy
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 

More from Taymoor Nazmy (20)

Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systems
 
Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systems
 
Artificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logicArtificial intelligent Lec 5-logic
Artificial intelligent Lec 5-logic
 
Artificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-searchArtificial intelligent Lec 3-ai chapter3-search
Artificial intelligent Lec 3-ai chapter3-search
 
Lec 2-agents
Lec 2-agentsLec 2-agents
Lec 2-agents
 
Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-Artificial intelligent Lec 1-ai-introduction-
Artificial intelligent Lec 1-ai-introduction-
 
Image processing 2
Image processing 2Image processing 2
Image processing 2
 
Image processing 1-lectures
Image processing  1-lecturesImage processing  1-lectures
Image processing 1-lectures
 
Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--
 
Software Engineering Lec 8-design-
Software Engineering Lec 8-design-Software Engineering Lec 8-design-
Software Engineering Lec 8-design-
 
Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-Software Engineering Lec 7-uml-
Software Engineering Lec 7-uml-
 
Software Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-iSoftware Engineering Lec5 oop-uml-i
Software Engineering Lec5 oop-uml-i
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
Lec 6-
Lec 6-Lec 6-
Lec 6-
 
presentation skill
presentation skillpresentation skill
presentation skill
 
Lec 4
Lec 4Lec 4
Lec 4
 
Lec 3
Lec 3Lec 3
Lec 3
 
Lec 2
Lec 2Lec 2
Lec 2
 
Lec 1
Lec 1Lec 1
Lec 1
 

Recently uploaded

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 

Recently uploaded (20)

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 

Software Engineering Lec 3-project managment

  • 1. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Software Project Management
  • 2. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Project A project is a temporary endeavor undertaken to create a unique product or service. It implies a specific timeframe a budget unique specifications working across organizational boundaries
  • 3. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Project Management The application of knowledge, skills, tools, and techniques to project objectives to meet stakeholder needs and expectations.
  • 4. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 When Projects Succeed!  Project Sponsorship at executive level  Good project charter  Strong project management  The right mix of team players  Good decision making structure  Good communication  Team members are working toward common goals
  • 5. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Laws of Project Management  No major project is ever installed on time, within budget, or with the same staff that started it. Yours will not be the first.  Projects progress quickly until they become 90% complete, then they remain at 90% complete forever.  When things are going well, something will go wrong.  When things just cannot get any worse, they will.
  • 6. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Laws of Project Management  When things appear to be going better, you have overlooked something.  No system is ever completely debugged. Attempts to debug a system inevitably introduce new bugs that are even harder to find.  A carelessly planned project will take three times longer to complete than expected  A carefully planned project will take only twice as long.  Project teams detest progress reporting because it vividly manifests their lack of progress.
  • 7. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Why Projects Fail  Failure to align project with organizational objectives  Poor scope  Unrealistic expectations  Lack of executive sponsorship  Lack of project management  Inability to move beyond individual and personality conflicts  Politics
  • 8. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Project Charter  Project Goal & Objective  Sponsor  Stakeholders  Timeline  Resources required  Deliverables  Risks  Business process changes  Project manager  Project team  Budget  Signatures
  • 9. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9  Proposal writing.  Project planning and scheduling.  Project costing.  Project monitoring and reviews.  Personnel selection and evaluation.  Report writing and presentations. Management activities
  • 10. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Project Management Context:  Project Phases and Life Cycle  Stakeholders  Leadership Skills  General Management Skills  Communications Skills
  • 11. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Project Phases and Life Cycle:  Divide Project into Phases  Better Management Control  Review Deliverables and Performance  Fast-tracking
  • 12. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Example of Project Phases:  Conceptual Design  Detailed Design  Coding and Testing  Training and Documentation  Deployment
  • 13. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Stakeholders:  Individuals and Organizations  Actively Involved in Project  Interests Affected by Project
  • 14. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Leadership Skills:  Vision and Strategy  Establishing Direction  Aligning People  Communicating  Negotiating  Motivating and Inspiring  Influencing Organizations  Overcoming Barriers to Change
  • 15. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 General Management Skills:  Planning  Finance and Accounting  Personnel Administration  Technology  Organizational Development  Delegation  Team Building  Conflict Management  Solving Problems
  • 16. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Communications Skills:  Writing  Listening  Speaking  Presenting  Media Relations  Meeting Management
  • 17. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Scope Management:  Initiation  Scope Planning  Scope Definition  Scope Verification  Scope Change Control
  • 18. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Time Management:  Activity Definition (Microsoft Project)  Activity Sequencing (Microsoft Project)  Activity Duration Estimating  Schedule Development  Schedule Control
  • 19. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 Cost Management:  Resource Planning  Cost Estimating  Cost Budgeting  Cost Control
  • 20. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 Quality Management:  Quality Planning: are techniques to examine and measure customer expectations for quality  Quality Assurance: is the activity of providing evidence needed to establish quality in work, and that activities that require good quality are being performed effectively.  Quality Control: quality control and quality engineering are involved in developing systems to ensure products or services are designed and produced to meet or exceed customer requirements
  • 21. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Human Resource Management  Organizational Planning  Staff Acquisition  Team Development
  • 22. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 Communications Management:  Communications Planning  Information Distribution  Performance Reporting  Administrative Closure
  • 23. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23 Risk Management:  Risk Identification  Risk Quantification  Risk Response Development  Risk Response Control
  • 24. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24 Integration Management:  Project Plan Development  Project Plan Execution  Overall Change Control
  • 25. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25 Management Processes:  Initiating Processes  Planning Processes  Executing Processes  Controlling Processes  Closing Processes
  • 26. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26  Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software  Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software Software project management
  • 27. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27 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  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
  • 28. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28 Software Projects • size • delivery deadline • budgets and costs • application domain • technology to be implemented • system constraints • user requirements • available resources Factors that influence the end result ...
  • 29. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29 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
  • 30. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30  Large projects often fail for two principal reasons:  Communication: Inadequate communication leads to project failure  Coordination: Lack of communication implies that the team can not coordinate. Thus each group moves in an independent direction and the project will grind to a halt.
  • 31. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 31 Team Organizational Models  Marilyn Mantei model:  Democratic decentralized (DD). -- Does not have a defined leader. “Task Coordinators” are appointed to assure that a particular job is to be executed. These are later replaced by other “Task Coordinators” as new tasks arise.  Controlled decentralized (CD) -- Has a defined leader who coordinates tasks, and secondary leaders who carry out subtasks. Problem solving is done by the group, implementation is done by subgroups.  Controlled Centralized (CC) - Top-level problem solving and team coordination managed by the team leader. The communication between the leader and members is vertical.
  • 32. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 32 Project scheduling  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.  Dependent on project managers intuition and experience.
  • 33. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 33 Terminology Deliverable Work product that is provided to the customer (report, presentation, documentation, code, etc.) Milestone Completion of a specified set of activities (e.g., delivery of a report, completion of part of the system design) Activity Part of a project that takes place over time (also called a task).
  • 34. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 34 Terminology Event The end of a group of activities. Dependency An activity that cannot begin until some event is reached Resource Staff time, equipment, or other resource required by an activity. Slack The amount that an activity can be delayed without delaying the next milestone.
  • 35. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 35 General Approach to Project Planning Identify deliverables and milestones Divide project into activities (tasks) For each task estimate: • time from when the task begins to when it is complete • dependencies on events before beginning • resource requirements Build a model that uses this data to create a work-plan, including schedule, resource allocation, and flexibility (slack).
  • 36. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 36 Project Planning Methods Critical Path Method, Gantt charts, Activity bar charts, etc. • Build a work-plan from activity data. • Display work-plan in graphical form. Project planning software (e.g., Microsoft Project) • Maintain a database of activity data with input tools • Calculate and display schedules • Provide progress reports
  • 37. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 37 Project Planning Methods All project planning methods are best when: 1. Plan is updated regularly (e.g., weekly or monthly) 2. The structure of the project is well understood 3. The time estimates are reliable 4. Activities do not share resources Unfortunately, #2, #3, #4 are difficult with software development
  • 38. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 38 A Simple Gantt Chart
  • 39. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 39 Gantt Charts • Dates run along the top (days, weeks or months). • Each row represents an activity. Activities may be scheduled sequentially, in parallel or overlapping. • The schedule for an activity is a horizontal bar. The left end marks the planned beginning of the task. The right end marks the expected end date. • The chart may be updated by filling in each activity to a length proportional to the work accomplished. • Progress to date can be compared with the plan by drawing a vertical line through the chart at the current date.
  • 40. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 40 A More Complex Gantt Chart Source: SmartDraw
  • 41. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 41 Staff allocation 4/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
  • 42. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 42 Risks and risk types Risk type Possible risks Technology The database used in the system cannot process as many transactions per second as expected. Software components which should be reused contain defects which limit their functionality. People It is impossible to recruit staff with the skills required. Key staff are ill and unavailable at critical times. Required training for staff is not available. Organisational The organisation is restructured so that different management are responsible for the project. Organisational financial problems force reductions in the project budget. Tools The code generated by CASE tools is inefficient. CASE tools cannot be integrated. Requirements Changes to requirements which require major design rework are proposed. Customers fail to understand the impact of requirements changes. Estimation The time required to develop the software is underestimated. The rate of defect repair is underestimated. The size of the software is underestimated.
  • 43. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 43 Risk management  Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project.  A risk is a probability that some adverse circumstance will occur. Project risks affect schedule or resources Product risks affect the quality or performance of the software being developed Business risks affect the organisation developing or procuring the software
  • 44. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 44 The risk management process  Risk identification  Identify project, product and business risks  Risk analysis  Assess the likelihood and consequences of these risks  Risk planning  Draw up plans to avoid or minimise the effects of the risk  Risk monitoring  Monitor the risks throughout the project
  • 45. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 45 Measure, Metrics, and Indicator  Measure -- Provides a quantitative indication of the extent, amount, dimensions, capacity, or size of some product or process attribute.  Metrics -- A quantitative measure of the degree to which a system, component, or process possesses a given attribute.  Software Metrics -- refers to a broad range of measurements for computer software.  Indicator -- a metric or combination of metrics that provide insight into the software process, a software project, or the product itself.
  • 46. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 46 Software Metrics  Direct measures  Cost and effort applied (in SEing process)  Lines of code(LOC) produced  Execution speed  CPU utilization  Memory size  Defects reported over certain period of time  Indirect Measures  Functionality, quality, complexity, efficiency, reliability, maintainability.
  • 47. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 47 Software Measurement  Size-Oriented Metrics  are derived by normalizing quality and/or productivity measures by considering the “size” of the software that has been produced.  lines of code often as normalization value. project LOC effort $(000) pp.doc errors defects people alpha 12,100 24 168 365 134 29 3 beta 27,200 62 440 1224 321 86 5 gamma 20,200 43 314 1050 256 64 6 . . . . ... . . . . . . . . .
  • 48. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 48 Typical Size-Oriented Metrics  Errors per KLOC  Defects per KLOC  Dollars per KLOC  Pages of documentation per KLOC  Errors per person month  LOC per person month  Dollars per page of documentation
  • 49. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 49 Measures of Software Quality  Correctness  is the degree to which the software performs its required function. the most common measure for correctness is defects per KLOC  Maintainability  the ease that a program can be corrected  adapted if the environment changes  enhanced if the customer desires changes in requirements  based on the time-oriented measure mean time to change.
  • 50. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 50 Measures of Software Quality (Cont’d)  Integrity  to measure a system’s ability to withstand attacks (both accidental and intentional) on its security threat and security are defined  integrity = sum [ 1 - threat * (1- security)]  Usability - an attempt to quantify “user friendliness”  physical/intellectual requirement to learn  time required to become moderately efficient  the net increase in productivity  user attitudes toward system
  • 51. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 51 End of slides

Editor's Notes

  1. People sometimes talk about a goal of metrics to improve the quality of a software product. Bull. Metrics provide information with which one may be able to improve the process. Example metrics: SLOC, # errors found per day in test, # errors occurring when product is in the field. SLOC produced per year by a programmer, Often, metrics will be combined with other information to help improve the process. For example, finding that teams that used formal design reviews had fewer errors occurring in test, might lead one to require formal design reviews. Recall example of how many new GPCs to use. Looked at metric of number of errors found per OI with level of testing done.