1Intel ConfidentialSoftware Development ProcessSoftware Development Processin LVTin LVTCMMICMMI Action planAction plan
2Intel ConfidentialPresentation goalsPresentation goals Present suggested action plan for better developmentPresent suggested action plan for better developmentprocessprocess Get feedback from technical staff beforeGet feedback from technical staff beforeimplementationimplementation
3Intel ConfidentialAgendaAgenda Current process findings (general)Current process findings (general) Suggested action plan:Suggested action plan:– GeneralGeneral– RequirementRequirement– Analysis and designAnalysis and design– Verification/validationVerification/validation Possible price and success indicatorsPossible price and success indicators
4Intel ConfidentialCurrent Process finding –Current Process finding –Summary:Summary:Most of the needed activities are done, BUT:Most of the needed activities are done, BUT: Not all of themNot all of them Not in all the groupsNot in all the groups Not consistentlyNot consistently The design process seems to be the most important.The design process seems to be the most important.
5Intel ConfidentialWhat’s next ???What’s next ??? Process enhancements recommendations:Process enhancements recommendations:– Action plan per development activity (crisp but flexible)Action plan per development activity (crisp but flexible)– CASE tool support (+ reverse engineering) EA/RRCASE tool support (+ reverse engineering) EA/RR– Use existing formats (EPS/IPS) with UML enrichmentsUse existing formats (EPS/IPS) with UML enrichments– Supporting training (UML/UP), consultingSupporting training (UML/UP), consulting We need your commitmentWe need your commitment
7Intel ConfidentialRequirements:Requirements:GOAL: Understand, document and model what theGOAL: Understand, document and model what thecustomer really needscustomer really needs Use lite-UML (CASE driven) formatUse lite-UML (CASE driven) format for requirements:for requirements:– Functional requirements:Functional requirements: Use case format (Diagrams and description) for main requirementsUse case format (Diagrams and description) for main requirements– Non-Functional:Non-Functional: Usability (UI/GUI, Help)Usability (UI/GUI, Help) Reliability (Robustness, recoverability)Reliability (Robustness, recoverability) Performance (throughput, response time)Performance (throughput, response time) Supportability (scalability, testability, flexibility)Supportability (scalability, testability, flexibility)– Constraints related:Constraints related: Design (legacy code,Design (legacy code, Implementation (language, standards, limited resources)Implementation (language, standards, limited resources) Physical (HW architecture, Size…)Physical (HW architecture, Size…) Interfaces (API’s, protocols, formats…)Interfaces (API’s, protocols, formats…)
8Intel ConfidentialDesign:Design:GOAL: Reflect requirements in system detailedGOAL: Reflect requirements in system detaileddescription.description. Design phases:Design phases:– Architecture design:Architecture design: Partition the system into manageable tasksPartition the system into manageable tasks Definition of system wide strategiesDefinition of system wide strategies– Logical designLogical design Solve all open issues, algorithmsSolve all open issues, algorithms Model the user interface (GUI ?)Model the user interface (GUI ?) Work on reusability (correct classes)Work on reusability (correct classes)– Physical DesignPhysical Design Reflection of NFRs, constraintsReflection of NFRs, constraints Implementation (language, standards, limited resources)Implementation (language, standards, limited resources) Modeling all interfaces.Modeling all interfaces.
9Intel ConfidentialProposedProposed Design process:Design process: Design products:Design products:– Write design document:Write design document: Use IPS + UML formatUse IPS + UML format Use UML diagrams (sequence diagram, class diagram)Use UML diagrams (sequence diagram, class diagram)when appropriate.when appropriate. Algorithms and forecasted performance analysis whenAlgorithms and forecasted performance analysis whenappropriate.appropriate.– Run design reviewRun design review for each new product/featurefor each new product/feature Discretionary forum.Discretionary forum.
10Intel ConfidentialProposed Verification process:Proposed Verification process:GOAL: Verify requirements answered, enhanceGOAL: Verify requirements answered, enhanceproduct quality.product quality. Write a test planWrite a test plan for each new product / large featurefor each new product / large featuredeveloped:developed:– FunctionalFunctional Cover all use casesCover all use cases Unit testing and system testing / full flow testingUnit testing and system testing / full flow testing– Non-functionalNon-functional Robustness, performance…Robustness, performance…– Regression:Regression: Add to regression test baseAdd to regression test base Analyze expected results changeAnalyze expected results change Review test planReview test plan within group.within group. Run code reviewsRun code reviews (1:1s) for risky/complex code segments.(1:1s) for risky/complex code segments.
11Intel ConfidentialPrice and indicators:Price and indicators: Price we have to pay;Price we have to pay;– UML courses for most peopleUML courses for most people– Learning curve (first half year only)Learning curve (first half year only) Improvement Indicators:Improvement Indicators:– Satisfaction/improvement surveySatisfaction/improvement survey– Better WDCBetter WDC– Better internal/external bug ratioBetter internal/external bug ratio– Less effort ? (hard to measure)Less effort ? (hard to measure)