Software Process and Management

Size: px
Start display at page:

Download "Software Process and Management"

Transcription

1 Software Process and Management Gu Qing Nanjing University

2 Chapter 2. Project Definition Project Framework Project Goal and Scope Project Portfolio Organizational Form 2

3 1. Project Framework What is a Software Project A unique, temporary endeavor with defined start and end dates to achieve one or more objectives within the constraints of cost, schedule, and quality performance Features A series of tasks with a specific objective Have defined start and end dates Have funding limits Consume resources 3

4 The Position of a Project 4

5 Project Life Cycle 5

6 Project Management A body of methods and tools that facilitate the achievement of project objectives Within time Within cost At the desired performance/specification level Effectively and efficiently utilizing the assigned resources 6

7 Triple Constraint of Project Management Successful project management Meeting all 3 goals: scope, time and cost Satisfying the project s sponsor 7

8 8

9 Illustration of Project Management (1) 9

10 Illustration of Project Management (2) External factors; management responses; side effects 10

11 Characteristics of Project Duration Slow start Manager is selected Team is assembled Initial resources are allocated Work program is organized Quick momentum Work progresses Milestones Slow finish Many loose ends to tie up 11

12 Project Goal Trade-offs For cost, schedule and performance Design & formation phases No significant difference in importance Buildup phase Schedule, performance, then cost Main phase Schedule & performance equal, then cost Completion phase Performance, schedule, then cost 12

13 History of PM Technologies Henry Gantt ( ) bar chart 1957 Sputnik Crisis revival of scientific management Polaris (1958) Project Evaluation and Review Technique (PERT) DuPont Company (1960) Critical Path Method (CPM) 1960 s NASA projects: Mercury, Gemini, Apollo Work Breakdown Structures (WBS) Cost and Schedule Tracking, Configuration Management 13

14 Project Management Framework 14

15 Project Process Framework Why Justification ROI What Charter SOW How SPMP Life Cycle Model Do it Life Cycle Execution PPA Did it 15

16 The Five Steps (1) Why Based on Return on investment statement, or high strategic value What A project charter that is an outline of the project, including major deliverables, rough high-level schedule, expected return for the effort The charter formally document the existence of a project and obtain management approval for the work and resources 16

17 The Five Steps (2) How Make the software project management plan (SPMP) that explain how the life cycle steps will be performed Give the roadmap that the project team will follow to prepare the deliverables and meet user expectations Do it Execute the SPMP, follow the life cycle steps chosen for this particular project instance 17

18 The Five Steps (3) Did it Do post-performance analysis (PPA) Document lessons learned and recommendations for project/process improvements for the next similar project 18

19 Project Process Map Why What How Project Initiating Project Planning Do it Project Control Project Execution Did it Project Closing 19

20 Overlap of the Processes 20

21 2. Project Goal and Scope State Project Objectives Scope of Work Define Project Charter Software Project Management Plan 21

22 Project Planning Lay down the framework for how the project will be run, including Define the project s objectives Select an appropriate life cycle Establish project policies, procedures and processes to achieve the objectives An iterative process, done repeatedly as conditions change and new knowledge gained 22

23 Project Objectives Views For a Web-based timesheet data entry system The engineering manager An internal tool development effort The programmers A training exercise The general manager A requirement before starting a new software development project The sales staff A marketing tool to demonstrate the capabilities of the development team 23

24 State the Objective Instead of Build a timesheet data entry system We should state: Build and successfully deploy a Web-based timesheet data entry system for the engineering department s internal use before the beginning of the next major external software product development project 24

25 Set Clear Objectives Focus on deliverables, not just processes Measurable and testable e.g. $, %, Market share, Dates Action oriented Use verbs such as build, deploy Conversational The elevator speech: explained in a few seconds Doable Within your authority and capacity Communicated All project team members know it 25

