Sanjay
-
Upload
rehana00 -
Category
Economy & Finance
-
view
287 -
download
4
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Thank youThank you