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 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e copyright © 1996, 2001 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes.

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 Chapter 3 Project Management

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 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...

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  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 compartment- alization 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]

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 Defining the Problem  establish scope—a narrative that bounds the problem  decomposition—establishes functional partitioning

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 Melding Problem and Process

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 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

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 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

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 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e copyright © 1996, 2001 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes.

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 Chapter 5 Software Project Planning

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 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!

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 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?

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 Write it Down! SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy

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 To Understand Scope...  Understand the customers needs  understand the business context  understand the project boundaries  understand the customer’s motivation  understand the likely paths for change  understand that... Even when you understand, nothing is guaranteed!

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 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

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 Estimation Techniques  past (similar) project experience  conventional estimation techniques  task breakdown and effort estimates  size (e.g., FP) estimates  tools (e.g., Checkpoint)

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 Functional Decomposition Statement of Scope perform a "grammatical parse" functionaldecomposition

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 Creating a Task Matrix Obtained from “process framework” applicationfunctions framework activities Effort required to accomplish each framework activity for each application function

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 Conventional Methods: LOC/FP Approach  compute LOC/FP using estimates of information domain values  use historical effort for the project

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 Example: LOC Approach

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 Example: FP Approach

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 Tool-Based Estimation project characteristics calibration factors LOC/FP data

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 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

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 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

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 The Make-Buy Decision

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 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

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 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e copyright © 1996, 2001 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes.

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 Chapter 6 Risk Management

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 Project Risks What can go wrong? What is the likelihood? What will the damage be? What can we do about it?

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 Reactive Risk Management  project team reacts to risks when they occur  mitigation—plan for additional resources in anticipation of fire fighting  fix on failure—resource are found and applied when the risk strikes  crisis management—failure does not respond to applied resources and project is in jeopardy

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 Proactive Risk Management  formal risk analysis is performed  organization corrects the root causes of risk  TQM concepts and statistical SQA  examining risk sources that lie beyond the bounds of the software  developing the skill to manage change

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 RISK Risk Management Paradigm control identify analyze plan track

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 Building a Risk Table RiskProbabilityImpactRMMM RiskMitigationMonitoring&Management

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 Building the Risk Table  Estimate the probability of occurrence  Estimate the impact on the project on a scale of 1 to 5, where  1 = low impact on project success  5 = catastrophic impact on project success  sort the table by probability and impact

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  mitigation—how can we avoid the risk?  monitoring—what factors can we track that will enable us to determine if the risk is becoming more or less likely?  management—what contingency plans do we have if the risk becomes a reality? Risk Mitigation, Monitoring, and Management

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 Risk Due to Product Size estimated size of the product in LOC or FP? estimated size of the product in LOC or FP? estimated size of product in number of programs, estimated size of product in number of programs, files, transactions? percentage deviation in size of product from percentage deviation in size of product from average for previous products? size of database created or used by the product? size of database created or used by the product? number of users of the product? number of users of the product? number of projected changes to the requirements number of projected changes to the requirements for the product? before delivery? after delivery? amount of reused software? amount of reused software? Attributes that affect risk:

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 Risk Due to Business Impact affect of this product on company revenue? affect of this product on company revenue? visibility of this product by senior management? visibility of this product by senior management? reasonableness of delivery deadline? reasonableness of delivery deadline? number of customers who will use this product number of customers who will use this product interoperability constraints interoperability constraints sophistication of end users? sophistication of end users? amount and quality of product documentation that amount and quality of product documentation that must be produced and delivered to the customer? governmental constraints governmental constraints costs associated with late delivery? costs associated with late delivery? costs associated with a defective product? costs associated with a defective product? Attributes that affect risk:

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 Risks Due to the Customer Have you worked with the customer in the past? Have you worked with the customer in the past? Does the customer have a solid idea of requirements? Does the customer have a solid idea of requirements? Has the customer agreed to spend time with you? Has the customer agreed to spend time with you? Is the customer willing to participate in reviews? Is the customer willing to participate in reviews? Is the customer technically sophisticated? Is the customer technically sophisticated? Is the customer willing to let your people do their Is the customer willing to let your people do their job—that is, will the customer resist looking over your shoulder during technically detailed work? Does the customer understand the software Does the customer understand the software engineering process? Questions that must be answered:

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 Risks Due to Process Maturity Have you established a common process framework? Have you established a common process framework? Is it followed by project teams? Is it followed by project teams? Do you have management support for Do you have management support for software engineering Do you have a proactive approach to SQA? Do you have a proactive approach to SQA? Do you conduct formal technical reviews? Do you conduct formal technical reviews? Are CASE tools used for analysis, design and Are CASE tools used for analysis, design and testing? Are the tools integrated with one another? Are the tools integrated with one another? Have document formats been established? Have document formats been established? Questions that must be answered:

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 Technology Risks Is the technology new to your organization? Is the technology new to your organization? Are new algorithms, I/O technology required? Are new algorithms, I/O technology required? Is new or unproven hardware involved? Is new or unproven hardware involved? Does the application interface with new software? Does the application interface with new software? Is a specialized user interface required? Is a specialized user interface required? Is the application radically different? Is the application radically different? Are you using new software engineering methods? Are you using new software engineering methods? Are you using unconventional software development Are you using unconventional software development methods, such as formal methods, AI-based approaches, artificial neural networks? Are there significant performance constraints? Are there significant performance constraints? Is there doubt the functionality requested is "do-able?" Is there doubt the functionality requested is "do-able?" Questions that must be answered:

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 Staff/People Risks Are the best people available? Are the best people available? Does staff have the right skills? Does staff have the right skills? Are enough people available? Are enough people available? Are staff committed for entire duration? Are staff committed for entire duration? Will some people work part time? Will some people work part time? Do staff have the right expectations? Do staff have the right expectations? Have staff received necessary training? Have staff received necessary training? Will turnover among staff be low? Will turnover among staff be low? Questions that must be answered:

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 Project: Embedded software for XYZ system Risk type: schedule risk Priority (1 low... 5 critical): 4 Risk factor: Project completion will depend on tests which require hardware component under development. Hardware component delivery may be delayed Probability: 60 % Impact: Project completion will be delayed for each day that hardware is unavailable for use in software testing Monitoring approach: Scheduled milestone reviews with hardware group Scheduled milestone reviews with hardware group Contingency plan: Modification of testing strategy to accommodate delay using Modification of testing strategy to accommodate delay using software simulation software simulation Estimated resources: 6 additional person months beginning 7-1-96 Recording Risk Information

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 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e copyright © 1996, 2001 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. This presentation, slides, or hardcopy may NOT be used for short courses, industry seminars, or consulting purposes.

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 Chapter 7 Project Scheduling and Tracking

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 Why Are Projects Late?  an unrealistic deadline established by someone outside the software development group  changing customer requirements that are not reflected in schedule changes;  an honest underestimate of the amount of effort and/or the number of resources that will be required to do the job;  predictable and/or unpredictable risks that were not considered when the project commenced;  technical difficulties that could not have been foreseen in advance;  human difficulties that could not have been foreseen in advance;  miscommunication among project staff that results in delays;  a failure by project management to recognize that the project is falling behind schedule and a lack of action to correct the problem

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 Scheduling Principles  compartmentalization—define distinct tasks  interdependency—indicate task interrelationshipsffort validation—be sure resources are available  defined responsibilities—people must be assigned  defined outcomes—each task must have an output  defined milestones—review for quality

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 Defining Task Sets  determine type of project  assess the degree of rigor required  identify adaptation criteria  compute task set selector (TSS) value  interpret TSS to determine degree of rigor  select appropriate software engineering tasks

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 Example

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 Define a Task Network

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 Effort Allocation 40-50% 30-40%  “front end” activities  customer communication  analysis  design  review and modification  construction activities  coding or code generation  testing and installation  unit, integration  white-box, black box  regression 15-20%

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 Use Automated Tools to Derive a Timeline Chart


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