Software Project Management

Slides:



Advertisements
Similar presentations
Project management.
Advertisements

Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Software Engineering COMP 201
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
SWE Introduction to Software Engineering
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Project.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 COMP201 Project Management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Chapter 4 Project Management “…a huge topic.” See Part 6, “Management”, Chaps.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Creator: ACSession No: 10 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringDecember 2005 Project Management CSE300 Advanced Software Engineering.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects l.
Project Management Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, Slide 1 project managementorganizing planning scheduling Learning.
Chapter 3 Project Management
贾银山 Software Engineering, Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering. Chapter 5 Slide 1 Chapter 5 Project Management “…a huge topic.” See Part 6, “Managing People”.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 5 Slide 1 Chapter 5 Project Management Modified by Randy K. Smith.
Project management DeSiaMore 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Concerned with activities involved in ensuring that software is delivered: on.
Lecture 3 Project Management (The Classical Approach) CSC301-Winter 2011 Hesam C. Esfahani
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
Software Project Management
Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management Lecture 10. Topics covered Management activities Project planning Project scheduling Risk management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
Chapter 23 – Project scheduling Lecture 1. Project scheduling  Project scheduling is the process of deciding how the work in a project will be organized.
©Ian Sommerville 2000 Slide 1 Project management l Organising, planning and scheduling software projects l Objectives To introduce software project management.
CSEM01 - wk8 - Software Planning1 Software Planning CSEM01 SE Evolution & Management Anne Comer Helen Edwards.
Project management.  To explain the main tasks undertaken by project managers  To introduce software project management and to describe its distinctive.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
COOP Seminar – Fall 2008 Slide 1 HOUSTON COMMUNITY COLLEGE SYSTEM SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Software Project Management.
Project Management Yonsei University 2 nd Semester, 2012 Sanghyun Park.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Software Engineering, 8th edition. Chapter 5 1 Courtesy: ©Ian Sommerville 2006 Oct 13 th, 2008 Lecture # 6 Project management.
Parts of this presentation is extracted from Ian Sommerville’s slides located at
1 Project management. 2 Topics covered Management activities Project planning Project scheduling Risk management.
CSC480 Software Engineering Lecture 5 September 9, 2002.
Dr Izzat M Alsmadi Edited from ©Ian Sommerville & others Software Engineering, Chapter 3 Slide 1 Project management (Chapter 5 from the textbook)
Chap 4. Project Management - Organising, planning and scheduling
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
©Ian Sommerville 2000Software Engineering. Chapter 5 Slide 1 Chapter 5 Project Management “…a huge topic.” See Part 6, “Managing People”.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management 1/30/2016ICS 413 – Software Engineering1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Chapter 4: Project management l Organising, planning and scheduling software.
Project management (2) By: Zhou Chunlin School of Tourism, Conference and Exhibitions Henan University of Economics and Law.
Chapter 3 Project Management Parts of this presentation is extracted from Ian Sommerville’s slides located at
1 Project management Organising, planning and scheduling software projects.
Project management Chapter 5. Objectives To explain the main tasks undertaken by project managers To introduce software project management and to describe.
Project Management Chapter 4. Objectives Menerangkan fungsi seorang Project Manager. Menjelaskan fungsi pengurusan Projek Perisian Membincangkan Proses.
HNDIT23082 Lecture 10:Software Project Management
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
COMP201 Project Management.
Assistant Professor of Computer Science Washington State University
IS301 – Software Engineering V:
Project management.
Software Project Management
Project management Lecture 9
Presentation transcript:

Software Project Management Princess Nourah bint Abdulrahman University College of Computer and Information Sciences Department of Computer Science Dr. Doaa Sami Khafaga

Objectives The main objectives of this chapter are: To explain the main tasks undertaken by project managers To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process To explain the responsibilities of software managers To introduce the different types of Project Plans Management activities Project planning Project scheduling S.H 2010 Advanced Software Engineering Software Project Management

What is Software Engineering? Developing software having:  High quality  Within budget  On schedule (time)  Satisfying client’s requirements S.H 2010 Advanced Software Engineering Software Project Management

Project Attributes A project: Has a unique purpose. Is temporary. Is developed using progressive elaboration. Requires resources, often from various areas. Should have a primary customer or sponsor. The project sponsor usually provides the direction and funding for the project. Involves uncertainty. S.H 2010 Advanced Software Engineering Software Project Management

What is a Project Management ? Project management encompasses all the activities needed to plan and execute a project: Deciding what needs to be done Estimating costs Ensuring there are suitable people to undertake the project Defining responsibilities Scheduling Making arrangements for the work S.H 2010 Advanced Software Engineering Software Project Management

What is a Project Manager ? Directing Being a technical leader Reviewing and approving decisions made by others Building morale and supporting staff Monitoring and controlling Co-ordinating the work with managers of other projects Reporting Continually striving to improve the process S.H 2010 Advanced Software Engineering Software Project Management

