Download presentation
Presentation is loading. Please wait.
Published byNorma Allen Modified over 8 years ago
1
PROJECT MANAGEMENT Software Engineering CSE 470 1
2
Project management “Project management involves the planning, monitoring, and control of the people, process and events that occur as software evolves from preliminary concept to operational implementation.” – Pressman, 2000 For most projects, important goals are: ▫ Deliver the software to the customer at the agreed time. ▫ Keep overall costs within budget. ▫ Deliver software that meets the customer’s expectations. ▫ Maintain a happy and well-functioning development team.
3
Project management... software engineering is different from other types of engineering in a number of ways that make software management particularly challenging. The product is intangible Large software projects are often ‘one-off’ project Software processes are variable and organization-specific
4
Project management... What is it? Planning, monitoring and control of People Process Events as software evolves from preliminary concept to operational implementation Who does it? Everyone, to some extent, e.g.: A software engineer manages his/her daily activities: planning, monitoring and controlling technical tasks A project manager plans, monitors and controls the activities of a team of software engineers A senior manager coordinates the interactions between business and software professionals
5
Project management... Why is it important? ▫ As we saw earlier, many projects fail ▫ Software development is a complex task particularly if it involves many people and lasts a long time “there are no technical failures; only management failures” – Braude, 2001 What are the steps? ▫ Understand the four P’s: People – must be organized to work effectively Product – must have effective communication with the customer to specify scope and requirements Process – must be appropriate for people and product Project – must estimate effort and time needed, define work products, establish quality checkpoints, establish methods to monitor and control work defined by plan ▫ We will focus on people and project
6
The People People working on software projects play various roles, which can be organized into five basic types: ▫ Senior managers Define business issues that often have great impact on project ▫ Project managers Plan, motivate, organize and control the people who do technical aspects of work – the practitioners ▫ Practitioners Deliver necessary technical skills to engineer the product ▫ Customers & Stakeholders Specify requirements and scope for software ▫ End-Users Interact with software product once it is released
7
The Team Leader Project management is a people-oriented activity ▫ People with great technical skills don’t necessarily make good team leaders – people skills are needed too Jerry Weinberg suggests an MOI model of leadership ▫ Motivation Ability to encourage technical people to work to the best of their abilities (push or pull) ▫ Organization Ability to adapt existing processes, or devise new ones, to enable the concept to be turned into a product ▫ Ideas/Innovation Ability to encourage people to create, and to feel creative, within the bounds of the particular product Team leader must let everyone know, by words and deeds, that quality is important – lead by example!
8
The Team Leader Another view of what makes a good team leader: Problem solving Decide which technical and organizational issues are most important Create a systematic solution to the problem – or motivate others to do so Apply lessons from past projects to new ones Remain flexible enough to change direction if initial proposed solution doesn’t work Managerial Identity Confidence to take charge of project when necessary, but also to let good technical people use their initiative Achievement Reward initiative and accomplishment Demonstrate that controlled risk-taking will not be punished Influence and Team building Be able to “read” people – understand both verbal and non-verbal signals from team members, and react to their needs
9
The Team Leader Mantei suggests three generic team organizations: Democratic decentralized (DD). Has no permanent leader. Task coordinators are appointed for short durations and then replaced by others who may coordinate different tasks Decisions on problems and approach are made by group consensus Controlled decentralized (CD) Has a defined leader who coordinates specific tasks and secondary leaders that have responsibility for subtasks Problem solving remains a group activity, but implementation of solutions is partitioned among subgroups Controlled Centralized (CC) Top-level problem solving and internal team coordination are managed by a team leader
10
The Project Things that can go wrong: Software people don’t understand their customer’s need. The product scope is poorly defined. Changes are managed poorly. The chosen technology changes. Business need changes. Deadlines are unrealistic. The project team lacks people with appropriate skills. Managers and practitioners avoid best practices and lessons learned.
11
The Project Make Smart Decisions: Decide to use existing software components. Decides to avoid custom interfaces when standard approaches are available. Decides to identify and avoid obvious risks. Evaluate the planned and actual schedules. Collect and analyze software project metrics. Get feedback from team members and customer. Record findings in written form.
12
The W5HH Principle Why the system is being developed? What will be done? When will it be done? Who is responsible for a function? Where are they located organizationally? How the job will be done technically and managerially? How much of each resource is needed?
13
90-90 rule The first 90 percent of a system absorbs 90 percent of the allotted effort and time. The last 10 percent takes another 90 percent of the allotted effort and time.
14
END
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.