Sanjay

24
The Spiral Model of The Spiral Model of Software Software Development and Development and Enhancement Enhancement Barry W. Boehm, TRW Barry W. Boehm, TRW Defense Defense Systems Group Systems Group Victor Velez Victor Velez Group # 5 Group # 5

description

capital structure of NTPC

Transcript of Sanjay

Page 1: Sanjay

The Spiral Model of The Spiral Model of SoftwareSoftware

Development andDevelopment andEnhancementEnhancement

Barry W Boehm TRW DefenseBarry W Boehm TRW DefenseSystems GroupSystems Group

Victor VelezVictor Velez Group 5Group 5

April April 05040504

OutlineOutline

bull bull IntroductionIntroductionbull bull Previous ModelsPrevious Modelsbull bull The Spiral ModelThe Spiral Modelbull bull TRW-SPS ApplicationTRW-SPS Applicationbull bull Advantages and DifficultiesAdvantages and Difficultiesbull bull Risk ManagementRisk Managementbull bull ConclusionsConclusionsbull bull Future of the Spiral ModelFuture of the Spiral Modelbull bull DiscussionDiscussion

IntroductionIntroductionBasically the idea of Spiral Basically the idea of Spiral ModelModel is is

evolutionary development using the evolutionary development using the waterfall model for each step its intended to waterfall model for each step its intended to help by a help by a Risk-Driven ApproachRisk-Driven Approach Dont Dont define in detail the entire system at first The define in detail the entire system at first The developers should only define the highest developers should only define the highest priority features Define and implement priority features Define and implement those then get feedback from those then get feedback from userscustomers (such feedback userscustomers (such feedback distinguishes evolutionary from distinguishes evolutionary from incremental development) With this incremental development) With this knowledge they should then go back to knowledge they should then go back to define and implement more features in define and implement more features in smaller chunks smaller chunks

A Risk-Driven ApproachA Risk-Driven Approach

bull bull Different idea of software developmentDifferent idea of software development

bull bull How does this project affect theHow does this project affect the

developers and the clientsdevelopers and the clients

bull bull How does each step in the project affectHow does each step in the project affect

its overall developmentits overall development

bull bull Not used in previous development Not used in previous development modelsmodels

ndash ndash Usually code-driven or document-drivenUsually code-driven or document-driven

Software Process ModelSoftware Process ModelAs opposed to a As opposed to a software methodologysoftware methodology

ndash ndash How to navigate through each phase (Data How to navigate through each phase (Data

Control)Control)

ndash ndash How to represent phase products (Diagrams)How to represent phase products (Diagrams)

bull bull Used to determine the order of the stagesUsed to determine the order of the stages

and to establish the transition criteriaand to establish the transition criteria

ndash ndash What do we do nextWhat do we do next

ndash ndash How long shall we continue doing itHow long shall we continue doing it

bull bull Provides guidance between the differentProvides guidance between the different

phases of a projectphases of a project

Previous Software Process Previous Software Process ModelsModels

An evolution of modelsAn evolution of models

ndash ndash Code amp FixCode amp Fix

ndash ndash Stagewise amp WaterfallStagewise amp Waterfall

ndash ndash Evolutionary DevelopmentEvolutionary Development

ndash ndash Transform ModelTransform Model

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 2: Sanjay

OutlineOutline

bull bull IntroductionIntroductionbull bull Previous ModelsPrevious Modelsbull bull The Spiral ModelThe Spiral Modelbull bull TRW-SPS ApplicationTRW-SPS Applicationbull bull Advantages and DifficultiesAdvantages and Difficultiesbull bull Risk ManagementRisk Managementbull bull ConclusionsConclusionsbull bull Future of the Spiral ModelFuture of the Spiral Modelbull bull DiscussionDiscussion

IntroductionIntroductionBasically the idea of Spiral Basically the idea of Spiral ModelModel is is

