项目管理Project Mangement第2章
- 格式:ppt
- 大小:1.26 MB
- 文档页数:33
SEG5790 Project and TechnologyManagement•Part I: Project Management–Overview.–Project screening and selection.–Multiple-criteria methods for evaluation.–Project structuring–Project scheduling–Budgeting and resource management.–Life-cycle costing.–Project control.–Computer support for project management.•Part II Technology Management–Strategic and operational considerations oftechnology–Forecasting of technology–Management of R&D projectsChapter 3. Multiple-criteria Methods forProject Selection§3.1 Project selection by using utility functions§3.2 Project selection under multiple criteria§3.1 Project selection by using utilityfunctions•Suppose you are asked to choose between two lotteries, L1 and L2, asfollows:• If you choose L1, you are guaranteed to get $10,000.• If you choose L2, your expected return is $15,000.• Which lottery would you like to choose ?L2L11/21/21$30,000$0$10,000§3.1 Project selection by using utilityfunctions• Although L2 has a larger expected return than L1, many people prefer L1 to L2.• The reason is, L1 offers the certainty to win.• In other words, we prefer L1 to L2, since L1 involves less risk than L2.L2L11/21$30,000$0$10,000How to measure the risk ?•Different people have different perception on risk.•Some people may be more risk averse, but some people may be more risk seeking.•How to measure the risk ? And how to evaluate and represent the degree of your acceptance to risk, if you are the decision maker ?•Your attitude toward risk will affect your decision to choose a project proposal.•Utility theory allows one to build his utility function to represent his attitude toward risk, and therefore to make the decision which he thinks right in situations involving uncertainties.Utility functions•Our goal is to determine a method that a person can use to choose between lotteries (alternatives) involving risks.•Suppose that she must choose to play L1 and L2 but not both.•We write– L1 i L2 if she is indifferent between L1 and L2.– L1 p L2 if she prefers L1 to L2.– L2 p L1 if she prefers L2 to L1.•We also say that L1 and L2 are equivalent lotteries, ifL1 i L2 .U (M )M M MU (M )U (M )(a ) Risk averse (b ) Risk seeker (c ) Risk neutral Utility functionsUtility functions•For a given lottery L=(p1, r1; p2, r2; …; p n, r n), define the expected utility of the lottery L, written E(U for L), byi=nE(U for L)= Σ p i u(r i).i=1•Fundamental Property ofUtility Function: Fundamental Property of Utility Function:Two lotteries are indifferent if they have the same expected utility.An approach to Generate utilityvalues1)Given three monetary values: M1, X, M2 (M1 < X < M2). Let u (M1) = 0, u (M2) = 1. Find u (X).2)Choose p so that the following two lotteries are indifferent :a. Get X with probability 1.b. Get M2 with probability p and M1 with probability (1-p ).Then u (X) = p . (Think about why ? )L2L1p 1-p1M2X M1§3.1 Project selection by using utilityfunctions•Example -- How to rank the following lotteries:L4L10.50.021-$10,000$0$10,000L31$00.98L20.5$500$30,000§3.1 Project selection by using utilityfunctions•The utility theory suggests to rank these lotteries as follows:–(1) Identify the most favorable ($30,000) and theleast favorable (-$10,000) outcomes that canoccur.–(2) For all possible outcomes r i (r1=$10,000,r2=500, and r3=$0), the decision maker is askedto determine a probability p i such that she isindifferent between:p i$30,0001r i1-p i-$10,000§3.1 Project selection by using utilityfunctionsSuppose that for r1=$10,000, the decision maker is indifferent between:0.90$30,0001$10,0000.10-$10,000§3.1 Project selection by using utilityfunctionsFor r2=$500, the decision maker is indifferent between:0.60$30,0001$00.40-$10,0000.62$30,0001$5000.38-$10,000For r3=$0, the decision maker is indifferent between :§3.1 Project selection by using utilityfunctionsTherefore, we can see:0.50$30,0001$10,0000.50L1L2”(i)0.90$30,0000.10-$10,000L1’0.50$30,0000.50$0L2$30,000-$10,0000.40.6(i)§3.1 Project selection by using utilityfunctions0.50$30,0000.50L2”-$10,000$30,0000.40.6 0.80$30,0000.20-$10,000L2’• • L’’ is a compound lottery.•It yields a chance of 0.5+0.5(0.6) =0.8 at $30,000,and a chance of 0.4(0.6)=0.2 at -$10,000. • Since L2 i L2” and L2” i L2’, we know L2 i L2’.(i)§3.1 Project selection by using utilityfunctions0.02$30,0000.98L4’’-$10,000-$10,0000.380.62 0.6076$30,0000.3924-$10,000L4’(i)1$0L30.60$30,0000.40L3’-$10,000(i)§3.1 Project selection by using utilityfunctions0.6076$30,0000.3924-$10,000L4’0.90$30,0000.10L1’-$10,0000.60$30,0000.40L3’-$10,0000.80$30,0000.20L2’-$10,000• We can see that L1’ p L2’ p L4’ p L3’.• Since L1 i L1’, L2 i L2’, L3 i L3’, and L4 i L4’ , we conclude that L1 p L2 p L4 p L3.§3.1 Project selection by using utilityfunctions•Generally, the utility of the reward r i , written u(r i ), is the number q i such that the decision maker isindifferent between the following two lotteries:Most favorable outcome11- q iLeast favorable outcomer iq i • That is, u(r i ) = q i .• The definition forces u(least favorable outcome)=0and u(most favorable outcome)=1.§3.1 Project selection by using utilityfunctions•So, for our possible payoffs of $30,000, -$10,000, $0, $500, and $10,000, we have: u($30,000)=1, and u(-$10,000)=0.•From 0.90$30,0001$10,0000.10-$10,000we have u($10,000)=0.90.§3.1 Project selection by using utilityfunctions•From:0.60$30,0001$00.40-$10,0000.62$30,0001$5000.38-$10,000• From :we have u($500)=0.62.we have u($0)=0.60§3.1 Project selection by using utilityfunctions•For a given lottery L=(p1, r1; p2, r2; …; p n, r n), define the expected utility of the lottery L, written E(U for L), byi=nE(U for L)= Σ p i u(r i).i=1• Thus, in our example,E(U for L1) = 1(0.9) =0.9E(U for L2) = 0.5(1) + 0.5(0.6) = 0.8E(U for L3) = 1(0.6) =0.6E(U for L4) = 0.02(0) + 0.98(0.62)=0.6076.§3.1 Project selection by using utilityfunctions•From the example above, we can see that:E(U for L)Most favorable outcomeLi’1- E(U for L)Least favorable outcome• So, we know Li p Lj, if E(U for Li) > E(U for Lj)§3.1 Project selection by using utilityfunctions•More specifically,Li p Lj, if and only if E(U for Li) > E(U for Lj)Lj p Li, if and only if E(U for Lj) > E(U for Li)Li i Lj, if and only if E(U for Li) = E(U for Lj)Estimating an individual‘s utilityfunction•(1) We begin by assuming that the least favorable outcome (say, -$10,000) has a utility zero and the most favorable outcome (say, $30,000) has a utility one.•(2) Next we identity the number x1/2 having u(x1/2)=1/2.To determine x1/2, we ask the decision maker (DM) for the number x1/2 that makes her indifferent between:1/2$30,0001x1/21/2-$10,000 Suppose the DM states that x1/2=-$3400.Estimating an individual‘s utilityfunction•(3) Using x1/2 and the least favorable outcome (-$10,000) as the possible outcomes, we can construct a lottery that can be used to determine x1/4 (that is, u(x1/4)=1/4). The point x1/4 must be such that the DM is indifferent between1/2x1/2=-$34001x1/41/2-$10,000Suppose the DM states that x1/4=-$8000. This gives another point on the DM’s utility function.Estimating an individual‘s utilityfunction•(4) We can now use x1/2 and the most favorable outcome ($30,000) as the possible outcomes to construct a lottery that yields x3/4 with u(x3/4)=3/4. Again, the point x4/4 must be such that the DM is indifferent between1/2$30,0001x3/41/2x1/2=-$3400Suppose the DM states that x3/4= $8000. This gives one more point on the DM’s utility function.Estimating an individual‘s utilityfunction•(5) Gradually, we have a number of points:(-$10,000,0), (x1/8, 1/8), (x1/4 , 1/4), …, ($30,000, 1).•(6) The DM’s utility function can be approximated by drawing a smooth curve joining these points. (See below for the example).Chapter 3. Multiple-criteria Methods forProject Selection§3.1 Project selection by using utility functions§3.2 Project selection under multiple criteria§3.2 Project selection under multiplecriteria•In this section, we discuss the extension of utility theory to situations in which more than one attribute (criterion) affects the decision maker’s preferences and attitude toward risk.•When more than one attribute affects a decision maker’s preferences, her utility function is called a multi-attribute utility function.•In the following we restrict our discussion to multi-attribute functions with only two attributes.§3.2 Project selection under multiplecriteria•Suppose a decision maker’s preferences and attitude toward risk depend on two attributes, and letx i=level of attribute i, i=1,2.•Then,u(x1,x2)= utility associated with level x1 and x2.•How can we find a utility function u(x1,x2) such that choosing a lottery or alternative that maximizes the expected value of u(x1,x2) will yield a decision consistent with the decision maker’s preferences and attitude toward risk ?§3.2 Project selection undermultiple criteria•In general, determination of u(x1,x2) (or, in case of n attributes, determination of u(x1,x2,…, x n) is a difficult matter.•However, under certain conditions, the assessment of a utility function can be greatly simplified.§3.2.1 Properties of multi-attributeutility functions •Definition - Attribute 1 is utility independent (ui) of attribute 2 if preferences for lotteries involving different levels of attribute 1 do not depend on the level of attributes 2.§3.2.1 Properties of multi-attributeutility functions•Example - The Wivco Toy Co. is to introduce a new product (a gobot) and must determine the price to charge for each gobot. Two factors (market share and profits) will affect Wivco’s pricing decision. Let:x1 = Wivco’s market sharex2 = Wivco’s profits (million of dollars)§3.2.1 Properties of multi-attribute utilityfunctions •Suppose that Wivco is indifferentbetween: L11/230%, $20L1’11/216%, $2010%, $20• If attribute 1 (market share) is ui of attribute 2 (profit), Wivco would also be indifferent betweenL11/230%, $5L1’11/216%, $510%, $5§3.2.1 Properties of multi-attribute utilityfunctions•In short, if market share is ui of profit, then for any level of profits, a 1/2 chance at a 10% market share and a 1/2 chance at a 30% market share has a certainty equivalent of a 16% market share.§3.2.1 Properties of multi-attributeutility functions•Definition - If attribute 1 is ui of attribute 2, and attribute 2 is ui of attribute 1, then attributes 1 and 2 are mutually utility independent (mui).§3.2.1 Properties of multi-attributeutility functions•Theorem 3.2.1 -- Attributes 1 and 2 are mui if and only if the decision maker’s utility function u(x1,x2) is a multi-linear utility function of the following form:u(x1,x2)=k1u1(x1) + k2u2(x2) +k3u1(x1)u2(x2),where k1, k2 and k3 are constants andu1(x1) and u2(x2) are utility functions of x1 and x2 , respectively.§3.2.1 Properties of multi-attribute utilityfunctions•Let x 1(best) or x 2(best) be the most favorable level of attribute 1 or 2 that can occur. Also, let x 1(worst) or x 2(worst) be the least favorable level of attribute 1 or 2 that can occur.•Definition - A decision maker’s utility function exhibits additive independence if the decisionmaker is indifferent between:L11/2L21/21/21/2x 1(best), x 2(worst)x 1(worst),x 2(worst)x 1(worst),x 2(best)x 1(best), x 2(best)§3.2.1 Properties of multi-attribute utilityfunctions•Corollary 3.2.1 -- If attributes 1 and 2 are mui and the decision maker’s utility function exhibits additive independence, then k3=0 and u(x1,x2)=k1u1(x1) + k2u2(x2).§3.2.1 Properties of multi-attribute utilityfunctions •Justification:–We can scale u1(x1) and u2(x2) so that u1(x1(best))=1,u1(x1(worst))=0, u2(x2(best))=1, and u2(x2(worst))=0.–So u(x1,x2)=k1u1(x1) + k2u2(x2) + k3u1(x1)u2(x2) implies: u(x1(best), x2(best))= k1 + k2 + k3, u(x1(worst),x2(worst))=0,u(x1(best), x2(worst))= k1, u(x1(worst), x2(best))= k2.–Then additive independence implies that(1/2)(k1 + k2 + k3)+(1/2)(0)=(1/2) k1 +(1/2) k2This gives us k3 =0.§3.2.2 Assessment of multi-attributeutility functions•We have known that, if attributes 1 and 2 are mui, then u(x1,x2)=k1u1(x1) + k2u2(x2) + k3u1(x1)u2(x2).•Now the question is, how can we determine u1(x1),u2(x2), k1, k2 and k3, so as to determine u(x1,x2) ?•To find u1(x1), u2(x2), we can use the technique for assess single-attribute utility functions as introduced in §3.1.•To find k1, k2 and k3, we begin by rescaling u1(x1), u2(x2) and u(x1, x2) so thatu(x1(best), x2(best))=1, u(x1(worst), x2(worst))=0,u1(x1(best))=1, u1(x1(worst))=0,u2 (x1(best))=1, u2(x2(worst))=0.§3.2.2 Assessment of multi-attributeutility functions•Now, u(x 1, x 2)=k 1u 1(x 1) + k 2u 2(x 2) +k 3u 1(x 1)u 2(x 2) yieldsu(x 1(best), x 2(worst))= k 1(1)+ k 2(0)+ k 3(0)= k 1•Thus, k 1 can be determined from the fact that the decision maker is indifferent between L2L11- k 11x 1(worst),x 2(worst)x 1(best), x 2(worst)k 1x 1(best), x 2(best)§3.2.2 Assessment of multi-attributeutility functions•Similarly, u(x 1, x 2)=k 1u 1(x 1) + k 2u 2(x 2) + k 3u 1(x 1)u 2(x 2) yieldsu(x 1(worst), x 2(best))= k 1(0)+ k 2(1)+ k 3(0)= k 2•Thus, k 2 can be determined from the fact that the decision maker is indifferent between L2L11- k 21x 1(worst),x 2(worst)x 1(worst), x 2(best)k 2x 1(best),x 2(best)§3.2.2 Assessment of multi-attributeutility functions•To determine k 3, observeu(x 1(best), x 2(best)) = u 1(x 1(best))=u 2 (x 1(best))=1. •So, from u(x 1, x 2)=k 1u 1(x 1) + k 2u 2(x 2) + k 3u 1(x 1)u 2(x 2), we have1= u(x 1(best), x 2(best)) = k 1(1)+ k 2(1)+ k 3(1)= k 1 + k 2+ k 3•Thus, k 3= 1- k 1 - k 2•Of course, if the decision maker’s utility function exhibits additive independence, then k 3= 0.§3.2.2 Assessment of multi-attributeutility functions•The procedure to assess a multi-attribute utility function:–Step 1. Check if attributes 1 and 2 are mui. If yes, go to Step 2. (If no, see Keeney and Raiffa, DecisionMaking with Multiple Objective, Wiley, Section 5.7,1976).–Step 2. Check for additive independence.–Step 3. Assess u1(x1) and u2(x2).–Step 4. Determine k1, k2 and (if there is no additiveindependence) k3.–Step 5. Check if the assessed utility function is reallyconsistent with the decision maker’s preferences. Todo this, set up several lotteries and use the expectedutility of each lottery to rank the lotteries. If theassessed assessed utility function is consistent withthe decision maker’s preferences, the ranking underthe assessed utility function should be closelyassemble the decision maker’s ranking of lotteries.§3.2.2 Assessment of multi-attributeutility functions•Example 1a - Assume the current year is 1998. Fruit Computer Company is certain that during the next year 1999 its market share will be between 10 and 50 percent of the microcomputer market. Fruit is also sure that its profits during 1999 will be between $5 million and $30 million. Assess Fruit’s multi-attribute utility function u(x1, x2), wherex1 = Fruit’s market share during 1999x2 = Fruit’s profits during 1999 (in millions of dollars)§3.2.2 Assessment of multi-attributeutility functions•Step 1 - We begin by checking for mui. To check if attribute 1 is ui of attribute 2, we set x2 at different levels, and see whether the lottery w.r.t. x1 is affected or not. Similar experiments can be conducted to check if attribute 2 is ui of attribute 1. Assume that we have found that in this example attributes 1 and 2 are (at least approximately) mui.§3.2.2 Assessment of multi-attribute utility functions •Step 2 - To check for additive independence. We must determine if Fruit is indifferentbetweenL11/2L21/21/21/250%, $510%, $510%, $3050%, $30• Suppose that Fruit is not indifferent between these lotteries. Then Fruit’s utility function will not exhibit additive independence.• We now know that u(x 1, x 2) takes the following form: u(x 1, x 2)=k 1u 1(x 1) + k 2u 2(x 2) + k 3u 1(x 1)u 2(x 2).§3.2.2 Assessment of multi-attributeutility functions•Step 3 - We now assess u1(x1) and u2(x2). Suppose we obtain the results as shown in the following figures.。
《项目管理知识体系指南》第二章节风险管理Project risk management is an essential aspect of project management. It involves identifying, assessing, and prioritizing risks to minimize potential negative impacts on a project. 项目风险管理是项目管理的一个重要方面。
它涉及识别、评估和优先考虑风险,以最小化对项目的潜在负面影响。
The first step in project risk management is to identify potential risks. This involves brainstorming with the project team to come up with a comprehensive list of possible risks that could affect the project. 项目风险管理的第一步是识别潜在风险。
这涉及与项目团队进行头脑风暴,以得出可能影响项目的全面风险清单。
Once potential risks have been identified, the next step is to assess their likelihood and potential impact. This involves assigning a probability and severity rating to each risk to determine which ones require the most attention. 一旦确定了潜在风险,下一步是评估它们的可能性和潜在影响。
这涉及为每个风险分配概率和严重性评级,以确定哪些风险需要最多的关注。
After assessing the risks, the project team should prioritize them based on their potential impact on the project. This will help the team focus on the most critical risks and allocate resources accordingly. 在评估风险之后,项目团队应根据其对项目的潜在影响对其进行优先排序。
Southeast UniversitySoftware Engineeringliaoli97@Liao LiUnit 2 Software Project Management 2Course Structure1. Concepts----Software Product & Process 2. Software Project Management 3. Methods for Software Engineering 4. Software Testing TechniquesConventional Methods for SE (Chp21~27)Concepts EstimationRMScopeDecomposition TechniquesEmpiricalModels SchedulingQMSCMCOCOMO IIFP LOCWBSLearning ObjectivesTo give a brief introduction to project management ;To explain 4 P’s and W 5HH principle ; To explain scope planning and construct a WBS by different methods;To explain how various tools and techniques help project managers perform activity resource estimating, activity duration estimating and schedule development; To introduce the tools and techniques for perform risk management, change control and quality control.Unit 2 Software Project Management 5The 4 P ’sEffective software project management focuses on :People —the most important element of a successful projectProduct —the software to be builtProcess —the set of framework activities and software engineering tasks to get the job doneProject —all work required to make the product a realityConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 6PeopleStakeholders Software Teams Team leader TeamTeam Coordination & CommunicationConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMStakeholdersSenior managers who define the business issues that often have significant influence on the project. Project (technical) managers who must plan, motivate, organize, and control the practitioners who do software work.Practitioners who deliver the technical skills that are necessary to engineer a product or application. Customers who specify the requirements for the software to be engineered and other stakeholders who have a peripheral interest in the outcome. End-users who interact with the software once it is released for production use.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMSoftware TeamsHow to lead?How to organize?How to motivate?How to collaborate?How to create good ideas?Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 9Team LeaderThe MOI ModelMotivation.The ability to encourage (by “push or pull ”) technical people to produce to their best ability.Organization .The ability to mold existing processes (or invent new ones) that will enable the initial concept to be translated into a final product.Ideas or innovation .The ability toencourage people to create and feel creative even when they must work within bounds established for a particular software product or application.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 10Factors for Selecting Team Structurethe difficulty of the problem to be solvedthe size of the resultant program(s) in lines of code or function pointsthe time that the team will stay together (team lifetime )the degree to which the problem can be modularizedthe required quality and reliability of the system to be builtthe rigidity of the delivery datethe degree of sociability (communication) required for the projectConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMclosed paradigm —structures a team along a traditional hierarchy of authorityrandom paradigm —structures a team loosely and depends on individual initiative of the team membersopen 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 paradigmsynchronous 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 themselvesOrganizational ParadigmsConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMAvoid Team “Toxicity(毒素毒素))”A frenzied work atmosphere in which team members waste energy and lose focus on the objectives of the work to be performed.High frustration caused by personal, business, or technological factors that cause friction among team members .“Fragmented or poorly coordinated procedures ”or a poorly defined or improperly chosen processmodel that becomes a roadblock to accomplishment. Unclear definition of roles resulting in a lack of accountability and resultant finger-pointing.“Continuous and repeated exposure to failure ”that leads to a loss of confidence and a lowering of morale.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 13Team Coordination & Communication (1)Formal, impersonal approaches include software engineering documents and work products (including source code), technical memos, project milestones, schedules, and project control tools (Chapter 23), change requests and related documentation, error tracking reports, and repository data (see Chapter 26).Formal, interpersonal procedures focus on quality assurance activities (Chapter 25) applied to software engineering work products. These include status review meetings and design and code inspections.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 14Team Coordination & Communication (2)Informal, interpersonal procedures include group meetings for information dissemination and problem solving and “collocation of requirements and development staff.” Electronic communication encompasseselectronic mail, electronic bulletin boards, and by extension, video-based conferencing systems.Interpersonal networking includes informal discussions with team members and those outside the project who may have experience or insight that can assist team members.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMBookPeoplewareTom DeMarco /Timothy ListerConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMProduct (1)The Product ScopeContext.How does the software to be built fit into a larger system, product, orbusiness context and what constraints are imposed as a result of the context?Information objectives.What customer-visible data objects (Chapter 8) are produced as output from the software? What data objects are required for input?Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 17Product (2)Function and performance.What function does the software perform to transform input data into output? Are any special performance characteristics to be addressed?Software project scope must beunambiguous and understandable at the management and technical levels.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 18Product (3)Problem Decomposition ( partitioning or problem elaboration )Once scope is defined …•It is decomposed into constituent functions •It is decomposed into user-visible data objectsor•It is decomposed into a set of problem classesDecomposition process continues until all functions or problem classes have been definedConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMProcessOnce a process framework has been establishedConsider project characteristicsDetermine the degree of rigor required Define a task set for each software engineering activity•Task set =–Software engineering tasks –Work products–Quality assurance points –MilestonesConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMMelding the Product and the ProcessConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 21The ProjectProjects get into trouble when …Software people don ’t understand their customer ’s needs.The product scope is poorly defined. Changes are managed poorly. The chosen technology changes.Business needs change [or are ill-defined]. Deadlines are unrealistic. Users are resistant (抵制抵制)).Sponsorship is lost [or was never properly obtained]. The project team lacks people with appropriate skills. Managers [and practitioners] avoid best practices and lessons learned.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 22Common-Sense Approach to Projects (1)Start on the right foot .This is accomplished by working hard (very hard) to understand the problem that is to be solved and then setting realistic objectives and expectations.Maintain momentum.The project manager must provide incentives to keep turnover of personnel to an absolute minimum, the team should emphasize quality in every task it performs, and senior management should do everything possible to stay out of the team ’s way.Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMTrack progress.For a software project, progress is tracked as work products (e.g., models, source code, sets of test cases) are produced and approved (using formal technical reviews) as part of a quality assurance activity.Make smart decisions .In essence, the decisions of the project manager and the software team should be to “keep it simple.” Conduct a postmortem analysis.Establish a consistent mechanism for extracting lessons learned for each project.Common-Sense Approach to Projects (2)Concepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMTo Get to the Essence of a ProjectWhy is the system being developed? What will be done?When will it be accomplished? Who is responsible?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?--------The W 5HH PrincipleConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 25Critical Practices for Performance ManagementMetrics-based project management Empirical cost and schedule estimation Earned value tracking Formal risk managementDefect tracking against quality targets People-aware managementConcepts 4PPeople Product Process Project W 5HH Estimation Scheduling RM QM SCMUnit 2 Software Project Management 26Software Project PlanningThe overall goal of project planning is to establish a pragmatic strategy forcontrolling, tracking, and monitoring a complex technical project.Why?So the end result gets done on time, with quality!Concepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMProject Planning Task Set-IEstablish project scope Determine feasibilityAnalyze risks (Chapter 25) Define required resourcesDetermine require human resources Define reusable software resources Identify environmental resourcesConcepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMProject Planning Task Set-IIEstimate cost and effort Decompose the problemDevelop two or more estimates using size, function points, process tasks or use-cases Reconcile the estimatesDevelop a project schedule (Chapter 24) Establish a meaningful task set Define a task networkUse scheduling tools to develop a timeline chartDefine schedule tracking mechanismsConcepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 29Write it Down!Software Project PlanProject Scope Estimates Risks ScheduleControl strategyConcepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 30What is Scope?Scope refers to all the work involved in creating the products of the project and the processes used to create them. It defines what is or is not to be doneSoftware scope describesthe functions and features that are to be delivered to end-usersthe data that are input and outputthe “content ”that is presented to users as a consequence of using the softwarethe performance, constraints, interfaces, and reliability that bound the system.ConceptsEstimation Scope Decomp.Empirical Models Scheduling RM QM SCMWhat is Scope?Scope is defined using one of two techniques : A narrative description of software scope is developed after communication with all stakeholders.A set of use-cases is developed by end-users. The project team and stakeholders must have the same understanding ofwhat products will be produced as a result of a projecthow they ’ll be producedThis needs good communication!Concepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMProject Scope Management ProcessesScope Planning : create a project scope management plan that documents how the project scope will be defined, verified, controlled, how WBS will be created and defined;Scope Definition : develop a detailed project scope statement as the basis for future project decisions; Create Work Breakdown Structure:subdivide the major project deliverables and project work into smaller, more manageable components ;Scope verification : confirm that the project scope is accurate and complete. Formalizing acceptance of the project scope;Scope control : control changes to the scope .Concepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 33Work Breakdown Structure (WBS)A work breakdown structure is adeliverable-oriented grouping of the work involved in a project that defines the total scope of the project It provides the basis forPlanning and managing project schedules, costs, and changes Risk analysisOrganizational structure MeasurementConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 34WBSA WBS may be a diagram (graphical tree) or a text list (outline format).Graphical Tree format : the project as the root node, major components of the project as the main branches, and tasks/subtasks branch off from these.Outline format : uses a decimal numbering system•E.g., 3.1.5•0 is typically the top levelConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMA Full WBS StructureUp to six levels (3-6 usually) such asUpper 3 can be used by customer for reportingDifferent level can be applied to different usesE.g., Level 1: authorizations; 2: budgets;Concepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMWBS TypesWBS is usually organized aroundproject products (tools, tangible outputs, .) project phases (concepts, steps,..)project management process groups (initializing, developing, executing, closing) Product WBSEntity-oriented•E.g., Financial engine, Interface system, DB •Typically used by engineering managerProcess WBSActivity-oriented•E.g., Requirements, Analysis, Design, Testing •Typically used by project managersConcepts Estimation Scope WBS Decomp.Empirical ModelsScheduling RM QM SCMUnit 2 Software Project Management 37Example: Product WBSUnit 2 Software Project Management 38Example: Process WBSBackPrevious WBS in Outline Format1.0 Concept1.1 Evaluate current systems 1.2 Define Requirements1.2.1 Define user requirements 1.2.2 Define content requirements 1.2.3 Define system requirements1.2.4 Define server owner requirements 1.3 Define specific functionality1.4 Define risks and risk management approach 1.5 Develop project plan1.6 Brief Web development team2.0 Web Site Design3.0 Web Site Development4.0 Roll Out5.0 Support BackConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMExample WBS Organized by Project Management Process GroupsUnit 2 Software Project Management 41Work PackagesGeneric term for discrete tasks with definable end resultsTypically the “leaves”on the WBS tree Use the “one-to-two”rule1 or2 persons for 1 or 2 weeks Ideally shorter rather than longer2-3 weeks maximum for software projects 1 day minimumNot so small as to micro-manageBasis for monitoring and reporting progressCan be tied to budget items (with charge numbers)Resources (personnel) assignedConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 42Approaches to Developing WBS1. Using guidelines : Some organizations provide guidelines for preparing WBSs2. Analogy approach : Review WBSs of similar projects and tailor to our project3. Top-down approach : Start with thelargest items of the project and break them down4. Bottom-up approach : Start with the detailed tasks and roll them up5. Mind-mapping approach : Write down tasks in a non-linear format and then create the WBS structureConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMApproaches to Developing WBS(1) Using guidelines:(Example )DOD provide guidelines for preparing WBSs to the contractorsDOD guidelines require cost estimate for each task in the WBSAir force project requires contractors to list their proposal as follows:•Level 1 (hardware, software, training, ..)•Level 2 (all items under the hardware such as servers, workstations,…)•Suppliers have to follow these guidelinesConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMApproaches to Developing WBS(2) Analogy approach : (类比方法类比方法))It often helps to review WBSs of similar projectsUse a templateAnalogy can also be used as estimation basis Pros :•Based on past actual experienceCons :•Needs comparable projectsConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 45Approaches to Developing WBS(3) Top-down approach :Start with the largest items of the project and keep breaking them down into their subordinate elements Best if•The problem is well understood•Technology and methodology are not new •The current project is similar to an earlier projectThis approach is applicable to many projectsConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 46Approaches to Developing WBS(4) Bottoms-up approach :Start with the detailed tasks and roll them up How?•Team members first identify as many specific tasks related to the project as possible •Aggregate the specific tasks and organize them into summary activities (deliverables) This approach is recommended for new systemsCons : Time consuming; Needs more complete requirements Pros : DetailedConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMApproaches to Developing WBS(5) Mind-Mapping approach : Brainstorming•Generate all activities we can think of that need to be done•Group them into categoriesBoth Top-down and Brainstorming can be used on the same WBSConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMExample Mind-Mapping ApproachConcepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 49Basic Principles for Creating WBS1. A unit of work should appear at only one place in the WBS.2. The work content of a WBS item is the sum of the WBS items below it.3. A WBS item is the responsibility of only one individual , even though many people may be working on it.4. The WBS must be consistent with the way in which work is actually going to be performed.5. Project team members should be involved in developing the WBS to ensure consistency and buy-in.6. Each WBS item must be documented to ensure accurate understanding of the scope of work included and not included in that item.7. The WBS must be a flexible tool to accommodate inevitable changes while properly maintaining control of the work content in the project according to the scope statement.Ref.: Cleland, David I. Project Management: Strategic Design and Implementation , 1994Concepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 50WBSIf it’s not in the WBS,It’s not in the project !Concepts Estimation Scope WBS Decomp.Empirical Models Scheduling RM QM SCMResourcesprojectpeopleskillsnumberlocationreusable softwareOTS componentsfull-experience components new componentspart.-experience componentsenvironmenthardwaresoftware toolsnetwork resourcesConceptsEstimation Scope Decomp.Empirical Models Scheduling RM QM SCMProject EstimationProject scope must be understoodElaboration (decomposition) is necessaryHistorical metrics are very helpfulAt least two different techniques should be used Uncertainty is inherent in the processConcepts Estimation Scope Decomp.Empirical Models Scheduling RMQMSCMUnit 2 Software Project Management 53Estimation AccuracyPredicated on …the degree to which the planner has properly estimated the size of the product to be built. the ability to translate the size estimate into human effort, calendar time, and dollars (a function of the availability of reliable software metrics from past projects).the degree to which the project plan reflects the abilities of the software team.the stability of product requirements and the environment that supports the software engineering effort.Concepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 54Estimation TechniquesPast (similar) project experience Conventional estimation techniques task breakdown and effort estimatessize (e.g., FP) estimates Empirical models Automated toolsConcepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMFunctional Decompositionfunctional decompositionStatementof ScopePerform aGrammatical “parse ”Concepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMConventional Methods: LOC/FP ApproachCompute LOC/FP using estimates of information domain valuesUse historical data to build estimates for the projectConcepts Estimation Scope Decomp.Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 57LOC Counting in Historical ProjectsCount Logical linesinvariant to editing changecorrelate with development effort uniquely definable Not easy to count Count Physical lines easy to count not invariantnot uniquely definableConcepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 58A Counting StandardIf we have a defined coding standard: “use a physical line for each logical line”then, a physical line counting equals logical line countingCount all statements:begin, end, if, then, else, etc. {,}, ;, ., etc.count declarations, directives, headers, etc. Do not count blanks, comment lines,automatically generated code, or reused code Count new and changed code for measuring and estimating development productivityConcepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMAn Example 133200………Estimated LOC…3350………DBM 68008600690046003DGA 5300………2DGA 2300………UICF S=(S opt +4S m + S pess )/6S pess S m S opt Function Concepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMAn Example 2Average productivity for systems of this type = 620 LOC/pm .Burdened labor rate =$8000 per month , the cost per line of code is approximately $13. Based on the LOC estimate and the historical productivity data, the totalestimated project cost is $431,000and the estimated effort is 54 person-months .Concepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QMSCMUnit 2 Software Project Management 61LOC ApproachAdvantageSimple to measure Easy to automate DisadvantagesOnly defined for code, not the design Bad design may cause excessive LOC Language dependent (e.g., Basic vs C++) Does not account for functionality or complexityConcepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMUnit 2 Software Project Management 62Function Point EstimationA function point is an arbitrary unitbased on function types: inputs, outputs, internal files, external interfaces files, inquiries (The word 'file' refers to a logical grouping of related data.) scaled by simple, average, complexConcepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMCalculating FP1. determine numbers of each function type in the application2. judge the scale (simple, average, complex) and compute the raw FP, called Unadjusted Function Point (UFP )3. adjust for complexity , using 14 technical complexity factor (TCF )4. calculate the adjusted function point total, AFP=UFP ×(0.65+0.01×TCF)Concepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMUnadjusted Function Point Countingcomplexity multiplier function pointsnumber of user inputsnumber of user outputsnumber of user inquiriesnumber of filesnumber of ext.interfaces measurement parameter 3 4 3 7 5countweighting factor simple avg. complex 4 5 4 10 76 7 6 15 10= = = = =count-totalX X X X XConcepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMBackUnit 2 Software Project Management 65Taking Complexity into AccountFactors are rated on a scale of 0 (not important) to 5 (very important):data communications distributed functionsheavily used configuration transaction rate on-line data entry end user efficiencyon-line updatecomplex processing installation ease operational ease multiple sites facilitate changeConcepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMBackUnit 2 Software Project Management 66Example: FP Approach(1) and (2): estimate the number of raw FP as follows:input: 24×4=96outputs: 16×5=80inquiries: 22×4=88logical files: 4×10=40interfaces: 2×7=14unadjusted function points (UFP): 318 Assume all are average scale!Concepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMExample: FP Approach(3) adjust for complexity (influence factors): data communication: 2 on-line data entry: 4 complex processing: 5 operational ease: 5 facilitate change: 5 ……total influence factors: 52Complexity multiplier=0.65+52*0.01=1.17 (4) The adjusted FP (AFP): 318×1.17=372.06Concepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCMExample: FP ApproachAverage productivity for systems of this type = 6.5 FP/pm .Burdened labor rate =$8000 per month , the cost per FP is approximately $1230.Based on the FP estimate and the historical productivity data, the total estimated project cost is $457,920and the estimated effort is 57 person-months .Based on the LOC estimate and the historical productivity data, the totalestimated project cost is $431,000and the estimated effort is 54 person-months .Concepts Estimation Scope Decomp.LOC FP Others Empirical Models Scheduling RM QM SCM。