Introduction To Software Engineering Project Management (Part 1)

42
1/42 CS-413 Introduction To Software Engineering Project Management (Part 1) Bilgisayar Mühendisliği Bölümü – Bilkent Üniversitesi – Fall 2009 Dr.Çağatay ÜNDEĞER Instructor Bilkent University, Computer Engineering Middle East Technical University, Game Technologies & General Manager SimBT Inc. e-mail : [email protected]

description

Introduction To Software Engineering Project Management (Part 1). Dr.Çağatay ÜNDEĞER Instructor Bilkent University, Computer Engineering Middle East Technical University, Game Technologies & General Manager SimBT Inc. e-mail : [email protected]. - PowerPoint PPT Presentation

Transcript of Introduction To Software Engineering Project Management (Part 1)

Page 1: Introduction To Software Engineering Project Management (Part 1)

1/42CS-413

Introduction To Software Engineering Project Management

(Part 1)

Bilgisayar Mühendisliği Bölümü – Bilkent Üniversitesi – Fall 2009

Dr.Çağatay ÜNDEĞER

InstructorBilkent University, Computer Engineering

Middle East Technical University, Game Technologies

&

General ManagerSimBT Inc.

e-mail : [email protected]

Page 2: Introduction To Software Engineering Project Management (Part 1)

2/42CS-413

Introduction To Software Engineering Project Management

• What is Software Engineering?– By Fritz Bauer – By IEEE

• What is a Project? – Introduction – IS Project Failures & Success – Characteristics of an IS project

• What is Project Management? – Introduction– Project Management Institute (PMI) – Tools for Project Management

Page 3: Introduction To Software Engineering Project Management (Part 1)

3/42CS-413

Software Engineering (1)

• Establishment and use of sound engineering principles

• In order to obtain economically software that is reliable and works efficient on real machines (Fritz Bauer).

Page 4: Introduction To Software Engineering Project Management (Part 1)

4/42CS-413

Software Engineering (2)

• (1) Application of a systematic, disciplined, quantifiable approach to;– Development, – Operation, and – Maintenance of software (that is the

application of engineering to software); • (2) The study of approaches as in (1) (IEEE)

• Institute of Electrical and Electronics Engineers (IEEE)

Page 5: Introduction To Software Engineering Project Management (Part 1)

5/42CS-413

Introduction To Software Engineering Project Management

• What is Software Engineering?– By Fritz Bauer – By IEEE

• What is a Project? – Introduction – IS Project Failures & Success – Characteristics of an IS project

• What is Project Management? – Introduction– Project Management Institute (PMI) – Tools for Project Management

Page 6: Introduction To Software Engineering Project Management (Part 1)

6/42CS-413

Introduction (Project)

• A package of individual or collaborative investments and activities that are;– Carefully planned and designed – To achieve an objective that has a

beginning and end.

Page 7: Introduction To Software Engineering Project Management (Part 1)

7/42CS-413

Introduction (IS Projects)

• Information System (IS) projects aim at making ongoing activities of institutions and enterprises;– Faster, – More efficient and – More productive by integrating the

information technologies into the process.

Page 8: Introduction To Software Engineering Project Management (Part 1)

8/42CS-413

Introduction (Stakeholders)

• People that have an interest in a new or existing project, including;– Project team members, – Project sponsors, – Stockholders, – Employees and – The community.

Page 9: Introduction To Software Engineering Project Management (Part 1)

9/42CS-413

Introduction (Project Sponsors)

• Members of the organizations who are responsible for the high-level support of the project.

Page 10: Introduction To Software Engineering Project Management (Part 1)

10/42CS-413

Introduction (Project Manager)

• A person who; – Has a diverse set of skills (e.g. good general skills,

technical manegement, conflict man., customer relationship man. and leadership skills), and

– Responsible for;• initiation, • planning, • executing, • controlling, • monitoring, and • closing down a project.

Page 11: Introduction To Software Engineering Project Management (Part 1)

11/42CS-413

Introduction (Why?)

• IS projects are usually undertaken for two reasons; – Solving business problems and – Taking advantage of business

opportunities.

Page 12: Introduction To Software Engineering Project Management (Part 1)

12/42CS-413

IS Project Failures

• In the world, – The probability of an IS project failure is

usually outweighs the probability of an IS project success.

• That is also true for our country, and many projects fail in Turkey.

Page 13: Introduction To Software Engineering Project Management (Part 1)

13/42CS-413

IS Project Failures

• Don’t think that;– A project failure only occurs when it is

