Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.

Similar presentations


Presentation on theme: "1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by."— Presentation transcript:

1 1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Lecture 2 Project Management Cost Estimation Project Planning

2 2 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Software Project

3 3 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 The 4 P’s  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

4 4 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Software Projects size delivery deadline budgets and costs application domain technology to be implemented system constraints user requirements available resources Factors that influence the end result...

5 5 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Project Management Concerns

6 6 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Why Projects Fail? an unrealistic deadline is established an unrealistic deadline is established changing customer requirements changing customer requirements an honest underestimate of effort an honest underestimate of effort predictable and/or unpredictable risks predictable and/or unpredictable risks technical difficulties technical difficulties miscommunication among project staff miscommunication among project staff failure in project management failure in project management

7 7 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Defining the Product  establish scope—a narrative that bounds the problem  decomposition—establishes functional partitioning

8 8 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Example The CAD software will accept two- and three- dimensional geometric data from an engineer. The engineer will interact and control the CAD system through a user interface that will exhibit characteristics of good human/machine interface design. All geometric data and other supporting information will be maintained in a CAD database. Design analysis modules will be developed to produce the required output, which will be displayed on a variety of graphics devices. The software will be designed to control and interact with peripheral devices that include a mouse, digitizer, laser printer, and plotter.

9 9 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Melding Product and Process. Software Engineering Tasks planning risk analysis engineering Product Functions Text input Editing and formatting Automatic copy edit Page layout capability Automatic indexing and TOC File management Document production customer communication COMMON PROCESS FRAMEWORK ACTIVITIES Construction and release Customer evaluation

10 10 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 To Get to the Essence of a Project  Why is the system being developed?  What will be done? By when?  Who is responsible for a function?  Where are they organizationally located?  How will the job be done technically and managerially?  How much of each resource (e.g., people, software, tools, database) will be needed? Barry Boehm “W 5 HH Principle”

11 11 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Critical Practices  Formal risk analysis  Empirical cost and schedule estimation  Metrics-based project management  Earned value tracking  Defect tracking against quality targets  People aware project management

12 12 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Project Metrics

13 13 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Measurement & Metrics... collecting metrics is too hard... it's too time-consuming... it's too political... it won't prove anything... Anything that you need to quantify can be measured in some way that is superior to not measuring it at all.. Tom Gilb

14 14 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Why do we Measure?  To characterize  To evaluate  To predict  To improve

15 15 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product product metrics

16 16 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Process Metrics  majority focus on quality achieved as a consequence of a repeatable or managed process  statistical SQA data  error categorization & analysis  defect removal efficiency  propagation from phase to phase  reuse data

17 17 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Project Metrics  Effort/time per SE task  Errors uncovered per review hour  Scheduled vs. actual milestone dates  Changes (number) and their characteristics  Distribution of effort on SE tasks

18 18 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Product Metrics  focus on the quality of deliverables  measures of analysis model  complexity of the design  internal algorithmic complexity  architectural complexity  data flow complexity  code measures  measures of process effectiveness  e.g., defect removal efficiency

19 19 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Metrics Guidelines  Use common sense and organizational sensitivity when interpreting metrics data.  Establish a baseline by collecting historical data  Provide regular feedback to the individuals and teams who have worked to collect measures and metrics.  Work with practitioners and teams to set clear goals and metrics that will be used to achieve them.  Never use metrics to threaten individuals or teams.  Don’t use metrics to appraise individuals.  Metrics data that indicate a problem area should not be considered “negative.” These data are merely an indicator for process improvement.  Don’t obsess on a single metric to the exclusion of other important metrics.

20 20 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Normalization for Metrics Normalized data are used to evaluate the process and the product (but never individual people) size-oriented normalization—the line of code approach function-oriented normalization—the function point approach

21 21 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Typical Size-Oriented Metrics  errors per KLOC (thousand lines of code)  defects per KLOC  $ per LOC  page of documentation per KLOC  errors / person-month  LOC per person-month  $ / page of documentation

22 22 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Typical Function-Oriented Metrics  errors per FP (thousand lines of code)  defects per FP  $ per FP  pages of documentation per FP  FP per person-month

23 23 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Why Opt for FP Measures?

24 24 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Computing Function Points Analyze information domain of the application and develop counts Weight each count by assessing complexity Assess influence of global factors that affect the application Compute function points Establish count for input domain and system interfaces Assign level of complexity or weight to each count Grade significance of external factors, F i Such as reuse, concurrency, OS, … degree of influence: N =  F i complexity multiplier: C = ( x N) function points =  (count x weight) x C where:

25 25 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Analyzing the Information Domain

26 26 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Taking Complexity Into Account Factors are rated on a scale of 0 (not important) to 5 (very important): Backup and recovery Data communications Distributed processing Performance critical Existing operating environment Online data entry Input transaction over multiple screens Master files updated online Information domain values complex Internal processing complex Code designed for reuse Conversion/installation in design Multiple installations Application designed for change

27 27 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Marrying LOC and FP Programming Language LOC/FP (average) Assembly language 320 C128 COBOL106 FORTRAN106 Pascal90 C++64 Ada9553 Visual Basic 32 Smalltalk22 Powerbuilder16 SQL12

28 28 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Measuring Quality  Correctness — the degree to which a program operates according to specification  e.g. defects per KLOC  Maintainability—the degree to which a program is amenable to change  e.g Mean-time-to-change, spoilage  Integrity—the degree to which a program is impervious to outside attack  e.g. integrity =  [(1-threat)x(1-security)]  Usability—the degree to which a program is easy to use  e.g. skill required, time required, productivity increase, user assessment

