Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Project Management in Software Engineering, Lecture notes of Software Engineering

The challenges of project management in software engineering. It highlights the importance of planning, contingency planning, progress tracking, and final analysis. The document also explains the agile approach to project management and provides examples of time estimates. It also discusses project planning tools such as critical path method and Gantt charts. useful for students studying software engineering and project management.

Typology: Lecture notes

2021/2022

Uploaded on 05/11/2023

anahitay
anahitay 🇺🇸

4.7

(16)

12 documents

1 / 36

Toggle sidebar

Often downloaded together


Related documents


Partial preview of the text

Download Project Management in Software Engineering and more Lecture notes Software Engineering in PDF only on Docsity! Cornell University 
 Compu1ng and Informa1on Science CS 5150 So(ware Engineering 5. Project Management William Y. Arms Project Management: OS 360 The operaDng system for the IBM 360 was two years late. Ques%on: How does a project get two years behind schedule? Answer: One day at a Dme! Fred Brooks Jr., The Mythical Man Month, 1972 The Challenge of Project Management (conDnued) BUT: Every so(ware system is different. Most systems are not well specified, or the requirements change during development. EsDmaDng Dme and effort is full of errors, even when the system is well understood. Aspects of Project Management Planning • Outline schedule during feasibility study (needed for CS 5150) • Fuller schedule for each part of a project (e.g., each process step, iteraDon, or sprint) Con1ngency planning • AnDcipaDon of possible problems (risk management) Progress tracking • Regular comparison of progress against plan • Regular modificaDon of the plan • Changes of scope, etc. made jointly by client and developers Final analysis • Analysis of project for improvements during next project Terminology Deliverable • Work product that is provided to the client (mock-up, demonstraDon, prototype, report, presentaDon, documentaDon, code, etc.) • Release of a system or subsystem to customers and users Milestone CompleDon of a specified set of acDviDes (e.g., delivery of a deliverable, compleDon of a process step, end of a sprint) Agile Approach to Project Management • Planning is divided into high level release forecasDng and low level detailed planning. • Release planning is a best guess, high level view of what can be achieved in a sequence of Dme-boxes. • Release plans are conDnually modified, perhaps daily. • Clients and developers take joint control of the release plans and choice of sprints. • For each Dme-box, the team plans what it can achieve. The team may use Gan` charts or other convenDonal planning tools. EsDmaDng the Time for an AcDvity With experienced staff, esDmaDng the actual Dme to carry out a single task is usually fairly accurate, but ... The li`le bits and pieces are underesDmated. • The Dme from almost "done" to completely "done" is much longer than anDcipated. (There's just one thing to %dy up. I need to put the comments into beGer shape. I really should get rid of that patch.) • The distracDons are not planned for. (My system crashed and I decided to upgrade the soIware. My child's school was closed because of snow. I spent the day interviewing job candidates.) • Some things have to be done twice. Time EsDmates: an Example Example of Time Es1mates The administraDve compuDng department at Dartmouth used acDvity graphs for the program design and implementaDon phases of major projects (plan developed a(er project was well-understood). Experience: Elapsed Dme to complete projects was consistently 30% to 40% longer than predicted by model. Analysis: • Some tasks not anDcipated (incomplete understanding) • Some tasks had to be redone (change of requirements, technical changes) • Key personnel were on many acDviDes (schedule conflicts) • Non-billable hours Project Planning Tools Cri1cal Path Method, GanL charts, etc. • Build a work-plan from acDvity data. • Display work-plan in graphical or tabular form. Project planning so@ware (e.g., Microso@ Project) • Maintain a database of acDviDes and related data • Calculate and display schedules • Manage progress reports A Simple Gantt Chart Simple Gantt Chart Demo Aug16 23 30 Sep 6 13. 20 27 Oct 4 11 18 25 Now 1 8 15 22 1 1 1 1 1 1 1 L Mariet Research [im Define Specifications Ey Overall Archiecture lane Project Planning a lane Detail Design Testing and OA =—— User Documentation Source: Advanced Software Engineering Limited Gan` Charts Used for small projects, single 1me-boxes, and sprints • Dates run along the top (days, weeks, or months). • Each row represents an acDvity. AcDviDes may be sequenDal, in parallel or overlapping. • The schedule for an acDvity is a horizontal bar. The le( end marks the planned beginning of the task. The right end marks the expected end date. • The chart is updated by filling in each acDvity to a length proporDonal to the work accomplished. This is o(en difficult. • Progress to date can be compared with the plan by drawing a verDcal line through the chart at the current date. Most CS 5150 projects use Gan` charts to plan their work. Example: AcDvity Graph for first Part of a Distance Learning Course START Slides 1 Suggest projects Approve projects Slides 2 Dra( test Print test Write test instrucDons Release Plan projects Plan 1 Dra( 1 Plan 2 Plan test Dra( 2 Audio 1 Audio 2 Mountdependency dependency Scheduling using AcDvity Graphs: History PERT Program EvaluaDon and Review Technique introduced by the U.S. Navy in 1957 to support the development of its Polaris submarine missile program. PERT/Time AcDvity graph with three Dme esDmates (shortest, most probable, longest) on each acDvity to compute schedules. Because of the difficulty of obtaining good Dme esDmates, usually only one esDmate is made. This is called the Cri1cal Path Method. PERT/Cost Added scheduling of resources (e.g., faciliDes, skilled people, etc.) CriDcal Path Method Uses an Ac1vity Graph with single Dme esDmate for each acDvity. A standard method for managing large construcDon projects. On big projects, acDvity graphs with more than 10,000 acDviDes are common. The following slides work through the calcula4ons in using the cri4cal path method for the example. Earliest Event Dates and Earliest Start Dates 6 4 2 2 3 3 3 3 8 2 1 1 4 12 12 1 4 0 1 12 12 4 17 19 23 5 2522 17 17 15 15 8 20 23 24 Earliest dates for an event are in red Latest Event Dates and Latest Start Dates Latest start date: the latest date that it is possible to start an acDvity and sDll complete the project by the earliest project compleDon date. Latest event date: the latest date that all the acDviDes ending at that node must be completed, in order to complete the project by the earliest project compleDon date. Latest Event Dates and Latest Start Dates 6 4 2 2 3 3 3 3 8 2 1 1 4 12 12 1 11 12 14 13 15 20 23 24 25 4 22 0 17 17 10 18 17 20 19 Each event must be achieved by the date shown or the final date will not be met.Latest event dates in blue Slack and CriDcal Path Slack: the difference between the latest start date and the earliest start date of an acDvity Slack = (latest event)end - (earliest event)begin - (Dme esDmate) Cri1cal path: a path through the graph where every acDvity has zero slack If an acDvity on the criDcal path is not started on its earliest start date or takes longer than the predicted Dme to complete, then the project compleDon date is delayed. Using the CriDcal Path Method to IdenDfy Problems The earlier that a problem is known, the easier it is to fix. Example Purchase key item of equipment earlier than anDcipated. Adding Resources to AcDvity Graph or Gan` Chart Each ac1vity is labeled with resources, e.g., Number of people (e.g., 2 Java programmers) Key personnel (e.g., chief system architect) Equipment (e.g., 3 servers with specified so(ware) FaciliDes (e.g., video conference center) Each resource is labeled with availability, e.g., Hiring and training VacaDons Equipment availability Managing the Schedule The schedule may be managed by a member of the team or by an external project manager. • Create and maintain the schedule. • Track progress against schedule. • Check for slack in the schedule (minimize risk). • ConDnually make adjustments: Start acDviDes before previous acDviDes complete Sub-contract acDviDes RenegoDate deliverables • Keep senior management informed (visibility). Needs the confidence of the team members. Cornell University 
 Compu1ng and Informa1on Science CS 5150 So(ware Engineering 5. Project Management End of Lecture
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved