Documente Academic
Documente Profesional
Documente Cultură
Learning outcomes:
Describe SoftwareManagement functions (C1) Explain the management activity (C2) Discuss the responsibility of software project managers (A2)
Topics covered Software project Management functions and activities Software management structures
What is Software?
What is Software?
Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to adequately manipulate information and (3) documentation that describes the operation and use of the programs.
What is Software?
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGrawHill 2009). Slides copyright 2009 by Roger Pressman.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
What is a Project?
A project is a temporary endeavor undertaken to create a unique product, service, or result [Project
Management Institute, A Guide to the Project Management Body of Knowledge (PMBOK Guide), 4th edition]
Chapter 1: Introduction to Software Project management 8
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.
10
Success criteria Deliver the software to the customer at the agreed time.
11
Reporting
Project managers are usually responsible for reporting on the progress of a project to customers and to the managers of the company developing the software.
Risk management
Project managers assess the risks that may affect a project, monitor these risks and take action when problems arise.
13
Proposal writing
The first stage in a software project may involve writing a proposal to win a contract to carry out an item of work. The proposal describes the objectives of the project and how it will be carried out.
14
The Management Spectrum - The Four Ps People the most important element of a successful project Product the software to be built Process the set of framework activities and software engineering tasks to get the job done Project all work required to make the product a reality
15
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
PEOPLE - Stakeholders
Senior managers who define the business issues that often have significant influence on the project. Project (technical) managers who must plan, motivate, organize, and control the practitioners who do software work.
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. End-users who interact with the software once it is released for production use.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides
16
How to lead?
How to organize? How to collaborate?
How to motivate?
17
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
18
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides
Software Teams
The following factors must be considered when selecting a software project team structure ... the difficulty of the problem to be solved the size of the resultant program(s) in lines of code or function points
the time that the team will stay together (team lifetime)
the degree to which the problem can be modularized the required quality and reliability of the system to be built
19
High frustration caused by personal, business, or technological factors that cause friction among team members.
Fragmented or poorly coordinated procedures or a poorly defined or improperly chosen process model that becomes a roadblock to accomplishment. Unclear definition of roles resulting in a lack of accountability and resultant finger-pointing. Continuous and repeated exposure to failure that leads to a loss of confidence and a lowering of morale.
21
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Agile Teams
Encourages customer satisfaction and early incremental delivery software, small highly motivated project teams, informal methods, minimal software engineering work products, and overall development simplicity The distribution of skills must be appropriate to the problem. Mavericks may have to be excluded from the team, if team cohesiveness is to be maintained. Team is self-organizing
An adaptive team structure
22
23
Respect
Different team members have different skills and these differences should be respected.
Inclusion
Involve all team members and make sure that peoples views are considered.
Honesty
You should always be honest about what is going well and what is going badly in a project.
Chapter 1: Introduction to Software Project management 24
Managing people People are an organisations most important assets. The tasks of a manager are essentially people-oriented. Poor people management is an important contributor to project failure.
25
Software project scope must be unambiguous and understandable at the management and technical levels.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 26
Decomposition process continues until all functions or problem classes have been defined
27
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides
28
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides
29
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
The Project
Projects get into trouble when
Software people dont understand their customers needs.
The product scope is poorly defined. Changes are managed poorly. The chosen technology changes.
30
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides
Key points
Good project management is essential if software engineering projects are to be developed on schedule and within budget. Software management is distinct from other engineering management. Software is intangible. Projects may be novel or innovative with no body of experience to guide their management. Software processes are not as mature as traditional engineering processes. Effective software project management focuses on the 4 Ps: People, Product, Process and Project. Software project manager plays a major role in software project management activities
33
References Sommerville, I. (2011). Software Engineering,9th edition, Pearson Education Inc. Pressman, R.S. (2009).Software Engineering: A Practitioners Approach, 7th edition, McGraw-Hill.
34