evolutionary development using the evolutionary development using the waterfall model for each step its intended to waterfall model for each step its intended to help by a help by a Risk-Driven ApproachRisk-Driven Approach Dont Dont define in detail the entire system at first The define in detail the entire system at first The developers should only define the highest developers should only define the highest priority features Define and implement priority features Define and implement those then get feedback from those then get feedback from userscustomers (such feedback userscustomers (such feedback distinguishes evolutionary from distinguishes evolutionary from incremental development) With this incremental development) With this knowledge they should then go back to knowledge they should then go back to define and implement more features in define and implement more features in smaller chunks smaller chunks

A Risk-Driven ApproachA Risk-Driven Approach

bull bull Different idea of software developmentDifferent idea of software development

bull bull How does this project affect theHow does this project affect the

developers and the clientsdevelopers and the clients

bull bull How does each step in the project affectHow does each step in the project affect

its overall developmentits overall development

bull bull Not used in previous development Not used in previous development modelsmodels

ndash ndash Usually code-driven or document-drivenUsually code-driven or document-driven

Software Process ModelSoftware Process ModelAs opposed to a As opposed to a software methodologysoftware methodology

ndash ndash How to navigate through each phase (Data How to navigate through each phase (Data

Control)Control)

ndash ndash How to represent phase products (Diagrams)How to represent phase products (Diagrams)

bull bull Used to determine the order of the stagesUsed to determine the order of the stages

and to establish the transition criteriaand to establish the transition criteria

ndash ndash What do we do nextWhat do we do next

ndash ndash How long shall we continue doing itHow long shall we continue doing it

bull bull Provides guidance between the differentProvides guidance between the different

phases of a projectphases of a project

Previous Software Process Previous Software Process ModelsModels

An evolution of modelsAn evolution of models

ndash ndash Code amp FixCode amp Fix

ndash ndash Stagewise amp WaterfallStagewise amp Waterfall

ndash ndash Evolutionary DevelopmentEvolutionary Development

ndash ndash Transform ModelTransform Model

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 3: Sanjay

IntroductionIntroductionBasically the idea of Spiral Basically the idea of Spiral ModelModel is is

evolutionary development using the evolutionary development using the waterfall model for each step its intended to waterfall model for each step its intended to help by a help by a Risk-Driven ApproachRisk-Driven Approach Dont Dont define in detail the entire system at first The define in detail the entire system at first The developers should only define the highest developers should only define the highest priority features Define and implement priority features Define and implement those then get feedback from those then get feedback from userscustomers (such feedback userscustomers (such feedback distinguishes evolutionary from distinguishes evolutionary from incremental development) With this incremental development) With this knowledge they should then go back to knowledge they should then go back to define and implement more features in define and implement more features in smaller chunks smaller chunks

A Risk-Driven ApproachA Risk-Driven Approach

bull bull Different idea of software developmentDifferent idea of software development

bull bull How does this project affect theHow does this project affect the

developers and the clientsdevelopers and the clients

bull bull How does each step in the project affectHow does each step in the project affect

its overall developmentits overall development

bull bull Not used in previous development Not used in previous development modelsmodels

ndash ndash Usually code-driven or document-drivenUsually code-driven or document-driven

Software Process ModelSoftware Process ModelAs opposed to a As opposed to a software methodologysoftware methodology

ndash ndash How to navigate through each phase (Data How to navigate through each phase (Data

Control)Control)

ndash ndash How to represent phase products (Diagrams)How to represent phase products (Diagrams)

bull bull Used to determine the order of the stagesUsed to determine the order of the stages

and to establish the transition criteriaand to establish the transition criteria

ndash ndash What do we do nextWhat do we do next

ndash ndash How long shall we continue doing itHow long shall we continue doing it

bull bull Provides guidance between the differentProvides guidance between the different

phases of a projectphases of a project

Previous Software Process Previous Software Process ModelsModels

An evolution of modelsAn evolution of models

ndash ndash Code amp FixCode amp Fix

ndash ndash Stagewise amp WaterfallStagewise amp Waterfall

ndash ndash Evolutionary DevelopmentEvolutionary Development

ndash ndash Transform ModelTransform Model

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 4: Sanjay

A Risk-Driven ApproachA Risk-Driven Approach

bull bull Different idea of software developmentDifferent idea of software development

bull bull How does this project affect theHow does this project affect the