26 The S.M.A.R.T. Method Specific Developer and customer both agree on the results for each objective Measurable What does meet expectations mean to developer and customer How to know it is achieving the results Achievable What support is needed to attain the objectives Realistic Do the results address the customer s requirements and real needs Time-bound Are there specific dates for each objective, and are there clearly understood reasons driving behind the dates 26

27 A SMART Objective Benchmark two other companies automated line-manufacturing processes according to ISO9000 standards. Complete the project by the end of the third quarter at a maximum budget of $30,

28 The Scope of Work Also called the Statement of Work, or the Statement of Requirements It is usually harder to identify what it should not include than what it should include The Is/Is not technique Use brainstorming For each goal or objective, define a list of what it is For each goal or objective, define a list of what it is not Combine both lists to make assumptions of the project 28

29 Examples of the Is/Is not 29

30 The Project Charter Also called: Project Initiation Document, Scope Baseline A document that formally recognizes the existence of a project Include the business need, the product description, and major assumptions A document needed for project selection in the organization s project portfolio management A short 1~3 pages to secure management or customer approval 30

31 Contents of a Charter Objectives: the desired outcomes Functions: major features and/or processes Performance: Generalized specifications Constraints: Limitations of the environment Scope: Boundaries of the project Costs/benefits: Rough order of magnitude estimates 31

32 A Sample Project Charter (1) 32

33 A Sample Project Charter (2) 33

34 The Software Project Management Plan Define how the project is supposed to be executed and what is going to produce The most important document of a project, next in importance is the SRS When completed and approved, the SPMP become the benchmark for controlling the project SPMP will evolve over the period of time as more information is gained 34

35 Contents of a SPMP Charter Organization How the project will be organized and executed Process Details of the managerial and technical processes used Work breakdown Work breakdown and work package details Schedule Schedule, dependencies and resources Budget Budgetary and definitive estimates 35

36 Illustration of Goal and Scope Included in after approval Goal & Objectives Scope Charter SPMP Contain one or more SOW Become part of SRS 36

37 3. Project Portfolio A corporation has many products and a managed number of projects under development Each product may have one or more projects in execution to complete the product family There will always be more projects than resources to adequately execute them Managers should select the best project from the point of view of a return on investment 37

38 Organizational Life Cycles Policy Planning Needs Identification Product Conception Realization Product in Service Retirement Feasibility Acquisition Operations Retirement Initiation Development Implementation Delivery 38

39 Dimensions of a Project Product Domains Classes Functioning of the user organizations Product Systems Classes States of the products Product Component Classes What composes the product 39

40 6 Classes of Product Domains (1) Consumer Product for personal use, usually a price-sensitive purchaser e.g. Office, Windows, Game Business Provide a cost-effective product to improve overall business profits Usually expensive and have maintenance, service, and installation support available e.g. Oracle, WebSphere, Solaris Industrial Focus on a specific industry such as automotive, food processing, or semiconductor fabrication Have the highest percentage of product customization and integration with legacy systems e.g. FactoryWorks, HP Vee, ERP System 40

41 6 Classes of Product Domains (2) Real-time Have a defined and finite time budget to collect events and make responses e.g. embedded medical devices, CD recorder Really timely Must execute within a time budget that does not irritate the end user e.g. ATM software Scientific Simulate real-world activities using mathematics e.g. Matlib, Analytica, Expert Choice 41

42 4 Classes of Product Systems New software product Re-engineering of existing product Component integration Integrate available commercial-off-the-shelf (COTS) software into a product Heroic maintenance Release the old product with heroic work done to dress it up in new clothes 42

43 6 Product Component Classes Software Hardware With embedded software People Consulting services purchased to aid in product installation, integration and adoption into a specific environment Database May be separate, general-purpose and adjunct to the organization s other information systems Documentation Manuals, usage and tips books Procedures Business rules determined or affected by the products 43

44 Example: 2 software products A new web-based software product for registering personal DVD movies in a trading club An enhancement to an existing factory-integration software product to determine the optimum process for factory production 44