29 29 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Defect Removal Efficiency DRE = (errors) / (errors + defects) where errors = problems found before release defects = problems found after release

30 30 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Metrics Development Software engineering process Software engineering process Software project Software project Software product Software product Data collection Data collection Metrics computation Metrics computation Metrics evaluation Metrics evaluation Measures Metrics Indicators

31 31 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Managing Variation The mR Control Chart

32 32 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Software Project Planning

33 33 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project. Why? So the end result gets done on time, with quality!

34 34 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 The Steps  Scoping—understand the problem and the work that must be done  Estimation—how much effort? how much time?  Risk—what can go wrong? how can we avoid it? what can we do about it?  Schedule—how do we allocate resources along the timeline? what are the milestones?  Control strategy—how do we control quality? how do we control change?

35 35 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Write it Down! SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy

36 36 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 To Understand Scope... Understand the …  Customers’ needs  Business context  Project boundaries  Customer’s motivation  Likely paths for change  Understand that... Even when you understand, nothing is guaranteed!

37 37 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Cost Estimation  project scope must be explicitly defined  task and/or functional decomposition is necessary  historical measures (metrics) are very helpful  at least two different techniques should be used  remember that uncertainty is inherent

38 38 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Estimation Techniques  past (similar) project experience  conventional estimation techniques  task breakdown and effort estimates  size (e.g., FP) estimates  tools (e.g., Checkpoint)

39 39 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Software Sizing  “fuzzy logic” sizing  Function point sizing  Standard component sizing  Change sizing S = (S opt + 4S m + 5 pess ) / 6

40 40 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Functional Decomposition Statement of Scope perform a "grammatical parse" functionaldecomposition

41 41 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Creating a Task Matrix Obtained from “process framework” applicationfunctions framework activities Effort required to accomplish each framework activity for each application function

42 42 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Conventional Methods: LOC/FP Approach  compute LOC/FP using estimates of information domain values  use historical effort for the project

43 43 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Example The CAD software will accept two- and three- dimensional geometric data from an engineer. The engineer will interact and control the CAD system through a user interface that will exhibit characteristics of good human/machine interface design. All geometric data and other supporting information will be maintained in a CAD database. Design analysis modules will be developed to produce the required output, which will be displayed on a variety of graphics devices. The software will be designed to control and interact with peripheral devices that include a mouse, digitizer, laser printer, and plotter.

44 44 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Example: LOC Approach

45 45 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Example: FP Approach Information domain valueOpt.Likely Pess. Est. countWeight FP count Number of Inputs Number of outputs Number of inquiries Number of files Number of external interfaces Count total320

46 46 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Example: FP Approach Backup and recovery 4 Data communications 2 Distributed processing 0 Performance critical 4 Existing operating environment 3 Online data entry 4 Input transaction over multiple screens 5 Master files updated online 3 Information domain values complex 5 Internal processing complex 5 Code designed for reuse 4 Conversion/installation in design 3 Multiple installations 5 Application designed for change 5 Total 52 Complexity adjustment factor ( X52) 1.17 Estimated FP 375

47 47 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Process-Based Estimation ActivityCCPlanningRisk Analysis EngineeringConstruction release CETotal TaskanalysisDesig n CodeTest Functio n UICF n/a8.40 2DGA n/a7.35 3DGA n/a8.50 CGDF n/a6.00 DBM n/a5.75 PCF n/a4.25 DAM n/a5.00 Total % effort1% 8&45%10%36%

48 48 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Tool-Based Estimation project characteristics calibration factors LOC/FP data

49 49 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Empirical Estimation Models General form: effort = tuning coefficient * size exponent usually derived as person-months of effort required either a constant or a number derived based on complexity of project usually LOC but may also be function point empirically derived

50 50 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Estimation Guidelines estimate using at least two techniques get estimates from independent sources avoid over-optimism, assume difficulties you've arrived at an estimate, sleep on it adjust for the people who'll be doing the job—they have the highest impact

51 51 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 The Make-Buy Decision system Xreuse simple (0.30) difficult (0.70) minor changes(0.40) major changes (0.60)simple (0.20) complex (0.80) major changes(0.30) minor changes(0.70) $380,000 $450,000$275,000$310,000$490,000$210,000$400,000buy contract without changes (0.60) with changes (0.40) $350,000 $500,000 build

52 52 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Computing Expected Cost (path probability) x (estimated path cost) (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost = 0.30($380K)+0.70($450K) similarly, expected cost = $382K expected cost = $267K expected cost = $410K build reuse buy contr expected cost = = $429 K

53 53 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Project Team  Senior managers – define business issues  Project (technical) managers – plan and manage the project and project team  Practitioners – engineer a product or application  Customers – specify the requirements for the software  End-users – use the product on a day-to-day basis

54 54 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Software Teams  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  the rigidity of the delivery date  the degree of sociability (communication) required for the project The following factors must be considered when selecting a software project team structure...

55 55 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001  closed paradigm—structures a team along a traditional hierarchy of authority (similar to a CC team)  random paradigm—structures a team loosely and depends on individual initiative of the team members  open paradigm—attempts to structure a team in a manner that achieves some of the controls associated with the closed paradigm but also much of the innovation that occurs when using the random paradigm  synchronous paradigm—relies on the natural compartmentalization of a problem and organizes team members to work on pieces of the problem with little active communication among themselves Organizational Paradigms suggested by Constantine [CON93]

56 56 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001 Team Management  Democratic decentralized (DD)  Controlled decentralized (CD)  Controlled centralized (CC) difficulty; duration size; modularity


Download ppt "1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by."

Similar presentations


Ads by Google