developers and the clientsdevelopers and the clients

bull bull How does each step in the project affectHow does each step in the project affect

its overall developmentits overall development

bull bull Not used in previous development Not used in previous development modelsmodels

ndash ndash Usually code-driven or document-drivenUsually code-driven or document-driven

Software Process ModelSoftware Process ModelAs opposed to a As opposed to a software methodologysoftware methodology

ndash ndash How to navigate through each phase (Data How to navigate through each phase (Data

Control)Control)

ndash ndash How to represent phase products (Diagrams)How to represent phase products (Diagrams)

bull bull Used to determine the order of the stagesUsed to determine the order of the stages

and to establish the transition criteriaand to establish the transition criteria

ndash ndash What do we do nextWhat do we do next

ndash ndash How long shall we continue doing itHow long shall we continue doing it

bull bull Provides guidance between the differentProvides guidance between the different

phases of a projectphases of a project

Previous Software Process Previous Software Process ModelsModels

An evolution of modelsAn evolution of models

ndash ndash Code amp FixCode amp Fix

ndash ndash Stagewise amp WaterfallStagewise amp Waterfall

ndash ndash Evolutionary DevelopmentEvolutionary Development

ndash ndash Transform ModelTransform Model

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 5: Sanjay

Software Process ModelSoftware Process ModelAs opposed to a As opposed to a software methodologysoftware methodology

ndash ndash How to navigate through each phase (Data How to navigate through each phase (Data

Control)Control)

ndash ndash How to represent phase products (Diagrams)How to represent phase products (Diagrams)

bull bull Used to determine the order of the stagesUsed to determine the order of the stages

and to establish the transition criteriaand to establish the transition criteria

ndash ndash What do we do nextWhat do we do next

ndash ndash How long shall we continue doing itHow long shall we continue doing it

bull bull Provides guidance between the differentProvides guidance between the different

phases of a projectphases of a project

Previous Software Process Previous Software Process ModelsModels

An evolution of modelsAn evolution of models

ndash ndash Code amp FixCode amp Fix

ndash ndash Stagewise amp WaterfallStagewise amp Waterfall

ndash ndash Evolutionary DevelopmentEvolutionary Development

ndash ndash Transform ModelTransform Model

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 6: Sanjay

Previous Software Process Previous Software Process ModelsModels

An evolution of modelsAn evolution of models

ndash ndash Code amp FixCode amp Fix

ndash ndash Stagewise amp WaterfallStagewise amp Waterfall

ndash ndash Evolutionary DevelopmentEvolutionary Development

ndash ndash Transform ModelTransform Model

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 7: Sanjay

Spiral ModelSpiral Model

A different approach born out of the A different approach born out of the evolution of the Waterfall Modelevolution of the Waterfall Model

bull bull Encompasses the previous models as Encompasses the previous models as special special

cases and can make use of a combination of cases and can make use of a combination of modelsmodelsbull bull Risk analysis asks ldquo What are the areas ofRisk analysis asks ldquo What are the areas of uncertainty and what is the probability thatuncertainty and what is the probability that they will slow the progress of developmentrdquothey will slow the progress of developmentrdquo

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 8: Sanjay

InitiatingTerminating the InitiatingTerminating the ProcessProcess

bull bull Initiating the processInitiating the process ndash ndash Hypothesize that a particular operational Hypothesize that a particular operational

mission(s) mission(s) can be improved by software effortcan be improved by software effortbull bull Test this hypothesis throughoutTest this hypothesis throughout

bull bull TerminatingTerminating ndash ndash If a spiral violates its hypothesis then theIf a spiral violates its hypothesis then the spiral is terminatedspiral is terminated ndash ndash Otherwise it ends with the installation of aOtherwise it ends with the installation of a new or modified software productnew or modified software product

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 9: Sanjay

Cycle RequirementsCycle Requirements

If alternatives or uncertainties are foundIf alternatives or uncertainties are found they must be resolvedthey must be resolvedbull bull Risk-driven ldquosubsettingrdquo allows a mixture Risk-driven ldquosubsettingrdquo allows a mixture