45 Product Domains vs. Product Systems Identify the product domain type Consumer Business Industrial Real-time Really timely Scientific New software product Re-engineering existing product Component integration Heroic maintenance Web-based software Factory-integration software 45

46 Component Classes vs. Product Systems Identify critical product components Software Hardware People Database Documentation Procedures New software product Re-engineering existing product Component integration Heroic maintenance Web-based software Factory-integration software 46

47 Product Domains vs. Component Classes Link product domains with Components Consumer Business Industrial Real-time Really timely Scientific Software Hardware People Database Documentation Procedures Web-based software Factory-integration software 47

48 Project Portfolio A group of projects that They are part of the same product family They compete for scarce resources Project deliverables and interim development artifacts are interdependent There are multiple and conflicting organization objectives in making decision 48

49 Stakeholders Map (1) Stockholders Management Customers Business Organization Suppliers Competition Employees Government 49

50 Stakeholders Map (2) Stockholders Interest in the financial success of the organization, focus on adequate return on investment Customers Require the release of state-of-the-art products that meet their needs at an economic cost Suppliers Provide the best software and hardware development products Government Make regulations and issue approvals Competition Affect the marketplace influence decisions 50

51 Portfolio Management Models (1) The Pure Economic Return Model Use pure financial measures, cancel those projects with poor value, e.g. Internal rate of return Net present value Marginal cost of capital Return on investment Weighted average cost of capital (WACC) 51

52 Portfolio Management Models (2) Cost-benefit Model Use relative values for benefits that are not tangible Rank the projects, cancel those that at the back-end Market Research Model Use approach such as focus groups, market surveys, consumer panels, and test marketing Cancel the projects for new product with inadequate market analysis done 52

53 Economic View of Product Life Cycle 300 Production Ramp Development Market Growth Market Maturity End of Life Cost Revenue Project Life Cycle $2M $10M Months -200 Product Life Cycle 53

54 Cost Distribution of Life Cycle Works 3% 67% 6% 2% 4% 5% 6% 7% 54

55 The Project Financial Model 55

56 Compute NPV (Net Present Value) 56

57 Project Selection based on NPV 57

58 Project Selection based on Weighted Factor 58

59 3. Organizational Form An organization is A system that exchanges materials, personnel, manpower, and energy with the environment A group of people sharing stated and formal goals Groups of people who must coordinate their activities in order to meet organizational objectives With a common goal, a group where objectives, roles and rules are established, leaders and specialists emerge 59

60 Establish Reporting Relationships Organization chart Show who will get direction from whom Identify the paths of control for execution of the project activities Organization breakdown structure (OBS) Relate parts of the organization to the WBS elements Which pieces of the total product are assigned to a given work group 60

61 Functional Organization Much of it comes from Henri Fayol (1841~1925) and Max Weber (1864~1920) Weber father of bureaucracy, i.e. management by the office (as opposed to by the person) Fayol and Weber s principles of management Division of work Centralization and authority Discipline Hierarchical structure Functionally oriented and silos of specialty Decision and promotion path is vertical within a silo 61

62 Evolvement of Organizational Style 62

63 Generic Model of an Organization Strategic Apex Leadership that sets strategic direction Middle line management Translate strategic direction into tactical plans Operating core Execute the plans to produce the product / service Techno-structure Technical infrastructure Support staff Support infrastructure 63

64 For a Software Project Strategic Apex The project manager Middle Line Line managers or subproject managers Operating core Software engineers, teams Techno-structure and support staff SCM, SQA, network support, facility support, documentation 64

65 Organizational Structures Functional organization Matrix organization Projectized organization 65

66 Functional Organization The standard old-fashioned organization Staffs are divided into their functional specialties, and report to a functional area manager President Engineering Production Finance Marketing Operations Research Develop. Product A Product B Product A Product B Product A Product B Product A Product B 66

67 Projects in Functional Organizations Project Expediter Organization Project Coordinator Organization 67

68 Project Expediter Organization (1) 68

