CS 458 - Week 9 Lecture 2 - 2016-10-20

...continuing discussion of Jalote Chapter 5, planning a software project;

*   The Quality Plan is the set of quality-related
    activities that a project plans to do to
    achieve the quality goal...

*   defect: a defect could be some problem in the software
        that causes it to crash, or a problem in its interface,
	or as small as misspelled word --

	the exact definition CAN be project-dependent,
	and on the STANDARDS the team developing the project
	is using;

*   defect injection?
    *   before a project starts, it has NO defects;

    *   once you do start it -- yes, even the early
        stages --
	defects are INJECTED (not on purpose!) into
	the software during the different phases of the
	project;

    *   these defects are removed (we hope?) through
        QUALITY CONTROL (QC) activities;

        examples of QC activities for defect removal:
	*   requirements reviews
        *   design reviews
        *   code reviews
	*   unit testing
        *   integration testing
	*   system testing
	*   acceptance testing, 
	etc.

*   would LIKE software with LOW DEFECT DENSITY;
    how ensure?
    *   reduce the defects being injected,
    *   increase the defects being removed...!

*   a common approach for quality planning:
    *   specify the QC activities to be performed
    *   have suitable guidelines for performing each of	
        the QC tasks
    *   then carry these out in accordance to the
        above during the project...!

    in effect, the quality plan is the
    above plus what process and guidelines are
    to be used for performing the QC tasks;
    *   and includes schedulable tasks related to this
        in the detailed project schedule;

=============
RISK Management Planning!
*   risk - "an exposure to the chance of injury or loss"

    risk implies that there is a possibility that something
    negative may happen -- for a sw project,
    "negative" implies an adverse effect
    on COST, QUALITY, or SCHEDULE;

    *   risk management: an attempt to minimize the chances of
        failure due to unplanned events

    *   risk also implies that this area is dealing with events
        that are infrequent, somewhat out of the project management's
	control;

    *   risk management revolves around
        risk assessment (what are the risks, and their likelihood?)
	and risk control (what are we going to do about them?)

*   risk assessment goal:
    to prioritize the risks so attention & resources can be
        focused on the MORE risky items

    *   steps in risk assessment:
        *   risk identification
        *   risk analysis
        *   prioritization

    *   how identify risks?
        *   look at checklists of possible risks,
	*   surveys
	*   meetings
	*   brainstorming
	*   reviews of various types

*   we talked/walked through Boehm's whole top 10
    software riskss list;

    gold plating - adding features to the software
        that are only marginally useful

*   also note the description of
    qualitative risk prioritization
    discussed very briefly in class,
    and more in Jalote Chapter 5;