ofof other software process models asother software process models as necessary until a high-risk situation isnecessary until a high-risk situation is resolvedresolved ndash ndash Specification-oriented (Transform or Stagewise)Specification-oriented (Transform or Stagewise) ndash ndash Prototype-oriented (Waterfall)Prototype-oriented (Waterfall) ndash ndash Automatic-transformation oriented (Transform)Automatic-transformation oriented (Transform) ndash ndash Simulation-oriented (Evolutionary)Simulation-oriented (Evolutionary)

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 10: Sanjay

Cycle RequirementshellipContCycle RequirementshellipCont

Each cycle is completed by a review Each cycle is completed by a review byby

the people concerned with the projectthe people concerned with the project

bull bull Plans for the next cycle should bePlans for the next cycle should be

introducedintroduced

bull bull With each succeeding level in the With each succeeding level in the spiralspiral

the level of detail increasesthe level of detail increases

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 11: Sanjay

Applied to TRW-SPSApplied to TRW-SPS

An example of how the Spiral model works in aAn example of how the Spiral model works in a

large systemlarge system

bull bull Software Productivity System (SPS) ndash a group Software Productivity System (SPS) ndash a group of integrated software development tools for of integrated software development tools for use within TRW as well as for other clientsuse within TRW as well as for other clients

bull bull Spiral Model roundsSpiral Model rounds ndash ndash Rounds correspond to a level in the spiralRounds correspond to a level in the spiral

ndash ndash In this case a Round 0 was needed to determineIn this case a Round 0 was needed to determine

initial feasibility of the TRW-SPS project but is notinitial feasibility of the TRW-SPS project but is not

necessary for all projectsnecessary for all projects

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 12: Sanjay

More RoundsMore Rounds

Succeeding rounds may be necessarySucceeding rounds may be necessary

bull bull Depends on the amount of riskDepends on the amount of risk

ndash ndash Ex The risk alleviation of the RTT Ex The risk alleviation of the RTT

preliminary design specificationpreliminary design specification

bull bull More attractive alternatives may be More attractive alternatives may be foundfound

ndash ndash Ex The change in UDF tool requirementsEx The change in UDF tool requirements

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 13: Sanjay

Spiral Model FeaturesSpiral Model Features

Balances all of the risk elements ie theBalances all of the risk elements ie the high-risk elements must be lowered firsthigh-risk elements must be lowered firstbull bull Offers prototyping as a risk-reductionOffers prototyping as a risk-reduction option at any stage of developmentoption at any stage of developmentbull bull It allows reworks of earlier stages as moreIt allows reworks of earlier stages as more attractive alternatives are identifiedattractive alternatives are identifiedbull bull Detail isnrsquot necessary until detail isDetail isnrsquot necessary until detail is needed (Round 0)needed (Round 0)

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 14: Sanjay

ResultsResults

bull bull The Software Productivity System (SPS)The Software Productivity System (SPS) has grown to over 300 tools and 13has grown to over 300 tools and 13 million instructionsmillion instructionsbull bull Over 25 projects have used SPS withOver 25 projects have used SPS with overall productivity up 50 most projectsoverall productivity up 50 most projects have doubled productivityhave doubled productivitybull bull One underestimation of Unix compatibilityOne underestimation of Unix compatibility led to some TRW projects not using SPSled to some TRW projects not using SPS

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 15: Sanjay

AdvantagesAdvantages

10486331048633It promotes reuse of existing software inIt promotes reuse of existing software in early stages of developmentearly stages of development10486331048633Allows quality objectives to be Allows quality objectives to be

formulatedformulated during developmentduring development10486331048633Provides preparation for eventualProvides preparation for eventual evolution of the software productevolution of the software product10486331048633Eliminates errors and unattractiveEliminates errors and unattractive alternatives earlyalternatives early

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 16: Sanjay

DisadvantagesDisadvantages

10486331048633Spiral model not yet complete (in 1988)Spiral model not yet complete (in 1988)

10486331048633Matching to contract softwareMatching to contract software

ndash ndash Internal projects have more freedomInternal projects have more freedom

ndash ndash Contract software demands total control and Contract software demands total control and a fulla full

