10.Process Product Quality Assurance

Embed Size (px)

Citation preview

  • 8/13/2019 10.Process Product Quality Assurance

    1/54

    Software Quality Assurancefor

    Process and Product QualityAssurance

    Magister Teknologi Informasi

  • 8/13/2019 10.Process Product Quality Assurance

    2/54

    Staged Representation

    Provides a defined

    roadmap for organizationalimprovement Lower level processes are

    more critical to repeatable

    success

    Higher level processes build onthe lower level processes

    Level4Quantitatively

    Managed

    Level1Performed

    Level2Managed

    Level5Optimizing

    Level3Defined

    CausalAnalysisandResolution

    OrganizationalInnovationandDeployment

    QuantitativeProjectManagementOrganizationalProcessPerformance

    RequirementsDevelopmentTechnicalSolutionProductIntegrationVerificationValidationOrganizationalProcessFocusOrganizationalProcessDefinitionOrganizationalTrainingRiskManagementIntegratedProjectManagement(forIPPD*)IntegratedTeaming*IntegratedSupplierManagement**DecisionAnalysisandResolutionOrganizationalEnvironmentforIntegration*

    RequirementsManagementProjectPlanningProjectMonitoringandControlSupplierAgreement

    ManagementMeasurementandAnalysisProcessandProductQuality

    AssuranceConfigurationManagement

  • 8/13/2019 10.Process Product Quality Assurance

    3/54

    Topics

    SQA Software Quality Assurance

    Soft Inspection & Reviews (Verification)

    SQM Software Quality Management

    Defect Prevention

  • 8/13/2019 10.Process Product Quality Assurance

    4/54

    CMMI-Process and ProductQuality Assurance (PPQA)

    The purpose of PPQA is to provide staff andmanagement with objective insight into

    processes and associated work products

    The Process and Product Quality Assurance

    process area supports the delivery of high-

    quality products by providing project staff and

    managers at all levels with appropriate visibility

    into, and feedback on, processes andassociated work products throughout the life of

    the project.

  • 8/13/2019 10.Process Product Quality Assurance

    5/54

    CMMI-Process and ProductQuality Assurance (PPQA)..

    Activities: Objectively evaluating performed processes andwork products against applicable process

    descriptions, standards, and procedures

    Identifying and documenting noncomplianceissues

    Providing feedback to project staff and managerson the results of quality assurance activities

    Ensuring that noncompliance issues areaddressed

  • 8/13/2019 10.Process Product Quality Assurance

    6/54

    Specific Goal and Practice

    SG 1 Objectively Evaluate Processesand Work Products

    SP 1.1 Objectively Evaluate Processes

    SP 1.2 Objectively Evaluate Work Products SG 2 Provide Objective Insight

    SP 2.1 Communicate and ResolveNoncompliance Issues

    SP 2.2 Establish Records

  • 8/13/2019 10.Process Product Quality Assurance

    7/54

    PPQA vs. Verification

    The practices in PPQA ensure that plannedprocesses are implemented, while the practices in

    the Verification process area ensure that specified

    requirements are satisfied.

    These two process areas can on occasion addressthe same work product but from different

    perspectives.

    Projects should take advantage of the overlap to

    minimize duplication of effort while taking care to

    maintain separate perspectives

  • 8/13/2019 10.Process Product Quality Assurance

    8/54

  • 8/13/2019 10.Process Product Quality Assurance

    9/54

    Software failures from time to time

    RMI (random memory initiation) Boeing 737-300 crashed in M1 England, April 1989

    Denver International Airport, Feb 1994

    Air-Traffic Control System in LA Airport, Sept

    04 Southwest Airline crash in Chicago, Dec 05

    Software failure at Atlanta's Hartsfield-JacksonAirport, Apr 06

    MS Excell 2007 multiplication bugs Volvo Cars: software engine failure, Sept 09

  • 8/13/2019 10.Process Product Quality Assurance

    10/54

    Volvo Recall Sept 2009

    Volvo Cars of North America is recallingabout 12,000 vehicles, made between

    March 2007 and August 2009, because

    of problems with electronic software thatcould keep the fuel pump from starting.

    The defect could cause the engine to

    stall, potentially resulting in a crash, saidthe National Highway Traffic Safety

    Administration.

  • 8/13/2019 10.Process Product Quality Assurance

    11/54

    MS-Excel 2007 Multiplication bugs

  • 8/13/2019 10.Process Product Quality Assurance

    12/54

    Impact of software failure

    Not just out there Space shuttleAriane 5

    But also at home Telephone bill

    How about ICR used by the KPU ?

  • 8/13/2019 10.Process Product Quality Assurance

    13/54

    What is Quality ?

    Quality isthe totality of features and characteristics of a

    product that bear on its ability to meet stated

    or implied needs

    Quality is spoken of in terms of

    Product quality (software quality) Process quality

  • 8/13/2019 10.Process Product Quality Assurance

    14/54

    Software Quality

    Product quality

    conformance to requirements

    fitness for use freedom from errors and failures

    customer satisfaction SW quality is normally spoken of in terms

    of several different dimensions often

    called parameters technical quality parameters user quality parameters

  • 8/13/2019 10.Process Product Quality Assurance

    15/54

    SW Quality parameters

    Technical parameters

    correctness, reliability, capability,performance, maintainability

    these are open to objective measures andtechnical solutions

    User parameters usability, installability, documentation,

    availability

    these often require subjective analysis andnon-technical solutions

  • 8/13/2019 10.Process Product Quality Assurance

    16/54

    Technical parameters

    Correctness: measured in terms of defect rate

    Reliability measured in terms of failure rate

    Capability

    measured in terms of requirement coverage Maintainability

    measured in terms of change log Performance

    measured in terms of speed and resourceusage

  • 8/13/2019 10.Process Product Quality Assurance

    17/54

  • 8/13/2019 10.Process Product Quality Assurance

    18/54

    Quality characteristics & features(ISO/IEC 9126)

    Functionality Reliability

    Usability

    Efficiency

    Maintainability

    PortabilityCan be objective or subjective

  • 8/13/2019 10.Process Product Quality Assurance

    19/54

    Basic principles

    Achieving quality

    it does not happen by accident, and is notsomething that can be added on after the fact

    so we must plan for it from the beginning andcontinuously monitor it day by day

    Three general principles know what you are doing know what you should be doing know how to measure the difference

  • 8/13/2019 10.Process Product Quality Assurance

    20/54

    Principle-1: know what you are doing

    It means continuously understanding what itis you are building, how you are building it,and what it currently does

    this requires organization, including havinga management structure, reporting policies,regular meeting and reviews, and so on

    normally addressed by following a SW

    process with regular milestones, planning,scheduling, and tracking procedures

  • 8/13/2019 10.Process Product Quality Assurance

    21/54

    This means having explicit requirements andspecifications

    these must be continuously updated and

    tracked as part of the development cycle

    normally addressed by requirements and use-

    case analysis, explicit acceptance tests with

    expected results, frequent user feedback

    particular procedures and methods are usually

    part of process

    Principle-2: know what you shouldbe doing

  • 8/13/2019 10.Process Product Quality Assurance

    22/54

    This means having standards and bestpractices

    achieved using four complementary methods

    formal methods testing inspection metric

    Principle-3: know how to measurethe difference

  • 8/13/2019 10.Process Product Quality Assurance

    23/54

    Software Eng vs traditional eng

    Lack of maturity Number of combinations of inputs almost

    infinite, exhaustive testing impossible

    Software is discontinuous

    Exhibits only systematic failures

    Changes seem to be easy, software isseen as "the easy fix

  • 8/13/2019 10.Process Product Quality Assurance

    24/54

    Software Quality Assurance

    Definition a planned and systematic pattern of actions toprovide adequate confidence that the productconforms to established technical

    requirements Purpose

    to ensure that the project standard and

    procedures are adequate and are adhered tothroughout the project

  • 8/13/2019 10.Process Product Quality Assurance

    25/54

    Assuring Quality

    Assure that each of the software qualities ismet Goals set in requirements specification Goals realized in implementation

    Sometimes easy, sometimes difficult Portability versus safety

    Sometimes immediate, sometimes delayed

    Understandability versus evolvability

    Sometimes provable, sometimes doubtful Size versus correctness

  • 8/13/2019 10.Process Product Quality Assurance

    26/54

    Complexity of QA

    No matter how sophisticated the QA process,the problem of creating the initial specificationremains

    Sometimes, the software system is extremely

    complicated making it tremendously difficult toperform QA

    It is difficult to divide the particularresponsibilities involved when performingquality assurance

    Quality assurance has a negative connotation

  • 8/13/2019 10.Process Product Quality Assurance

    27/54

    Story of Software Development

  • 8/13/2019 10.Process Product Quality Assurance

    28/54

    SQ Management Tasks

    Improve software quality!!!

    Know applicable standards and introduce them intocompany

    Define company internal software development process

    Support Software Developers

    document templates (Design Templates,) work instructions (Coding Standards) tools (e.g. for quality metrics) support with the conduct of requirements and code reviews

    Provide quality related training for developers For Safety Related Systems: be able to "prove" software

    safety

  • 8/13/2019 10.Process Product Quality Assurance

    29/54

    Standards

    A standard is

    "an authoritative or recognised exemplar ofcorrectness, perfection or some definite degree of anyquality"

    Software development for safety critical

    systems guided by a huge amount ofstandards! "Standards are wonderful things if you don't like one

    there are so many more to choose from" (Anonymous)

    In practice, little consistency between sectors between countries

  • 8/13/2019 10.Process Product Quality Assurance

    30/54

    SWQM Standards Quagmire

  • 8/13/2019 10.Process Product Quality Assurance

    31/54

    For software safety

  • 8/13/2019 10.Process Product Quality Assurance

    32/54

    SQ Factors & QA-SComponents

  • 8/13/2019 10.Process Product Quality Assurance

    33/54

    Software quality factors

    Product operation factors

    Product revision factors

    Product transition factors

  • 8/13/2019 10.Process Product Quality Assurance

    34/54

    Correctness

    Reliability Efficiency

    Integrity

    Usability

  • 8/13/2019 10.Process Product Quality Assurance

    35/54

    Maintainability

    Flexibility

    Testability

  • 8/13/2019 10.Process Product Quality Assurance

    36/54

    Portability

    Reusability

    Interoperability

  • 8/13/2019 10.Process Product Quality Assurance

    37/54

  • 8/13/2019 10.Process Product Quality Assurance

    38/54

    No. Software qualityfactor

    McCalls classicmodel

    Alternative factor models

    Evans andMarciniak model

    Deutsch andWillis model

    1 Correctness + + +2 Reliability + + +

    3 Efficiency + + +

    4 Integrity + + +

    5 Usability + + +

    6 Maintainability + + +

    7 Flexibility + + +

    8 Testability +

    9 Portability + + +

    10 Reusability + + +

    11 Interoperability + + +

    12 Verifiability + +

    13 Expandability + +

    14 Safety +

    15 Manageability +

    16 Survivability +

  • 8/13/2019 10.Process Product Quality Assurance

    39/54

    SW-Dev: A complete picture

    Sales Prepare Develop Roll-out Closure

    PrePost

    QA-Coverage

  • 8/13/2019 10.Process Product Quality Assurance

    40/54

    Components of SQA-S

    Pre-project components Project life cycle components

    Infrastructure for error prevention and

    improvement Quality management

    Standard, certification and assessment Human resources

  • 8/13/2019 10.Process Product Quality Assurance

    41/54

    The Software Quality Shrine

    ProjectDevelopment planand Quality Plan

    Ch.6

    Project Life Cycle SQA components

    FormalD

    esignReviews

    S

    ec.

    8.2

    SQA

    ofExte

    rnalParticipants

    Ch12

    Quality Infrastructure components

    ProceduresCh. 14

    Supporting

    Devices

    Ch. 15

    Training

    Instruction

    Ch. 16

    Preventive

    Act ion s

    Ch.17

    Configuration

    Management

    Ch. 18

    Document-ation

    ControlCh. 19

    Quality Management

    ProjectProgress

    ControlCh. 20

    SoftwareQuality

    MetricsCh. 21

    SoftwareQuality

    CostsCh. 22

    QualityManagement

    StandardsCh. 23

    Standards

    ProjectProcessStandards

    Ch.24

    Organizational Base Human components

    Management - Ch. 25 SQA Unit - Sec. 26.1 SQA Committees Sec. 26.2SQA Trustees Sec. 26.2 SQA Forums Sec 26.4

    Contract review

    Ch.5

    OHT 4.41

  • 8/13/2019 10.Process Product Quality Assurance

    42/54

    Pre-Project Components

    Objective: to improve the preparatory steps

    taken prior to initiating work on the project Elements:

    Contract Review Development and quality plan

    Contract Review: Clarification of customer requirements Project schedule and resources requirement Staffing Evaluate customers capacity to fulfill his obligation Evaluation of development risks

  • 8/13/2019 10.Process Product Quality Assurance

    43/54

    Common problems in Contract

    Vaguely defined requirements

    The rights as well as obligations of each parties arenot clearly stated, or

    Perceived differently by both parties

    Unrealistic budget and schedules Inaccurate cost estimation Shallow and quick resource estimate

    Excessive pressure from management

    To save time and resources To increase revenue

  • 8/13/2019 10.Process Product Quality Assurance

    44/54

    Participation in a tender Proposal submission according to

    customers RFP

    Receipt of an order from a companyscustomer

    Internal request from anotherdepartment in the organization

  • 8/13/2019 10.Process Product Quality Assurance

    45/54

    Proposal draft review

    + Contract draft review---------------------------

    Contract review

  • 8/13/2019 10.Process Product Quality Assurance

    46/54

    To make sure that the following activities have been satisfactorily

    carried out:1. Customer requirements clarified and documented

    2. Alternative approaches for carrying out the project examined

    3. Formal aspects of the relationship between the customer and

    the software firm specified4. Development risks identified

    5. Project resources and timetable adequately estimated

    6. The firms capacity with respect to the project examined

    7. The customers capacity to fulfill his commitments examined8. Partner and subcontractors participation conditions defined

    9. Protection of proprietary rights defined

  • 8/13/2019 10.Process Product Quality Assurance

    47/54

    To make sure that the following activities have beensatisfactorily carried out:

    1. No unclarified issues remain in the contract

    draft

    2. All understandings reached subsequent to the

    proposal are correctly documented

    3. No new changes, additions, or omissions

    have entered the contract draft

  • 8/13/2019 10.Process Product Quality Assurance

    48/54

    (1) Administrative or operativesoftware to be applied internally

    (2) Software packages originally intendedto be sold to the public as off-the-shelf

    packages

    (3) Firmware to be embedded in the

    companys products

  • 8/13/2019 10.Process Product Quality Assurance

    49/54

    Subject Disadvantages to the internal customer

    (1) Inadequate definitionof project requirements

    * Implementation deviates from the neededapplications

    * Low satisfaction

    (2) Poor estimate of therequired resources

    * Unrealistic expectations about projectfeasibility

    (3) Poor timetable * Missing scheduled dates for beginningthe distribution of new products

    (4) Inadequate awarenessof development risks

    * Customer unprepared for project risksand their consequences

  • 8/13/2019 10.Process Product Quality Assurance

    50/54

    Subject Disadvantages to the internal customer(1) Inadequate definitionof project requirements

    * Higher change requirements* Wasted resources due to introducing

    avoidable changes

    (2) Poor estimate of therequired resources

    * Substantial deviations from budget* Friction between units induced by

    requirements for budget additions

    (3) Poor timetable * Development activities are under timepressures and suffer from low quality

    * Delays in freeing staff for their next

    project(4) Inadequateawareness ofdevelopment risks

    * Tardy initiation of efforts to overcomedifficulties

  • 8/13/2019 10.Process Product Quality Assurance

    51/54

    Development & Quality Plans

    The DQP document will be used by thedevelopment team as the main referenceto build the software

    It is developed based on the approvedproposal + schedules, resourceestimates, development risk evaluation

    Should be available before kick off

    Depending upon the size of the project;Simpler plans for smaller project

  • 8/13/2019 10.Process Product Quality Assurance

    52/54

    The DQP is meant for

    Scheduling activities & estimating

    resources and budget

    Recruiting and allocating resources

    Resolving risks Implementing SQA activities

    Providing management with information

    for project control

  • 8/13/2019 10.Process Product Quality Assurance

    53/54

    Elements of the Dev. Plan

    Project products (doc, sw, training)

    Project interfaces (with sw/hw) Project methodologies and dev tools

    SW standard and procedures

    Mapping of the dev process (inc estimate duration for each

    phase, logical sequence of activities, resource implication) Project milestones

    Project staff organization

    Required dev facilities

    Dev risks and risks management actions Control methods

    Project cost estimates

  • 8/13/2019 10.Process Product Quality Assurance

    54/54

    Elements of the Q Plan

    Quality goals (e.g. higher profit,

    efficiency)

    Review activities

    (scope, types, schedule, procedures, PiC) SW tests

    Acceptance test

    Configuration management tools and

    procedures