You are on page 1of 20
VALLEY VIEW UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE COCS346 SOFTWARE ENGINEERING Lessons 5 — SOFTWARE PROJECT MANGEMENT LECTURE NOTES COURSE LECTURER Mr. HENRY QUARSHIE Lesson 5 - Software Project Management Lesson 5 - SOFTWARE PROJECT MANAGEMENT 5. INTRODUCTION Building computer software isa complex undertakings particularly ifit involves many people working CV" a relatively long time thus software project management forms an essential part of software engineering. ‘Good management cannot guarantee Project Sucre Honever, bad management usually results in project failure; the software is vielivered late, costs more than originally ‘estimated and fails to meet its requirements. Software managers are responsible for planning and scheduling project development. They supervise the ‘work to ensure that it is carried out to the required standards ‘and monitor progress to check that the development is on time and within budget. Software managers do the same kind of, job as other engineering project managers. However, “oftware engineering is different from other types ‘of engineering in a number Pr ways. These distinctions make software management particularly difficult. Some of the differences are: The product is intangible ~ The manager of & shipbuilding project or of a civil engineering project re Prete product being developed. Ifa schedule SPs: he effect on the product is visible (1. parts sly unfinished). Software is intangible Tt cannot be seen or touched: of the structure are obviou: e Software project managers cannot see Progress. They rely on others to produce the documentation needed to review progress. «There are no standard software processes ~ In engineering disciplines with a long history, the process is tried and tested. The engineering process or some types of system, such as bridges and paildings is well understood. However, software processes VIF dramatically from one organization to another. Although our understanding of these processes hhas developed significantly in the past few years, we still cannot reliably predict when @ particular software process is likely to cause development problems. This is especially true when the software project is part of a wider systems engineering project. «Large software projects are often ‘one-off projects — Large software projects are usually different in some ways from previous projects. Therefore, even manag who have a large body of previous experience may find it difficult to anticipate problems, Furthermore, rapid technological changes in computers and communications can make a manager's experience obsolete. Lessons leamed from previous projects may not be transferable to new projects. Because of these problems, it isnot suprising that some software projects are Jie, OVE budget and behind areajule. Software systems are often new and technically innovative. Engineering projects (such as new transport systems) that are innovative often also have schedule problems. Given the difficulties involved, it is perhaps remarkable that so many software projects are delivered on time and fo budget! 5.0.1 What is Software Project Management? Softnare Projet ‘Management involves the planning, monitoring, and control of the people, process, and gecur as software evolves from a preliminary concept fo an operational implementation. : 5.0.2 Who does it? Everyone “m P yone “manages” to some extent but the scope of management activities varies among people involved in a software project. The software project Basen nae at project manager is responsible for the management of the software Software Engineering Notes Compiled b ‘Henry Quarshie (MSc}@ 2008 e 2 Lesson 5 - Software Project Management Manages the day-to-day activities, planning, monitoring, and controlling technical tasks. Plan, monitor, and control the work of a team of software engineers. Supervise the work to ensure that it is carried out to the required standards Monitor progress to check that the development is on time and within budget. 5.0.3 Why is Software Project Management important? We need software project management because professional software engineering is always subject fo organizational budget and schedule constraints. The software project manager's job iso enatve that the rawvare project meets these constrains and delivers software that contributes tothe gosls of the company developing the software. NOTE: Effective software project management focuses on the four p's: people, product, process, and project. Pespte must be organized to perform software work effectively. Therefore a manager Who forgets that repetare engineering work isan intensely human endeavor will never have success in project management Sommunieation with the customer and other stakeholders must occur so that product scope and requirements are understood. Thus a manager who fails to encourage comprehensive stakeholder arin early inthe evolution ofa project risk building an elegant solution forthe wrong problem, ‘A process must be selected that is appropriate forthe people and the product. This meats that the manager ‘vo pays litle attention tothe process runs the rsk of inserting competent technical methods and tools into an the project must be planned by estimating work tasks; defining work, products, establishing Gualty checkpoints and identifying mechanisms to monitor and control work defined Py the plan. 5.1 The PEOPLE “The Stakeholders ~ the software process (and every software project) is populated by stakeholders who can be categorized into one of five constituencies. 1, Senior Managers who define business issues that often have significant influence on the project. Basically, coordinate the interface between the business and software team. 2. Project (technical) managers who must plan, motivate, organize, and control the practitioners who do software work. 3, Practitioners who deliver the technical skills that are necessary to engineer a product or application. + Customers who specify the requirements for the software to be engineered and other stakeholders ‘who have a peripheral interest in the outcome, 5, End-Users who interact with the software once it is released for production use. 5.1.1 Team Leaders Foc Tenders ensure that the people for a project are organized into a team in a way that maximizes each person’s skills and abilities. What do we look for when choosing someone to lead a software project? 1 Motivation - the ability to encourage (by “push or pull”) technical people to produce to their best ability. «Organization — te ability to mold existing processes (or invent new ones) that will enable the initial ‘concept to be translated into a final product. Software Engineering Notes Compiled by ‘Henry Quarshie (MSc) @ 2008

You might also like