picture of the deliverables in advancepicture of the deliverables in advance

10486331048633Relying on risk-assessment expertiseRelying on risk-assessment expertise

10486331048633Need for further elaboration of spiral model Need for further elaboration of spiral model stepssteps

ndash ndash Milestones and specificationsMilestones and specifications

ndash ndash Guidelines and checklistsGuidelines and checklists

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 17: Sanjay

ConclusionsConclusions

The paper draws four conclusionsThe paper draws four conclusions

1 The risk-driven nature provides adaptability1 The risk-driven nature provides adaptability

for a full range of software projectsfor a full range of software projects

2 The model has been successful in a large2 The model has been successful in a large

application the TRW-SPSapplication the TRW-SPS

3 The model is not yet fully elaborated3 The model is not yet fully elaborated

4 Even partial implementations of the model4 Even partial implementations of the model

such as the risk management plan aresuch as the risk management plan are

compatible with the other process modelscompatible with the other process models

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 18: Sanjay

Evaluating SoftwareEvaluating SoftwareEngineering Engineering StandardsStandards

Shari Lawrence PfleegerShari Lawrence Pfleeger Norman Fenton and Stella Norman Fenton and Stella

PagePage

Centre for Software ReliabilityCentre for Software Reliability

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 19: Sanjay

IntroductionIntroduction This article reports on the results forThis article reports on the results for thethe Smartie Smartie project ( project (SStandards and tandards and

MMethods ethods AAssessment using ssessment using RRigorous igorous TTechniques in echniques in IIndustrial ndustrial EEnviroments) nviroments) Smartie Smartie - uses standards (some of those have not - uses standards (some of those have not

been been patented) to reflect the userrsquos needs and patented) to reflect the userrsquos needs and builderrsquos practices to improve software builderrsquos practices to improve software development processes and productsdevelopment processes and products - Identifies the benefits of using the standard- Identifies the benefits of using the standard

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 20: Sanjay

What is a Good StandardWhat is a Good Standard It involves at least three aspectsIt involves at least three aspects 1 What attributes of the final product are supposed to 1 What attributes of the final product are supposed to improve by using the standard improve by using the standard 2 Cost of applying the standard2 Cost of applying the standard

3 How the standard is being complied with requirements3 How the standard is being complied with requirements - - Reference-onlyReference-only no way to determine compliance no way to determine compliance - - SubjectiveSubjective only a subjective measure of conformanceonly a subjective measure of conformance

- - Partially objectivePartially objective Objective but still requires objectivityObjective but still requires objectivity - - Completely objectiveCompletely objective most desirable kind most desirable kind

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 21: Sanjay

To what do our standards To what do our standards applyapply

It apply toIt apply to ProcessProcess

validation of specifications vs requirementsvalidation of specifications vs requirements Internal productInternal product

refers to the coderefers to the code External productExternal product

user experiences( eg reliability)user experiences( eg reliability) ResourcesResources

staff tools and support softwarestaff tools and support software

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 22: Sanjay

Are Software Standards like Are Software Standards like other Standardsother Standards

No are not No are not Software engineering standards are Software engineering standards are heavy heavy

on processon process and and light on productlight on product while while other engineering standards are the other engineering standards are the reversereverse

Most other engineering include in their Most other engineering include in their standard a description of the method to be standard a description of the method to be used to asses compliance Software one used to asses compliance Software one lack objective assessment criteria So are lack objective assessment criteria So are not always based on rigorous experimental not always based on rigorous experimental resultsresults

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 23: Sanjay

ConclusionsConclusionsThe Smartie framework is practical and The Smartie framework is practical and

effective in identifying problems with effective in identifying problems with standards and making changes that are standards and making changes that are needed on themneeded on them

Some standards apply to certain types of Some standards apply to certain types of modules So notions of conformance must modules So notions of conformance must be adjusted to consider only that part of be adjusted to consider only that part of the systemthe system

Software engineering standards should be Software engineering standards should be better balanced with more product better balanced with more product requirements in relation to process and requirements in relation to process and resource requirementsresource requirements

Thank youThank you

Page 24: Sanjay

Thank youThank you