cancelled because of not successfully completing it.

• A project can be considered as failed when; – The project finished over budget,– The project did not finish on time,– The project did not deliver a system that

satisfies the stakeholders expectations,– The project did not deliver a system that

satisfies its objectives.

Page 14: Introduction To Software Engineering Project Management (Part 1)

14/42CS-413

IS Project Failures

• First step:– Identify causes of project failures, in order

to avoid them.

Page 15: Introduction To Software Engineering Project Management (Part 1)

15/42CS-413

Causes of project failures (A survey)

• Failed communication among parties (57%),• Lack of planning (39%), • Poor quality control (35%).

Page 16: Introduction To Software Engineering Project Management (Part 1)

16/42CS-413

Causes of project failures (More Detailed)

• Lack of executive support:– Lack of top management support and

organizational commitment• Lack of user input:

– Lack of user participation, user resistant to change, lack of user cooperation, and lack of user commitment

Page 17: Introduction To Software Engineering Project Management (Part 1)

17/42CS-413

Causes of project failures (More Detailed)

• Inexperienced project manager:– Lack of leadership skills, project progress

not monitored closely, ineffective communication

• Inexperienced team members:– Inadequately trained team members, lack

of team member commitment to project, frequent turnover within the team

Page 18: Introduction To Software Engineering Project Management (Part 1)

18/42CS-413

Causes of project failures (More Detailed)

• Unclear business objectives:– Not well-defined project goals & project

success criteria, conflicting system requirements, continually changing project objectives

• Unreliable estimates:– Inadequate estimates of project schedule,

budget & resource, and unclear project milestones

Page 19: Introduction To Software Engineering Project Management (Part 1)

19/42CS-413

Causes of project failures (More Detailed)

• Ineffective project management:– Lack of an effective project management

methodology applied throughout the project

• New software infrastructure: – Use of new technology that has not been

practiced before, and use of immature and highly complex technologies

Page 20: Introduction To Software Engineering Project Management (Part 1)

20/42CS-413

Causes of project failures (More Detailed)

• Unstable organizational environment:– Changes in organizational management

during the project, and restructuring organization during the project

• Unreliable outside suppliers:– Dependence on unreliable suppliers and

involvement of many external suppliers

Page 21: Introduction To Software Engineering Project Management (Part 1)

21/42CS-413

Project Success

• Well organized application of project management techniques can reduce;– The causes of project failures and – So the risks

Page 22: Introduction To Software Engineering Project Management (Part 1)

22/42CS-413

Characteristics of an IS Project

• The technology environment is highly dynamic:– Companies should quickly decide whether;

• To move their system to a new technology ahead of their competitive or

• To match the level of their competitive or • To keep their state and risk losing a

potential competitive advantage

Page 23: Introduction To Software Engineering Project Management (Part 1)

23/42CS-413

Characteristics of an IS Project

• Very difficult to hire and retain experienced Information Technology (IT) project employees:– Very difficult to find employees

experienced on specific technologies. – Very difficult to retain experienced

employees • Since they seek new business

opportunities, and other companies may try to recruit them.

Page 24: Introduction To Software Engineering Project Management (Part 1)

24/42CS-413

Characteristics of an IS Project

• Hard to manage and keep necessary extensive user involvement in the project.– The user involvement should continue during

planning, development, and maintenance. – Many different types of users may be required to

involve in the project development to ensure project success.

– The users may be;• From very different levels of technical

proficiency. • Located in different cities or even in different

countries.

Page 25: Introduction To Software Engineering Project Management (Part 1)

25/42CS-413

Characteristics of an IS Project

• Deciding on which methodology to use for development and maintenance is difficult – Since there are many alternatives, which

may be good or bad depending on the nature of the project.

Page 26: Introduction To Software Engineering Project Management (Part 1)

26/42CS-413

Characteristics of an IS Project

• Attempted solutions may never have been tried before. – IT projects may focus on building a new

system that has entirely new functionality. – Project team may have very few clues on

how to build such a system.

Page 27: Introduction To Software Engineering Project Management (Part 1)

27/42CS-413

Characteristics of an IS Project

• Progressive, uncontrolled increase in project scope is very common: – Related with the fact that the end product

has never been seen and developed before,

– The customer usually does not know what he/she exactly needs.

Page 28: Introduction To Software Engineering Project Management (Part 1)

28/42CS-413

Characteristics of an IS Project

• The technology involved in project may change during the project development. – Trying to reach a changing goal makes the

