Introduction to Project Management

Size: px
Start display at page:

Download "Introduction to Project Management"

Transcription

1 Introduction to Project Management

2 Agenda Why Project Management? Why Quality Software? 2

3 Why Project Management? If the automobile industry had developed like the software industry, we would all be driving $25 cars. Yeah, and if cars were like software, they would crash twice a day for no reason, and when you called for service, they d tell you to reinstall the engine.

4 Mars Climate Orbiter (1999) Mission: to relay signals from Mars Polar Lander Outcome: spacecraft entered Mars atmosphere incorrectly and disintegrated Reason: Software output in non-si units of pound-secs instead of N-secs, as specified in contract between NASA and Lockheed

5 Downing of Iran Air Flight 655 (1988) USS Vicennes misidentified Airbus 320 for F people dead Reason: Software bug - cryptic and misleading output displayed by the tracking software

6 THERAC-25 Radiation-Therapy System (1986) Two cancer patients at the East Texas Cancer Center received fatal radiation overdoses Reason: Software bug mishandled race condition, gaps in testing

7 7 The Software Crisis The situation that have existed since late1960's, characterized by an inability of software developers to deliver good quality software on time and within budget.

8 Software Crisis Exists Today Nowadays, software is everywhere, however Average project likely to be 6-12 months behind schedule % over budget Significant # s of projects fail completely About 40-50% of software applications enter use with nontrivial defects

9 Why Software Crisis Exists Today? Today s Software Developer s Defect Density Some industry numbers (Benchmark) Japan: 1.8 (best) US: 2.3 Canada: 5.1 Singapore:?? Defect Density (defects per KLOC, LOC: Length Of Code) 9

10 Why Software Crisis Exists Today? Can we expect software to execute correctly? Carefully made programs 5 faults/1000 LOC 1M LOC will have 5000 faults Windows XP has 45M LOC How many faults? 45 x 5000 = 225,000

11 11 Impact of Fixing Defect Late in SDLC x Cost to change 1 x x Definition Development After release

12 Beyond Technical Skillset In school, there s a tendency to focus on technology, missing people and process practices. In industry, programming is often what you spend the least amount of time doing, overall!

13 Today s Software Large & complex systems Open and distributed systems Decentralized and interactive systems Large number of developers in geographically distributed teams Teamwork! Large user base 24x7 availability - any time, in

14 Software Development Components

15 Components for Quality Software People High quality products Processes Technology Emphasis on people, process, quality and management required

16 16 Case for Quality Software Product Quality Process Quality Best practices and guidelines from PMBOK, SWEBOK, CMMI

17 Summary Why Project Management? Why Quality Software? 17

18 Possible Roles in Industry: Software Development System analyst Customer solution consultant Requirement engineer System architect Programmer Software testing engineer System integration and configuration engineer 18

19 Possible Roles in Industry: Project Management Project manager Project planning and estimation engineer Project requirements manager System requirement specification analyst Quality Engineer Project configuration and document manager Project team coordinator 19

20 Possible Roles in Industry: Software Engineering Organization Software development organization manager Software engineering process designer Delivered systems manager Maintenance engineer System service evaluator User testing coordinator User technical supporter Technical Trainer 20

21 Course Objectives To attract you to explore in software engineering world To explore various software engineering topics from both research oriented view and industry oriented view To encourage you to study management issues, process issues and to practice test, then code To improve your self-learning ability to dig deeper into the area 21

22 Why Team Labs? Learning to do team work Exploring software project management and development within a team Getting a feeling for the people, process and technology problems. Getting an idea of team productivity 22

23 23 Team Work Where are you now? Where do you want to go? How do you get there? What is the best that we How can are doing? we help each other?

24 Highlight: Software Crisis Definition Software Engineering Definition Why software engineering People Process Technology Defect density Cost distribution The impact of fixing a defect Features of Today s software 24