69 Project Expediter Organization (2) An expediter role A staff assistant role making few decisions Responsible for the communications and completion of the project Forward decisions by superiors to functional managers and down to the project staff Problems Motivate workers with no real authority Must be very persuasive 69

70 Project Coordinator Organization (1) 70

71 Project Coordinator Organization (2) A coordinator role Has authority to assign work, but shares the authority with the worker s function manager Problems Upper management is reluctant to relinquish power and authority Upper management is usually not ready to cope with the problems of shared authority 71

72 Advantages and Disadvantages Advantages Clearly defined authority, eliminate duplication of functions Encourage technical competence and specialization Focus attention on key (core) functions Disadvantages Lack customer orientation, and have walls to hand over works between functional areas Imply a long decision cycle, since it requires going up and down functional silos Project leaders have little power 72

73 Matrix Organization Come up in the late 1960s and put into practice in the 1970s, the most common form today There is a balance of power established between the functional and project managers Based on the relative balance of power, 3 types of matrix are present: weak, balanced, and strong 73

74 Illustration of Matrix Organization Vertical Functional Technical Direction President VP Projects Project A Manager Project B Manager Project C Manager VP Engineering VP Production VP Operations VP Marketing VP Finance People working on the project 74

75 Project Management Office Alignment of project goals with organizational goals Gradual assimilation of good project management practices Distribute project management expertise Reduce project lead times Consolidate project data Cultural change from functionally managed organization to project oriented management 75

76 Main PMO Tasks Home for PMs, cultivate competent PMs Establish, enforce and improve good project management processes Product fit for organization, help launch new projects Monitor market changes, alert PMs of potentially needed scope changes Review & limit organizations overall project portfolio risks Keep project management database 76

77 Advantages of Matrix Enhance information flow within an organization, enable project objectives to be clearly communicated Retain functional disciplinary teams, permit project integration across functional lines Make conflicts minimal and more easily resolved Make project termination less traumatic 77

78 Disadvantages of Matrix Complex to monitor and control, project personnel must report to 2 bosses Functional and project management may have differing priorities, thus resource allocation can conflict More administrative personnel are required Creates duplication of effort across projects 78

79 Projectized Organization (1) President Project A Engineering Production Operations Marketing Finance Personnel Project B Engineering Production Operations Marketing Finance Personnel Engineering Production Operations Marketing Finance Personnel 79

80 Projectized Organization (2) Come into play in the 1980s and 1990s The project (program) manager has total authority and acts as a mini-ceo All project personnel report to the project manager Advantages Establish a unity of command, and promote more effective communication Disadvantages Foster duplication of facilities and inefficient use of resources Hard for transition of projects 80

81 Types of Organizations (1) Type of Organizations Functional Matrix Projectized Organization of the Skills Grouped into functional specialties Grouped into functional specialties, assigned to projects as needed All needed are assigned to the project full-time Specialists Report to Functional group leader only Functional group leader, and project leader Project leader only 81

82 Types of Organizations (2) 82

83 Type Selection Project characteristics Functional Weak Matrix Strong Projectized Uncertainty Low Moderate High High Technology Standard Standard Complex New Complexity Low Low Medium High Duration Short (<6M) Medium Medium Long (>2y) Size Small Small Medium Large Importance Low Moderate Moderate High Customer Diverse Diverse 3 or 4 1 Interdependency (in) Low Medium Medium High Interdependency (out) High Medium Medium Low Time criticality Low Moderate Moderate High Cost < $1M $1~50M $10~100M >> $100M Simultaneity Many A few Few 1 83

84 Summary Project Framework Definition of Software Project; Project Life Cycle Project Goals; Project Management Framework; Project Process Map Project Goal and Scope Project Objectives; Scope of Work; Project Charter; SPMP Project Portfolio Project Dimensions: Domains vs. Systems vs. Components Portfolio Management Models: Economic Return, Cost-benefit, Market Research Organizational Form Organization model; Functional, matrix, and projectized organization 84