THE INFORMATION AGEThe old software ghosts that haunt usMANAGING REQUIREMENTSEnsure system requirements have been reviewed by software professionals before forging aheadEstablish and enforce a directive stating what must be done when dealing with system requirementsTrain those who have the responsibility of managing requirementsDocument project requirements and make them available to project team membersTake basic measurements of requirements management activities and by-productsInvolve quality assurance personnel when managing requirementsConduct reviews of requirements management activities and by-productsPLANNINGInvolve software professionals when the project is in its early conceptual stageInsist that a plan be prepared and specify what it should containEnsure the WBS is used properlyStart by estimating sizeEnsure that auxiliary resources have been factored into the plans Identify, evaluate and document risksEnsure management reviews commitments made to suppliers and customersEstablish and enforce a directive stating what must be performed in the course of planning a projectTrain those who must plan the projectEnsure that individuals and groups are informed of project commitments that affect themInvolve quality assurance personnel during project planningEnsure that management reviews project planning activities and by-productsTRACKING PROGRESSEnsure management reviews changes to commitments made to suppliers and customersEnsure that individuals and groups are informed of changes to project commitments that affect themEnsure that internal project reviews are held to track progressTrack risksInstitutionalize formal reviewsTake measurementsEstablish clear roles and responsibilitiesEstablish quality assurance to help monitor project tracking and supervisionState what is expected at the organizational level in terms of project monitoringASSURING QUALITYEstablish a quality policy Assign the responsibility of assuring qualityTrain personnel assigned to assuring qualityPrepare and implement a quality assurance planDocument non-compliant itemsCommunicate quality assurance activities and resultsHave quality representatives interface with customersInstitute senior management reviews of quality assurance activitiesRELEASING PRODUCTS, DEPLOYING SERVICES AND CONTROLLING CHANGESEstablish a repository for baselinesIdentify what items will be placed under formal change controlAssign release and change control to someoneHave a plan for controlling deliverables and essential work productsDocument change requests and problem reportsControl changes affecting baselinesDocument what the release and change control repository containsConduct baseline auditsSpecify what is minimally acceptable in terms of release and change controlCONTRACTING OUTEstablish and enforce a directive describing at a high level the steps to take for contracting work outInsist on having the supplier submit a planAgree with the supplier on how progress will be tracked and how contractual changes will be madeHold progress and coordination reviews with suppliersConduct periodic formal reviews with suppliersInvolve quality assurance personnel and personnel responsible for release and change controlEnsure that acceptance tests of suppliers' deliverables are performed, complete, and documentedTrain those responsible for the selection and management of suppliersDEVELOPING PRODUCTSDefine the format that work products must follow Ensure that appropriate methods and tools are available State what is expected in terms of adherence to development processesTake the time to train members of the technical staff on how to perform their tasksEnsure that comprehensive software requirements have been developed before moving onDevelop operational and user documentation early onPlan testing activities and test thoroughlyCollect and analyze defectsMeasure, measure and measure, but with circumspectionInvolve quality assurance personnel throughoutPeriodically review development activities and resultsCOORDINATINGDocument stakeholders' involvement and their commitmentsDefine how issues will be handledEnsure that the tools used by the various stakeholders are compatibleTrain managers in teamworkEnsure that software professionals are represented when defining system requirements with the customerImplement regular reviews with representatives of the various groups involved in the initiativeIdentify and manage critical dependencies between stakeholdersCommunicate again and againManage expectations form the startREVIEWING AND INSPECTINGMandate reviews and inspectionsTrain peer review participantsAssign peer review leaders, especially when there are many reviewersEnsure peer reviews are in the planFollow the planCollect dataMake sure that quality assurance is part of the processPROVIDING SERVICES TO CUSTOMERSSeek, compile and review feedback from customersAnalyze, document and communicate customers' needsEnsure that information provided by customers remains privateFOCUSING ON PROCESSESMake it clear for everyone that improving is a priority Periodically assess your IT development and maintenance process Prepare a plan of action Implement the plan to define and improve organizational processes Establish a library of process-related documentation Establish a historical measurements repository Provide training and support as processes are deployedTRAINING PERSONNELConvey the importance of training and how it will be provided Assign the responsibility for coordinating training and make a planDeliver and track planned trainingMaintain and regularly review personnel training recordsPeriodically assess the training relevance and qualityMANAGING IT INITIATIVESMandate that every IT initiative use a management approach based on the organizational standardProvide tailoring support and trainingDistribute the tailored process to everyone in the teamHarmonize performance and needsMeasure the effectiveness of the organizational management approachBUILDING A CULTUREDocument and communicate the type of behavior valued by the organizationHold frequent meetings between management and personnelShare goals and results achieved by the organization with personnelDefine and deploy logical and flexible operating proceduresTHE REALITY OF INFORMATION TECHNOLOGY INITIATIVESResults OverviewGovernment vs. Private Industry-Services vs. Product Development-Small vs. LargeDetailed ResultsSoftware Quality IndexPotential Instances of ProblemsPotential Failure ModesON PROBABILISTIC RISK IDENTIFICATION, MAPPING AND EVALUATIONThe complexity of preventing losses and making the most of opportunitiesPRIMEApplication to information technologyThe CMMThe Taxonomy-Based Risk Identification ConclusionANNEX A: A CRASH COURSE IN STATISTICAL PROCESS CONTROLQuantitatively managing processesQuantitatively managing qualityANNEX B: RISK ASSESSMENT AND ESTIMATION OF LOSSES