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.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
SWE Introduction to Software Engineering
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
CS 501: Software Engineering Fall 2000 Lecture 4 Management I: 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.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
7M701 1 Software Engineering Project Management Sommerville, Ian (2001) Software Engineering, 6 th edition Ch. 4
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.
贾银山 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.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
©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.
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.
©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.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
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.
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.
1 Project management. 2 Topics covered Management activities Project planning Project scheduling Risk management.
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. Chapter 5 Slide 1 Chapter 5 Project Management “…a huge topic.” See Part 6, “Managing People”.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 4 Project Management.
©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.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
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.
©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.
Project management Lecture 9
Presentation transcript:

Project management

Administration Assignment 1 has been uploaded to the CET Account. Submission in the next workshop class In the week third lab, submit the answer sheet for the question that will be uploaded to the CET Account related to Shopping Mall

Cover Page Sample

The Aim of Project Management To complete a project: • SRS (System / Software Requirement Specifications) • Time • Budget • With required functionality • To the satisfaction of the client • Without exhausting the team on the project

Objectives 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 show how graphical schedule representations are used by project management To discuss the notion of risks and the risk management process

Topics covered Management activities Project planning Project scheduling Risk management

The Project Manager • Create and maintain the schedule • Should track progress against schedule • Keep some slack in the schedule • Be continually making adjustments: Start activities before previous activity complete Sub-contract activities Renegotiate deliverables • Keep senior management informed

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.

Software management distinctions The product is intangible. The product is 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. Many software projects are 'one-off' projects.

Project Planning Methods The Critical Path Method, Gantt charts, Activity bar charts, etc. are roughly equivalent. These methods are best when: • Model is updated regularly (e.g., monthly) • The structure of the project is well understood • The time estimates are reliable • Activities do not share resources [Critical Path Method is excellent for large construction projects.]

Management activities Proposal writing. Project planning and scheduling. Project costing. Project monitoring and reviews. Personnel selection and evaluation. Report writing and presentations.

Management commonalities These activities are not peculiar to software management. Many techniques of engineering project management are equally applicable to software project management. Technically complex engineering systems tend to suffer from the same problems as software systems.

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 organisation may wish to develop employee skills on a software project. Managers have to work within these constraints especially when there are shortages of trained staff.

Project planning 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.

Types of project plan

Project planning process Establish the project constraints Make initial assessments of the project parameters Define project milestones and deliverables while project has not been completed or cancelled loop Draw up project schedule Initiate 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 if end loop

The project plan The project plan sets out: The resources available to the project; The work breakdown; A schedule for the work.

Project plan structure Introduction. Project organisation. Risk analysis. Hardware and software resource requirements. Work breakdown. Project schedule. Monitoring and reporting mechanisms.

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 straightforward definition of progress milestones.

Milestones in the RE process

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.

The project scheduling process

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.

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 the critical path. Bar charts show schedule against calendar time.

Task durations and dependencies

Activity network

Activity timeline

Staff allocation

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.

Software risks

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;

The risk management process

Risk identification Technology risks. People risks. Organisational risks. Requirements risks. Estimation risks.

Risks and risk types

Risk analysis Assess probability and seriousness of each risk. Probability may be very low, low, moderate, high or very high. Risk effects might be catastrophic, serious, tolerable or insignificant.

Risk analysis (i)

Risk analysis (ii)

Risk planning Consider each risk and develop a strategy to manage that risk. Avoidance strategies The probability that the risk will arise is reduced; Minimisation strategies The impact of the risk on the project or product will be reduced; Contingency plans If the risk arises, contingency plans are plans to deal with that risk;

Risk management strategies (i)

Risk management strategies (ii)

Risk monitoring Assess each identified risks regularly to decide whether or not it is becoming less or more probable. Also assess whether the effects of the risk have changed. Each key risk should be discussed at management progress meetings.

Risk indicators

Key points Good project management is essential for project success. The intangible nature of software causes problems for management. Managers have diverse roles but their most significant activities are planning, estimating and scheduling. Planning and estimating are iterative processes which continue throughout the course of a project.

Key points A project milestone is a predictable state where a formal report of progress is presented to management. Project scheduling involves preparing various graphical representations showing project activities, their durations and staffing. Risk management is concerned with identifying risks which may affect the project and planning to ensure that these risks do not develop into major threats.

OS 360 The operating system for the IBM 360 was two years late. Question: How does a project get two years behind schedule? Answer: One day at a time! Fred Brooks Jr.,The Mythical Man Month

The Project Manager • Create and maintain the schedule • Should track progress against schedule • Keep some slack in the schedule • Be continually making adjustments: Start activities before previous activity complete Sub-contract activities Renegotiate deliverables • Keep senior management informed

Project Planning Methods The Critical Path Method, Gantt charts, Activity bar charts, etc. are roughly equivalent. These methods are best when: • Model is updated regularly (e.g., monthly) • The structure of the project is well understood • The time estimates are reliable • Activities do not share resources [Critical Path Method is excellent for large construction projects.]

Flexibility Schedule: Dates for broadcasting TV and radio programs are fixed. Printing and mailings can be accelerated if overtime is used. Functionality: The course team can decide what goes into the components of the course. Resources: The size of the course team can be increased slightly.

Scheduling: Critical Path Method An activity A dummy activity An event A milestone

Critical Path Method other activities Revise Unit 3 Print Unit 3 Edit Mail Unit 3 END START