management and the development of the project hard. • e.g, a version change of a COTS API

used in a project may force the development team to decide on whether to use the new version or not.

Page 29: Introduction To Software Engineering Project Management (Part 1)

29/42CS-413

Introduction To Software Engineering Project Management

• What is Software Engineering?– By Fritz Bauer – By IEEE

• What is a Project? – Introduction – IS Project Failures & Success – Characteristics of an IS project

• What is Project Management? – Introduction– Project Management Institute (PMI) – Tools for Project Management

Page 30: Introduction To Software Engineering Project Management (Part 1)

30/42CS-413

Introduction (Project Management)

• Application of;– Knowledge, skills, tools and techniques to

project activities and process • To meet project requirements.

Help me!!!!

Page 31: Introduction To Software Engineering Project Management (Part 1)

31/42CS-413

Introduction (Project Management)

• Requires to find a balance between;– Scope,– Time,– Cost, – Quality.

scope

cost

time

quality

Page 32: Introduction To Software Engineering Project Management (Part 1)

32/42CS-413

Introduction (Project Life Cycle)

• Contains the phases (project management process groups) a project goes through from concept to completion.

• Project management process groups are; – The major management phases that are

commonly accepted as;• Initiating,• Planning,• Executing,• Controlling,• Closing.

initiating

planning

closing

executing

controlling

monitorin

g

Page 33: Introduction To Software Engineering Project Management (Part 1)

33/42CS-413

Introduction (Project Management Process Groups)

• Initiating: – Identifies potential projects and evaluates their importance to

the organization. • Planning:

– Plans the project considering crucial aspects of the project (e.g. scope, time, cost, risk).

• Executing: – Executes the plan, and completes the deliverables.

• Controlling: – Continuously checking the development process mostly

during the execution in order to see if everything goes as planned.

– If something goes wrong, necessary steps are planned and taken to correct them.

• Closing: – All the final paper work is completed, and – The responsible parties sign off on the project.

Page 34: Introduction To Software Engineering Project Management (Part 1)

34/42CS-413

Characteristics of Life Cycle

• In time,– The probability of successful completion

of project increases.– The ability of stakeholders to influence

project characteristics and cost reduces.

Page 35: Introduction To Software Engineering Project Management (Part 1)

35/42CS-413

Introduction (Work Breakdown Structure)

• A hierarchical listing of the activities (e.g. tasks, sub-tasks) necessary for the completion of the project.

Page 36: Introduction To Software Engineering Project Management (Part 1)

36/42CS-413

Introduction (Gantt Chart)

• A bar chart showing the start and end dates for the activities of a project.

Page 37: Introduction To Software Engineering Project Management (Part 1)

37/42CS-413

Introduction (Network Diagram)

• A schematic display that illustrates the various tasks in a project as well as their sequential relationship.

Page 38: Introduction To Software Engineering Project Management (Part 1)

38/42CS-413

Introduction (Project Management Institute - PMI)

• An association that was formed in 1969 to;– Bring together project management

professionals, – Systematically capture project

management knowledge, and – Provide information and training on project

management techniques.• Website: www.pmi.org

Page 39: Introduction To Software Engineering Project Management (Part 1)

39/42CS-413

Introduction (PMBOK)

• Project management body of knowledge (PMBOK):– 9 core project management knowledge

areas that PMI maintains as a repository.

Page 40: Introduction To Software Engineering Project Management (Part 1)

40/42CS-413

Introduction (PMBOK Areas)

• Project Integration Management• Project Scope Management• Project Time Management• Project Cost Management• Project Quality Management• Project Human Resource Management• Project Communication Management• Project Risk Management• Project Procurement Management

Page 41: Introduction To Software Engineering Project Management (Part 1)

41/42CS-413

Tools for Project Management

• Tools may have different capabilities: – Allow multiple user access from different

computers.– Support activities across the planning,

execution and control phases of project management life cycle.

– Support work breakdown structures, gantt charts, network diagrams, time-lines, resource assignments, configuration manegement, etc.

Page 42: Introduction To Software Engineering Project Management (Part 1)

42/42CS-413

Tools for Project Management • Copper 2004:

– A-low price software for project management – Approximately $199.

• Microsoft Project:– Mid-price common used project management

software developed by Microsoft. – 2007 version is approximately $440.

• Primavera SureTrak Project Manager:– A-high price software for project management – 3.0 version, 10 user license is approximately

$3900. • Telelogic Products (Doors, Rapsody)

– A-high price software for project management – More than $5000