Ha Nu

download Ha Nu

of 29

Transcript of Ha Nu

  • 8/14/2019 Ha Nu

    1/29

    Qwertyuiopasdfghjklzxcvbnmqweyuiopasdfg11111223444hjklzxcbnmqwertyuiopasdfghjklzxcvbn

    mqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwert

    uiopasdfghjklzxcvbnmqwertyuio

    asdfghjklzxcvbnmqwertyuiopasfghjklzxcvbnmqwertyuiopasdfghklzxcvbnmqwertyuiopasdfghjklzx

    vbnmqwertyuiopasdfghjklzxcvbmqwertyuiopasdfghjklzxcvbnmq

    wertyuiopasdfghjklzxcvbnmqwert

    uiopasdfghjklzxcvbnmqwertyuioasdfghjklzxcvbnmqwertyuiopasfghjklzxcvbnmqwertyuiopasdfghklzxcvbnmqwertyuiopasdfghjklzx

    112344434551

    Homework 1

    MANAGING

    SOFTWARE PROJECTS

    [22-SEPT-2009]SUBMITTED TO:-.. MS. KAMINISUBMITTED BY:-

    VIPLAVROLLNO:-RA3803A06

    11111 | P a g e

  • 8/14/2019 Ha Nu

    2/29

    Homework 1

    Part A:-Q1 :-> Illustrate the concept of Software projects Management?

    Why managing of software project is important?

    ANS:- SOFTWARE PROJECTMANAGEMENT: -

    Project management is a carefully planned andorganized effort to accomplish a specific one-time objective.

    For example, construct a building or implementa major new computer system. Projectmanagement includes developing a project

    plan, which includes defining and confirmingthe project goals and objectives, identifyingtasks and how goals will be achieved,quantifying the resources needed, anddetermining budgets and timelines for

  • 8/14/2019 Ha Nu

    3/29

    completion. It also includes managing theimplementation of the project plan, along withoperating regular 'controls' to ensure that there

    is accurate and objective information on'performance' relative to the plan, and themechanisms to implement recovery actionswhere necessary. Projects usually follow majorphases or stages including feasibility,definition, project planning, implementation,

    evaluation and support/maintenance. (Programplanning is usually of a broader scope thanproject planning, but not always - note: theterms program and programme have significantvariations in their meaning in differentgeographical areas, e.g. Europe and USA.)

    Q2:->Explain the series of stepsof ISO 12207 Softwaredevelopment life cycle?

    ANS: - ISO 12207 is an ISO standard for software lifecycle processes . It aims to be 'the' standardthat defines all the tasks required fordeveloping and maintaining software.

    http://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Software_Lifecycle_Processeshttp://en.wikipedia.org/wiki/Software_Lifecycle_Processeshttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Software_Lifecycle_Processeshttp://en.wikipedia.org/wiki/Software_Lifecycle_Processes
  • 8/14/2019 Ha Nu

    4/29

    The ISO 12207 standard establishes a processof lifecycle for software, including processesand activities applied during the acquisition and

    configuration of the services of the system.Each Process has a set of outcomes associatedwith it. There are 23 Processes, 95 Activities,325 Tasks and 224 Outcomes.

    The standard is based on two basic principles:

    modularity andResponsibility.Modularity means processes withminimum coupling and maximum cohesion .

    Responsibility means to establish aresponsibility for each process, facilitating theapplication of the standard in projects wheremany people can be legally involved.

    Primary lifecycle processes:- These processes are divided into five different mainprocesses:

    AcquisitionAcquisition covers the activities involved ininitiating a project. The acquisition phase can bedivided into different activities and deliverablesthat are completed chronologically.

    Initiation: during this activity the followingtasks are completed

    http://en.wikipedia.org/wiki/Coupling_(computer_science)http://en.wikipedia.org/wiki/Cohesion_(computer_science)http://en.wikipedia.org/wiki/Coupling_(computer_science)http://en.wikipedia.org/wiki/Cohesion_(computer_science)
  • 8/14/2019 Ha Nu

    5/29

    The need is described why to acquire, develop,or enhance a product;

    Supply:-

    During the supply phase a project management plan is developed. This plan containsinformation about the project such as differentmilestones that need to be reached.

    This project management plan is needed duringthe next phase which is the developmentphase.

    3. Development :- During the development phase the softwareproduct is designed, created and tested and willresult in a software product ready to be sold tothe customer. Throughout time many peoplehave developed means of developing asoftware application. The choice of developing

    method often depends on the present situation. The development method which is used inmany projects is the V-model . Techniques thatcan be used during the developmentare UML for designing and TMap for testing.

    This entry contains the most important steps of the V-model .

    Coding :-1.The code is created according to the high

    level design and the module design.2. Execute Module test

    http://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Software_developmenthttp://en.wikipedia.org/wiki/Software_developmenthttp://en.wikipedia.org/wiki/Software_developmenthttp://en.wikipedia.org/wiki/V_modelhttp://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://eng.tmap.net/Home/http://en.wikipedia.org/wiki/V_modelhttp://en.wikipedia.org/wiki/Computer_programminghttp://en.wikipedia.org/wiki/Unit_testhttp://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Software_developmenthttp://en.wikipedia.org/wiki/Software_developmenthttp://en.wikipedia.org/wiki/V_modelhttp://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://eng.tmap.net/Home/http://en.wikipedia.org/wiki/V_modelhttp://en.wikipedia.org/wiki/Computer_programminghttp://en.wikipedia.org/wiki/Unit_test
  • 8/14/2019 Ha Nu

    6/29

    Operation:- The operation and maintenance phases occursimultaneously, the operation-phase consists of

    activities like assisting users in working with thecreated software product.

    Maintenance:- The maintenance-phase consists of maintenance-tasks to keep the product up and running. Themaintenance includes any general enhancements,changes and additions, which might be required bythe end-users.Deliverables:-

    The different deliverables that are developed peractivity are explained in this chapter.

    High level design ;

    1.Module design: during this activity thefollowing deliverables are developed:

    2.Module design;3. Coding : during this activity the following

    deliverables are developed:

    Code ;

    1. Module test : during this activity the followingdeliverables are developed:

    2.Module test report, this test report containsthe test-results which are formed after a

    http://en.wikipedia.org/wiki/High-level_designhttp://en.wikipedia.org/wiki/Computer_programminghttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Unit_testhttp://en.wikipedia.org/wiki/High-level_designhttp://en.wikipedia.org/wiki/Computer_programminghttp://en.wikipedia.org/wiki/Computer_softwarehttp://en.wikipedia.org/wiki/Unit_test
  • 8/14/2019 Ha Nu

    7/29

    module test of the application. Based on thistest-report the project-team can decide whichaction to undertake further.

    Integration test : during this activity thefollowing deliverables are developed:

    1.Module test report, this test report containsthe test-results which are formed after anintegration test of the application. Based onthis test-report the project-team can decide

    which action to undertake further.System test : during this activity thefollowing deliverables are developed:

    2. System test report;

    Example:-

    The method presented in this entry can be used ina company that is responsible for creating andmaintaining a software product for a customer.Especially when this company decides to build anapplication from scratch and that maintenance andassisting in the operation is also done by thecompany.

    http://en.wikipedia.org/wiki/Integration_testinghttp://en.wikipedia.org/wiki/System_testinghttp://en.wikipedia.org/wiki/Integration_testinghttp://en.wikipedia.org/wiki/System_testing
  • 8/14/2019 Ha Nu

    8/29

    Q3:-> identify the objectives and problems which are going to be

    handled by the software projects?ANS:- THE MAIN OBJECTIVES:-

    The starting point for any software project is toknow what youre actually trying to achieve. Thispost is going to look at how to go about collecting

    the objectives of a project. The objective (or objectives) of a project arewhat you are trying to achieve by completingsaid project. They should not be confused withanything. Those are the deliverables of theproject, not its objectives.

    Stating the objectives:- The objectives should be statements,preferably short, that encapsulate part, or all,of what you are trying to achieve with theproject. They should be as concise and clearlystated as you can make them. Use the shortestwords and the simplest language that you can.

    Then print them out and stick them somewherevisible. It is worth having the objectivessomewhere prominent so that you can easilycheck whether what you are doing fits with theobjectives.

  • 8/14/2019 Ha Nu

    9/29

    An example might be that youre building anautomated software system for detecting stars

    and galaxies in astronomical data. Yourobjectives here could be:

    1 find the sky locations where there is likelyto be a star or galaxy, given the data2 estimate the flux (brightness) of eachsource3 use the data to decide whether the source isa star or a galaxy

    It is worth spending time getting yourobjectives clear because if they are wrong orincomplete, then the impact will be enormous.A clear set of objectives will help you solveproblems that occur later in the development

    process because it will allow you to checkwhether the problem, or its solution, fits withthe objective. On the other hand, software withclear objectives is often a pleasure to readbecause the people writing the codeunderstand what theyre aiming to achieve.

    Making your objectives clear from thebeginning also helps reduces the chance theywill need to be changed during the projectbecause you will already have thought themthrough thoroughly. Even if the objectives doneed to change, which does happen from time

  • 8/14/2019 Ha Nu

    10/29

    to time as you start to implement your solution,clear objectives will allow you to spot thisnecessity rapidly and act before you go too far

    down the wrong path.

    When an objective must change, you should dotwo things.Firstly, dont worry about it.Secondly, stop as soon as you realise theobjectives have changed and work out theimplications of the change.

    The objectives are more likely to changetowards the beginning of the project as youwork out the requirements and design (wellcome to this later; one step at a time!) andwhen you begin implementing the solution.

    In conclusion, clear objectives are the basis of writing successful software. They are thecompass by which the project is steered and, if we can continue the nautical analogy, will helpyou navigate the difficult waters of development.

    Q4 :-> Outline the various activitiesto be performed at each level of step wise planning of projects?

  • 8/14/2019 Ha Nu

    11/29

    ANS:- Three Stepwise phases for implementationease From our initial meeting to project closure,Lawson Stepwise ensures execution is seamless,

    and nothing is overlooked. The StepWise methodoccurs throughout the following three phasesdefine, establish, and execute, as illustrated in thetable below:

    1. Define phaseDuring the Define (or Sales) phase, we invest thetime it takes to develop a thorough understandingof your business needs and objectives. At the sametime,we save time and simplify communication bycapturing what we learn about your organizationand your business in the following detailedmaterials:Statement of WorkA document that defines roles, responsibilities,andthe detailed scope of the project.Project Plan and Budget

  • 8/14/2019 Ha Nu

    12/29

    A specific time, budget and activity plan that takesinto consideration input from the Statement of Work and your business priorities.

    Learning Strategy and PlanEnsures the learning strategy is discussed andagreed upon. StepWise initiates training nearproject onset to quickly get IT specialists and endusers up to speed on the application.IT Solution DescriptionDefines what the overall IT landscape and solutionwill look like when the project progresses.2. Establish phase

    The Establish phase provides a rapid project kick-off based on Define phase activities, and involvesteam training and solution approval. Establishphase deliverables include:Project Member Training

    Know-how is key to success. Lawson has mappedout progressive courses that get you smart on yourLawson system fast. Designated IT specialists,project team members and end users can attendlearning camps, workshops, and learning labs on-or off-site.Approved Solution

    Your project team conducts an approvedacceptance test to demonstrate that the solutionhas been configured to meet the Statement of Work. You approve the solution at the end of asuccessful test by signing off on the test.

  • 8/14/2019 Ha Nu

    13/29

    3. Execute phaseNew-solution execution is the ultimate objective.During the Execute phase, we test the final

    solution, train the entire organization, prepare forstart-up, and close the project. Execute phasedeliverables include:

    System TestConducted by process owners and key users in acontrolled IT environment with a full database, thesystem test is used to approve configured solutionperformance.End-User TrainingRun by your project team members or byLawsonconsultants. StepWise provides end-user trainingplans, job instructions, learning simulations, andcourse evaluations.Full-Scale TestFinal test before go-live to ensure solution operatesaccording to plan. End users perform the test in anoperational IT environment using a full operationalsolution with each end user at their normalworkplace.Closing the ProjectFormally conducted once completion criteria foreach of the Execute phase deliverables is achieved.

  • 8/14/2019 Ha Nu

    14/29

    Q5:-> illustrate the concept of feasibility study? Why it is

    important to go with this study? ANS:- The feasibility study is an investigation

    that results in a written document that:1.Defines the scope of the problem.2.Identifies the elements of the problem.3.Identifies the evaluative criteria.

    Possible criteria include: the impact on theenvironment, safety and manufacturability;the political climate; the possible difficultiesin the design phase; and appraisal of thereturn (profit) on investment.

    4.Identifies possible alternative solutions.5.Evaluate each solution with the criteria.

    The goal of the feasibility study is to discoverpossible solutions and to determine which of these appear to have promise and which arenot feasible, and why.

    Each alternative is examined to determinewhether or not it can be physically achieved,

    whether its potential usefulness iscommensurate with the costs of making itavailable, and whether the return on theinvestment warrants its implementation. Thefeasibility study is in effect a pilot projectwhose primary purpose is to seek information

  • 8/14/2019 Ha Nu

    15/29

    pertinent to all possible solutions to theproblem. After the information has beencollected and evaluated, and after the

    undesirable design possibilities have beendiscarded, the engineer still may have severalalternatives to consider - all of which may beacceptable.

    During the generation of ideas, the engineerhas intentionally avoided making any finalselection in order to have an open mind for all

    possibilities and to give free rein to the thoughtprocesses. Now the number of ideas must bereduced to a few - those most likely to besuccessful, those that will compete for the finalsolution.

    Software Engineering

    Feasibility StudySoftware developers have learned that thetraditional engineering feasibility study is notusually appropriate for software development.For example, software rarely has impact on theenvironment in the same manner as a chemicalplant. Manufacturability is usually a non-issue.How much does it cost to copy a diskette?

    Therefore, software companies have developedtheir own variety of the feasibility study. Belowis one based on Roger S. Pressman'sbook Software Engineering: A Practitioner's

  • 8/14/2019 Ha Nu

    16/29

    Approach [fourth edition, McGraw-Hill, 1997,pages 253-259, in Bucknell's library on reservefor our course].

    Part BQ1 :-> How one can estimate theeffort and activity risk for each

    activity used in step wise planning of projects?

    ANS:- Effort Estimation:-Because software effort estimates are requiredwhen the requirements and design are still veryimmature, it is extremely important that more thenone estimate be generated to establish the BOE. Itis recommended that two to three different types of estimates be derived:

    A traditional engineering estimate typicallybased on a bottom-up decomposition,

    Model based estimate, and Analogical comparison to other similar tasks.

    The engineering software estimate typically uses astraightforward methodology to derive effort, cost,and schedule. This includes analogy, engineering

  • 8/14/2019 Ha Nu

    17/29

    buildup, or Rules of Thumb. Analogy comparesthe project at hand to comparable projects. Theestimate then may be adjusted to account for any

    obvious differences (e.g., estimated size orcomplexity). Engineering buildup leveragesexpertise of people who have experience insoftware development. These experts apply theirbest judgment to estimate the duration and effortrequired to complete the project. The analysis maybe broken down into work packages, modules, oractivities to achieve greater granularity andaccuracy. CERs, or rules of thumb, use simplefactors such as productivity metrics, percentages,or multipliers that are easily applied to size,staffing, or other estimate data to derive cost,effort, and schedule.

    JPL and other Centers, e.g. JSC, track the size of

    development efforts and can derive a size estimatebased on analogy to the historical data. Sizing byanalogy, however, does not address all the relevantissues. What requires effort is the amount of codethat needs to be written, modified and tested, notthe amount of code that gets delivered. Toestimate the development effort the number of Equivalent SLOC needs to be derived, which isbased on weighting the cost of an inherited linerelative to the cost of delivering a new line of code.Historically, there is a tendency to over estimatethe amount of inheritance and to underestimate thecost of inheritance, so be conservative. The cost

  • 8/14/2019 Ha Nu

    18/29

  • 8/14/2019 Ha Nu

    19/29

    computing the mean of the distribution. Mostparametric cost models have this feature built-in. If you do not have access to Monte Carlo or statistical

    software, then an easy to compute heuristic is donewith the use of Program Evaluation and Review Technique (PERT), which calculates the mean as

    Software Class

    Mean SWDevelopmentProductivity(SLOC/WM)

    Range SWDevelopmentProductivity(SLOC/WM)

    Mission CriticalFlight SW 125 13-467

    Mission SupportFlight SW

    184 80-262

    DSMS 197 148-347

    Mission CriticalGround SW

    239 116-519

    Mission SupportGround SW

    295 103-607

    DevelopmentSupport GroundSW

    157 129-207

    Exhibit 6-12: Software DevelopmentProductivity for JPL and NASA AverageProjects (Equivalent Logical SLOC)

  • 8/14/2019 Ha Nu

    20/29

    Finally to the development effort should be addedall the additionally activities related to adevelopment lifecycle such as the SoftwareManagement effort and maintenance(sustainment). This arrives at the total work effort(labor months).

    ACTIVITY RISKS:-

    IDENTIFY AND QUANTIFY ACTIVITYACITIVITY BASED RISKS

    PLAN RISK REDUCTION ANDCONTINGENCY MEASURES WHEREAPPROPRIATE

    ADJUST OVERALL PLAN AND ESTIMATE

    TO TAKE ACCOUNT OF RISKS

    Q2 :-> Discuss the concept of programme management? Howthese programmes are created and manage the allocation of resources within these

    programmes?

  • 8/14/2019 Ha Nu

    21/29

    ANS:- Programmanagement or programme

    management is the process of managingseveral related projects , often with the intention of improving an organization's performance. Inpractice and in its aims it is often closely relatedto Systems engineering .

    There are two different views of how programsdiffer from projects. On one view, projects deliveroutputs; programs create outcomes. [1] . On thisview, a project might deliver a new factory, hospitalor IT system. By combining these projects withother deliverables and changes, their programsmight deliver increased income from a newproduct, shorter waiting lists at the hospital orreduced operating costs due to improvedtechnology. The other view [2] is that a program isnothing more than either a large project or a set (orportfolio) of projects. On this second view, the pointof having a program is to exploit economies of scale and to reduce coordination costs and risks.

    The project manager's job is to ensure that theirproject succeeds. The programme manager, on the

    other hand, may not care about individual projects,but is concerned with the aggregate result or end-state. For example, in a financial institution aprogramme may include one project that isdesigned to take advantage of a rising market, and

    http://en.wikipedia.org/wiki/Projecthttp://en.wikipedia.org/wiki/Systems_engineeringhttp://en.wikipedia.org/wiki/Program_management#cite_note-0http://en.wikipedia.org/wiki/Program_management#cite_note-1http://en.wikipedia.org/wiki/Projecthttp://en.wikipedia.org/wiki/Systems_engineeringhttp://en.wikipedia.org/wiki/Program_management#cite_note-0http://en.wikipedia.org/wiki/Program_management#cite_note-1
  • 8/14/2019 Ha Nu

    22/29

    another to protect against the downside of a fallingmarket. These projects are opposites with respectto their success conditions, but they fit together in

    the same programme.According to the view that programs deliveroutcomes but projects deliver outputs, programmanagement is concerned with doing the rightprojects, whereas project management is aboutdoing projects right. And also according to thisview, successful projects deliver on time, to budget

    and to specification, whereas successfulprogrammes deliver long term improvements to anorganisation. Improvements are usually identifiedthrough benefits. An organization should select thegroup of programs that most take it towards itsstrategic aims whilst remaining within its capacityto deliver the changes. On the other hand, the viewthat programs are simply large projects or a set of projects allows that a program may need to delivertangible benefits quickly.Consider the following set of projects:

    design of the new product - this delivers a designspecification,modifications to the production line or factory -delivers a manufacturing capability,marketing - delivers advertisements, brochuresand pamphlets,staff training - delivers staff trained to sell andsupport the new product.

    http://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Project_management
  • 8/14/2019 Ha Nu

    23/29

    One view has it that these are different projectswithin a program. But in practice they can just aswell be managed as sub-projects within a single

    project. Which approach to choose? Programmeand project management are both practicaldisciplines, and the answer to such a question mustbe "whatever works." What works depends verymuch on the nature of the organization in which theproject or program is run. Typically a program isbroken down into projects that reflect theorganization's structure. The design project will berun by the design team, the factory will manage themodifications to the production line, and so on.Organizational structure and organizational cultureare key factors in how to structure a program.

    The distinction between the terms "outcome" and"output" is far from clear, except in a trivial sense.Each of the projects listed in the example above isdesigned to deliver some 'thing', known as a'deliverable' or an 'output', and together theyimprove the organization. Where one draws the linebetween the complete single benefit that causesthe improvement and its component parts is partlya matter of preference and partly a matter of theculture and structure of the organization. Either

    way, benefits will normally be enjoyed long afterthe end of the program and all of its componentprojects. The point is that to achieve maximumbenefits, there must be an integration of parts intoa whole. Whether this integration is managed in

  • 8/14/2019 Ha Nu

    24/29

    something that is called a project or a programmeis of secondary importance to understanding thebenefits and managing the process of integration

    well.Many programs are concerned with delivering acapability to change. Only when that capability istransferred to the line management and utilised bythe host organization will the benefits actually bedelivered. On this view, a program team cannot, ontheir own, deliver benefits. Benefits can only be

    delivered through the utilisation of a newcapability.Programs are normally designed to deliver theorganization's strategy, such as an ambition to bethe fourth biggest supermarket in a regio by 2015or reduce wastage by 5% in two year's time.Program management also emphasises the

    coordinating and prioritizing of resources acrossprojects, managing links between the projects andthe overall costs and risks of the program.Program management may provide a layer abovethe management of projects and focuses onselecting the best group of projects, defining themin terms of their objectives and providing an

    environment where projects can be runsuccessfully. Program managers should notmicromanage, but should leave projectmanagement to the project managers.

    http://en.wikipedia.org/wiki/Line_managementhttp://en.wikipedia.org/wiki/Line_management
  • 8/14/2019 Ha Nu

    25/29

    Q3 :-> Discuss the various cost benefit evaluation techniques?ANS:- Since many parts of the architectureevaluation steps of the Cost Benefit AnalysisMethod (CBAM) depend on the stakeholdersempirical knowledge and intuition, it is veryimportant that such an architecture evaluationmethod be able to faithfully reflect the knowledgeof the experts in determining Architectural Strategy(AS). However, because CBAM requires thestakeholders to make a consensus or vote forcollecting data for decision making, it is difficult toaccurately reflect the stakeholders knowledge inthe process. In order to overcome this limitation of

    CBAM, we propose the two new CBAM-basedmethods for software architecture evaluation,which respectively adopt the Analytic HierarchyProcess (AHP) and the Analytic Network Process(ANP). Since AHP and ANP use pair-wise comparisonthey are suitable for a cost and benefit analysis

    technique since its purpose is not to calculatecorrect values of benefit and cost but to decide ASwith highest return on investment. For that, we firstdefine a generic process of CBAM and developvariations from the generic process by applying

  • 8/14/2019 Ha Nu

    26/29

    AHP and ANP to obtain what we call the CBAM+AHPand CBAM+ANP methods. These new methods notonly reflect the knowledge of experts more

    accurately but also reduce misjudgments. A casestudy comparison of CBAM and the two newmethods is conducted using an industry softwareproject. Because the cost benefit analysis processthat we present is generic, new cost benefitanalysis techniques with capabilities and

    characteristics different from the three methods weexamine here can be derived by adopting variousdifferent constituent techniques.

    Q4 :-> How the risk can beevaluated in managing the

    project programme?ANS:- Risk is everywhere, so we cannot avoid it,only manage to deal with it in the best possiblemanner. In software development, the mostvaluable projects are always the most risky. Thereare two general areas in which risk can be

    categorized.Some of the risks are known, either precisely orwithin a range of parameters. For example, thecost per day for each category of workerinvolved in the project is well-known. This type

  • 8/14/2019 Ha Nu

    27/29

    of risk is not difficult to manage, and mostmanagers have a great deal of experiencehandling them, so very little of the book deals

    with them. The second category are those risks that arelargely unknown. These are items like the riskof mission critical software suffering acatastrophic failure to large, unexpected costoverruns. It is this category that is examined indetail in this book. Of course, the boundariesbetween these categories are extremelysubjective and situation dependent. A smallcompany with limited financial resources wouldconsider a smaller cost overrun to be criticalthan a company more capable of taking a largefinancial risk.After the initial explanation that riskmanagement is necessary, the next step istrying to quantify the risks. This involves chartsof likelihood of delivery time that resemblenormal distribution curves. Using such chartsallows any prediction to include some naturalwiggle room, which eliminates one of the mostrecurring and frustrating problems.

    Development managers are commonly asked togive a date for product delivery, and that datebecomes fixed in stone. Upper echelons arenotorious for hearing only the we can deliver onAugust first part of the message and ignoringthe remaining, provided all the planets are in

  • 8/14/2019 Ha Nu

    28/29

    alignment, there is no snow in January and noone takes a day off part of the message.Expressing the date in a diagram of this form

    means that it is impossible to see the datewithout also seeing the estimated range. The authors have also developed a riskassessment tool called RISKOLOGY, which canbe freely downloaded from the companion website. While the tool is not described in completedetail, there is enough background for you tobe able to use it quickly. Chapter 13 deals withthe core risks of software projects. The fiverisks listed are:

    * None of these risks is any surprise to experiencedmanagers, although including them was necessaryand the authors do a good job in explaining them.Chapter 14 puts forward a process for discovering

    risks, which is excellent and in the realm of how tolearn what it is that you dont know. It is thisapproach that will separate those who succeedfrom those who must resort to faking success. Thegreatest and most dangerous risks are those neverconsidered as possible events. Catastrophebrainstorming followed by scenario analysis is thestrategy that the authors put forward.As a mathematician, I was pleased to see that theconcept of probability is used to perform the riskanalysis. Probability charts are used throughout thebook to demonstrate the concepts and of coursethis more accurately describes our knowledge of

  • 8/14/2019 Ha Nu

    29/29

    the future. Nothing in life is certain, so theprobability limits need to be placed around everyevent.

    The software project without risk is so dull anduninteresting that no one with any talent would gonear it. So, if you have talent, gear up by buyingthis book and plunge forward to take on theenormous challenges of making software thatmatters to the world.