1 / 24

Teaching slides Chapter 13

Teaching slides Chapter 13. Chapter 13 S oftware Project Management. Contents Introduction Project management and software engineering methodologies Project management for Waterfall projects Project management for agile projects Project planning

wayde
Download Presentation

Teaching slides Chapter 13

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teaching slides Chapter 13

  2. Chapter 13Software Project Management Contents • Introduction • Project management and software engineering methodologies • Project management for Waterfall projects • Project management for agile projects • Project planning • Project planning for Waterfall projects • Project planning for agile projects • Project monitoring & controlling • Project monitoring & control for Waterfall projects • Project monitoring & control for agile projects • Project team management • Project customer management • Supplier management

  3. Chapter 13Software Project Management Introduction A project is a process through which an objective is achieved by using a series of predetermined tasks. There is a start and end date inside which the project must be started, executed and finally should come to an end. A project uses a finite amount of resources and time. Project management consists of project planning, monitoring and controlling so that the project objectives can be accomplished in a planned manner. Software project management is the use of project management processes to build a software product. Software project management uses software engineering processes inside the project management processes for the purpose of building a software product. Some software projects use Waterfall based software engineering methodology while some other software projects use Agile based software engineering methodologies. Waterfall methodology is a truly a plan driven approach to building software products. Unfortunately a plan driven approach is not suitable for building all kinds of software products. Some of the reasons include ambiguous software requirement specifications, long waiting period and changing software requirements. Agile methodology evolved to take care of the challenges which could not be tackled by Waterfall methodology. Agile methodology is based on incremental software development to tackle ambiguous software requirement specifications, long waiting period and changing software requirements. In Agile projects incremental approach and quick response to market demand define the approach to software development.

  4. Chapter 13Software Project Management Project scope Project planning in Waterfall projects take into account fixing of scope for the project first. The scope is fixed by finding the size of the software product to be created. The size of the software product to be developed will determine the amount of work to be done on the project. If for any reason the scope is changed then amount of work to be done on the project will increase. The other aspect about project scope is the quality level to be achieved for the software product. Higher product quality will lead to higher amount of work for the project and thus additional scope.

  5. Chapter 13Software Project Management Work breakdown structure & project schedule

  6. Chapter 13Software Project Management Once project scope is fixed for a project then project tasks needs to be defined. It is done using work breakdown structure (WBS). WBS is a complete listing of all tasks which will be planned and executed on a project. The project itself can be considered a large task. This task need to be broken down into manageable and meaningful tasks. Some tasks can also be broken down in such a way that they can be performed in parallel. This will reduce time and thus will lead to shorter project duration. A software design task can easily be broken down into 2 or more sub-tasks. These tasks can then easily to completed into parallel. This will ensure that the entire software design work is completed in less time.

  7. Chapter 13Software Project Management Gantt Chart showing project schedule

  8. Chapter 13Software Project Management The WBS is used to create the project schedule. The project schedule is created by considering effort required for completing a task, skills matching & resource allocation, productivity of a resource, resource availability and dependency between tasks. If productivity of a resource is to write 20 lines of source code in a day and the task is estimated to be a size of 100 lines of source code then the task will run for 5 days. Suitability of skills also need to be considered as not all people have the same level of skills and experience. Allocation of a resource to a task also depends on economic considerations. If a task has no dependency and there is enough time to complete it then a lower skilled person can be assigned to this task as it will be cheaper. But critical tasks should always be assigned to best available person. If a task needs to be completed before another starts then scheduling should consider this dependency between these 2 tasks. Similarly if a resource is available for a certain period then the task on which this resource is assigned needs to be scheduled inside this time window. When all schedule constraints are resolved then the project schedule can be drawn. A project schedule can be drawn either in form of a schedule table or a Gantt Chart. A Gantt Chart is more useful as it depicts all tasks in a graphical manner which is easier to understand. Finally the project cost can be calculated by adding costs for all task. The labor rate and the time a resource works on the task will give the cost for each task..

  9. Chapter 13Software Project Management Baseline project schedule In a project schedule, some buffers are also placed to take care of emergencies or project risks. Critical path Method / Programme Evaluation & Review Technique (CPM/PERT) is used to create the project schedule. In this method all tasks are placed in a line as per their start and end dates. The shortest line from start date of the earliest task to the end of the latest task becomes the project duration. Once a project schedule is finalized then it needs to be frozen. A frozen project schedule is known as a baseline project schedule. When a project is executed, it is tracked against this baseline project schedule.

  10. Chapter 13Software Project Management Project planning for Agile projects

  11. Chapter 13Software Project Management Even though Agile projects are not plan driven, nevertheless some planning is needed to execute these projects. On Agile projects, planning has shifted from project level to lower levels. On Agile projects a project plan is divided into major release plans. A major release plan is then divided into minor release plans (also known as Timeboxes or iterations). Then each minor release plan is divided into daily plans. Detail and firmness of a plan depends on at what level it is located. A major release plan is fuzzy and tentative. Thus a major release plan date is not firm. The timebox plans are firm as far as dates are concerned. But scope for a timebox is not firm. Daily plans are made for achieving tasks to be completing for a day. The daily plans are thus firmed in all respects. Timeboxing is a concept to pack all project tasks inside a tight and fixed schedule. The scope for a timebox is not firmed. All project tasks are given a priority level. High priority tasks are done first and completed inside the timebox. If time permits then less priority tasks can be taken. If time does not permit then these less priority tasks can be taken in the next timebox. Traditional project planning techniques like Gantt Chart, PERT/CPM, Goldratt’s Critical Chain Method etc. do not work on Agile projects.

  12. Chapter 13Software Project Management Gantt Chart with baselined & actual project task progress

  13. Chapter 13Software Project Management Project monitoring & control for Waterfall projects Project monitoring & control is needed when a project starts executing. Tools like Gantt Chart, Earned Value Management (EVM), Critical path Method / Programme Evaluation & Review Technique (CPM/PERT), Goldratt’s Critical Chain Method etc. are used for project monitoring & control on Waterfall projects. On a Gantt Chart, if a task is slipped from its schedule then it is shown in dotted lines. The actual start date and end date are also shown. Goldratt’s Critical Chain Method uses buffers for critical tasks. A critical task is a task which if slipped will result in slipping of the project schedule. For these critical tasks, the buffers are monitored carefully . If a critical task slips and consumes more than 50% of its related buffer then it is considered that the project schedule is in danger of getting delayed and some action need to be taken to ensure that the project schedule does not slip.

  14. Chapter 13Software Project Management Time buffer between critical tasks

  15. Chapter 13Software Project Management When a project plan is created, time buffers are introduced in the plan. These time buffers are provided after critical tasks for providing cushion if a critical task clips. Some amount of these time buffers are consumed when such a critical task slips. Thus even though a critical task slips, still the project plan is still on track; thanks to these time buffers. In fact in Goldratt’s Critical Chain Method, critical tasks progress is not even measured. It is the time buffer provided for these tasks which is measured. If such a time buffer is consumed more than a predefined value then the project manager must act and take some action to keep the project schedule on track.

  16. Chapter 13Software Project Management Schedule of work

  17. Chapter 13Software Project Management Cost of work

  18. Chapter 13Software Project Management Earned Value Management (EVM) Earned Value Management (EVM) is one of the popular methods for monitoring & controlling projects. In EVM both schedule and cost are tracked for projects. There are 2 concepts of schedule of work and cost of work which help in understanding how EVM works. Schedule of work is related to the actual amount of work done versus the planned amount of work in a time period. Cost of work is the actual amount of cost incurred versus the planned budget in a time period. Related to these 2 concepts are schedule variance and cost variance when the planned work or cost is different from the actual results. These 2 concepts need to be related to each other to understand EVM. It can happen that actual cost incurred in a time period is more than planned budget but the amount of work done in the same period is less than planned.

  19. Chapter 13Software Project Management Earned value management (EVM) diagram

  20. Chapter 13Software Project Management As we discussed EVM is essentially concerned with finding schedule and cost deviation from baseline project budget and schedule. If any deviations are found then they need to be corrected by taking appropriate measures.

  21. Chapter 13Software Project Management Project monitoring & control for Agile projects Agile projects are not plan driven. Thus there is no baseline against which these projects can be tracked or monitored or controlled. However some planning is done at timebox (iteration) level. So monitoring and control is possible at this level. If speed at which the project team implements user stories can be established then this speed can be tracked for each timebox. This speed is known as velocity. For example if it is established that a project team can implement 5 user stories in 10 days long timeboxes then for each timebox, amount of project work can be planned and tracked. This project work can also be monitored and controlled as the baseline for this work can be easily fixed. Any user story can be allotted a number of user story points based on the size and complexity of the user story.

  22. Chapter 13Software Project Management Project team management Apart from schedule and cost, a project manager also needs to manage the project team. Project team members performance on the project is crucial for the success of the project. A motivated and success driven project team makes all the difference on the project. If performance of a team member deteriorates then the entire project will get impacted as a delayed task will lead to delay in the entire project work. Thus the project manager must keep tracking each project task and also keep a track of performance of each team member.

  23. Chapter 13Software Project Management Customer management A project manager is also responsible to keep a good rapport with the customer. Meeting customer expectation is important. Customers want timely delivery, visibility into the project and good quality of the software product. If something is going wrong on the project then the project manager should be able to explain why it is so and how it will be corrected. A satisfied customer will make the job of managing the project easier for the project manager.

  24. Chapter 13Software Project Management Supplier management If a project has suppliers (or service providers) on the project then the project manager also needs to manage them. A good service level agreement should be in place so that the service providers are bound by this agreement to deliver the expected services at the right time. A part of the project will be delivered by the supplier. The project manager needs to work with the supplier to ensure that this part of the project work is delivered by the supplier on time. A good arrangement with a supplier should be that there is an open communication channel with the supplier and the project team gets updates from the supplier on daily basis. This will ensure that there are no misunderstandings or communications gaps which may result in rework on any project work.

More Related