Critical Path Method other activities Revise Unit 3 Edit Unit 3 Typeset Unit 3 Print Units 3/4 Mail Units 3/4 START Typeset Unit 4 other activities Revise Unit 4 Edit Unit 4

Critical Path Method Script Make TV 2 TV 2 Edit Mail Unit 3 Delivery START Edit Unit 4 Document Computer 1 Program Computer 1 Prototype Computer 1

Time Estimates for Activities (Weeks) 4 6 1 1 3 2 3 1 1 12 3 12 3 2 2 8 4 4

Earliest Start Dates 26 1 4 6 1 1 3 2 12 15 17 3 1 1 12 22 23 25 3 12 3 2 12 17 19 2 8 4 4 4 17

Latest Start Dates 26 11 4 6 1 1 3 2 12 15 17 3 1 1 12 23 24 25 3 12 3 2 14 17 20 2 8 4 4 13 17

Critical Path 1/11 26/26 12/12 15/15 17/17 22/23 23/24 25/25 0/0 12/14 19/20 4/13 17/17

Slack 0/0 1/11 12/12 12/14 4/13 15/15 17/17 19/20 22/23 26/26 25/25 10 2 9 1 3 10 17/17 23/24 5

Key Personnel In computing, not all people are equal: • The best are at least 5 times more productive • Some tasks are too difficult for everybody Adding more people adds communications complexity • Some activities need a single mind • Sometimes, the elapsed time for an activity can not be shortened. What happens to the project if a key person is sick or quits?

Key Personnel: Schedule for Editor Earliest Start Date Activity Weeks 15-16 Edit Unit 3 Weeks 17-18 Edit Unit 4 Weeks 19-20 Edit Unit 5 Weeks 21-22 Edit Unit 6 Week 15 Review draft of Unit 7 Week 17 Review draft of Unit 8 Week 19 Check proofs of Unit 3 Week 21 Check proofs of Unit 4 Weeks 18-19 Vacation Week 22 Out sick

Start-up Time On a big project, the start-up time is typically three to six months: • Personnel have to complete previous projects (fatigue) or recruited. • Hardware and software has to be acquired and installed. • Staff have to learn new domain areas and software (slow while learning) • Clients may not be ready.

Experience with Critical Path Method Administrative computing department at Dartmouth used the Critical Path Method for implementation phase of major projects. Experience: Elapsed time to complete projects was consistently 25% to 40% longer than predicted by model. Analysis: • Some tasks not anticipated (incomplete understanding) • Some tasks had to be redone (change of requirements, technical changes) • Key personnel on many activities (schedule conflicts) • System ZZZ (non-billable hours)

Why do software projects fail? People begin programming before they understand the problem Everyone likes to feel that they’re making progress When the team starts to code as soon as the project begins, they see immediate gains When problems become more complex (as they always do!), the work gets bogged down In the best case, a team that begins programming too soon will end up writing good software that solves the wrong problem

Why do software projects fail? The team has an unrealistic idea about how much work is involved. From far away, most complex problems seem simple to solve Teams can commit to impossible deadlines by being overly optimistic and not thinking through the work Few people realize the deadline is optimistic until it’s blown

Why do software projects fail? Defects are injected early but discovered late. Projects can address the wrong needs Requirements can specify incorrect behavior Design, architecture and code can be technically flawed Test plans can miss functionality The later these problems are found, the more likely they are to cause the project to fail

Why do software projects fail? Programmers have poor habits – and they don’t feel accountable for their work. Programmers don’t have good control of their source code Code written by one person is often difficult for another person to understand Programmers don’t test their code, which makes diagnosing and fixing bugs more expensive The team does not have a good sense of the overall health of the project.

Why do software projects fail? Managers try to test quality into the software. Everyone assumes that the testers will catch all of the defects that were injected throughout the project. When testers look for defects, managers tell them they are wasting time. When testers find defects, programmers are antagonized because they feel that they are being personally criticized. When testers miss defects, everyone blames them for not being perfect.

How can we make sure that our projects succeed? Make sure all decisions are based on openly shared information It’s important to create a culture of transparency, where everyone who needs information knows where to find it and is comfortable looking at it. All project documents, schedules, estimates, plans and other work products should be shared with the entire team, managers, stakeholders, users and anyone else in the organization who wants them. Major decisions that are made about the project should be well-supported and explained.

How can we make sure that our projects succeed? Don’t second-guess your team members’ expertise Managers need to trust team members. Just because a manager has responsibility for a project’s success, it doesn’t mean that he’s more qualified to make decisions than the team members. If you don’t have a good reason to veto an idea, don’t.

How can we make sure that our projects succeed? Introduce software quality from the very beginning of the project Review everything, test everything. Use reviews to find defects – but don’t expect the review to be perfect. Use reviews to gain a real commitment from the team. It’s always faster in the long run to hold a review than it is to skip it.

How can we make sure that our projects succeed? Don’t impose an artificial hierarchy on the project team All software engineers were created equal. A manager should not assume that programming is more difficult or technical than design, testing or requirements engineering. Managers should definitely not assume that the programmer is always right, or the tester is always raising false alarms.

How can we make sure that our projects succeed? Remember that the fastest way through the project is to use good engineering practices Managers and teams often want to cut important tasks – especially estimation, reviews, requirements gathering and testing. If it were faster to build the software without these practices, we would never use them. Every one of these practices is about saving time and increasing quality by planning well and finding defects early. Cutting them out will cost time and reduce quality.