Failure Statistics of SW Projects Success On –time, On-Budget, And scope-coverage (with Most of the Features & Functions) Failed Over-budget, Over-time, And/or with less scope (Fewer Features & Functions) Failed Over-budget, Over-time, And/or with less scope (Fewer Features & Functions) S.H 2010 Advanced Software Engineering Software Project Management

Why Projects Fail? an unrealistic deadline is established changing customer requirements an honest underestimate of effort predictable and/or unpredictable risks Technical difficulties Miscommunication among project staff failure in project management. S.H 2010 Advanced Software Engineering Software Project Management

Software project management S/W PM is an essential part of SE. Why S/W Project Management ? Because software development is always subject to Budget and Schedule constraints Quality constraints Satisfying all requirements that are set by the organization developing the software Minimize risk of failure S.H 2010 Advanced Software Engineering Software Project Management

Software project management 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. S.H 2010 Advanced Software Engineering Software Project Management

S/W Management Activities S/W manager responsibilities include: Proposal writing: Objectives, methodology, deliverables, cost & schedule estimates Project planning and scheduling: Goals, activities, resources, milestones Project costing: Resources needed for activities Project monitoring and reviews: Track actual versus planned cost and time Personnel selection and evaluation Report writing and presentations S.H 2010 Advanced Software Engineering Software Project Management

Project Management Concerns  product quality?  risk assessment?  software measurement?  cost estimation?  project scheduling?  customer communication?  staffing?  other resources?  project monitoring? S.H 2010 Advanced Software Engineering Software Project Management

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 An organization may wish to develop employee skills on a software project Managers have to work within these constraints especially when (as is currently the case) there is an international shortage of skilled IT staff S.H 2010 Advanced Software Engineering Software Project Management

Project Planning Main software project plan that is concerned with schedule and budget Probably the most time-consuming project management activity: Continuous activity from initial concept through to system delivery. Plans must be regularly revised as new information becomes available. Various different types of plan may be developed to support the main software project plan that is concerned with schedule and budget. S.H 2010 Advanced Software Engineering Software Project Management

Project Planning Process S.H 2010 Advanced Software Engineering Software Project Management

The project plan The project plan sets out:  The resources available to the project (Who);  The work breakdown activities/tasks (What);  A schedule for the work (When). S.H 2010 Advanced Software Engineering Software Project Management

The project plan Structure Introduction Project objectives –constraints (budget, time, etc.) Project organization People involved, roles Risk analysis Projects risks, Risk reduction strategies Resource requirements: Hardware and software Work breakdown Activities, milestones, deliverables Project schedule (3W: What activity, when, who) Activities dependencies, activities time, allocate people to activities Monitoring and reporting mechanisms What management reports and when Monitoring mechanism used Revise plan, update schedule S.H 2010 Advanced Software Engineering Software Project Management

The project plan Structure Activities in a project should be organized to produce tangible outputs for management to judge progress Milestones Check point based on : Time Budget Deliverable End-point of logical stage (activity) in the project At each milestone there should be a formal output (report) presented to management Management needs documentation & information to judge project progress Deliverables Are project results delivered to customers Deliverables are usually milestones but milestones need not be deliverables S.H 2010 Advanced Software Engineering Software Project Management

Milestones Example: Requirements Engineering process (prototyping) Deliverables are usually milestones S.H 2010 Advanced Software Engineering Software Project Management

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. S.H 2010 Advanced Software Engineering Software Project Management

The project scheduling process S.H 2010 Advanced Software Engineering Software Project Management

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. S.H 2010 Advanced Software Engineering Software Project Management

Bar charts and 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 critical path. Bar charts show schedule against calendar time. S.H 2010 Advanced Software Engineering Software Project Management

Project Precedence Table S.H 2010 Advanced Software Engineering Software Project Management

Activity network – Critical Path S.H 2010 Advanced Software Engineering Software Project Management

Project Precedence Table S.H 2010 Advanced Software Engineering Software Project Management

Task durations and dependencies Activity Duration (days) Dependencies T1 8 T2 15 T3 T1 (M1) T4 10 T5 T2, T4 (M2) T6 5 T1, T2 (M3) T7 20 T8 25 T4 (M5) T9 T3, T6 (M4) T10 T5, T7 (M7) T11 7 T9 (M6) T12 T11 (M8) S.H 2010 Advanced Software Engineering Software Project Management

Activity network – (Task dependency) S.H 2010 Advanced Software Engineering Software Project Management

Selected Topic: SE/Using APIs Programming using APIs (Abdelmohsen) Design of APIs (Mchari) Class browsers and related tools (Fahd) Debugging in the API environment (Hichem) Introduction to component-based computing (Saeed) Learning Objectives: Explain the value of application programming interfaces (APIs) in software development. Use class browsers and related tools during the development of applications using APIs. Design, implement, test, and debug programs that use large-scale API packages. S.H 2010 Advanced Software Engineering Software Project Management