View
212
Download
0
Category
Preview:
Citation preview
JVB-STC'97- JVB-STC'97- 11#*
Successful Adoption and Use of Successful Adoption and Use of Object Oriented TechnologiesObject Oriented Technologies
STC ‘97STC ‘97
April 30, 1997April 30, 1997
Jim Van BurenJim Van Buren
JVB-STC'97- JVB-STC'97- 22#*
ObjectiveObjective
Presentation of Model for Adoption of OT by DoD Presentation of Model for Adoption of OT by DoD OrganizationsOrganizations
For Non-OO capable DoD organizationsFor Non-OO capable DoD organizations Training IssuesTraining Issues Development Process IssuesDevelopment Process Issues OO Management IssuesOO Management Issues
JVB-STC'97- JVB-STC'97- 33#*
OutlineOutline
BackgroundBackground Object Oriented DefinitionsObject Oriented Definitions Technology AdoptionTechnology Adoption
OO Technology AdoptionOO Technology Adoption DoD Adoption ContextDoD Adoption Context TrainingTraining Development ProcessDevelopment Process ManagementManagement Pushing Adoption Pushing Adoption
JVB-STC'97- JVB-STC'97- 44#*
Why OO?Why OO? Maintainability AdvantagesMaintainability Advantages
Time to MarketTime to Market
Required by COTS LibrariesRequired by COTS Libraries
ReuseReuse
......
Organizational ChangeOrganizational Change Existing System Meets RequirementsExisting System Meets Requirements ...... Resource Cost (Memory and Processing Time)Resource Cost (Memory and Processing Time)
Why Not OO?Why Not OO?
JVB-STC'97- JVB-STC'97- 55#*
EncapsulationEncapsulation
Underlying Concept behind OOUnderlying Concept behind OO
An object’s interface is the only way the object can be An object’s interface is the only way the object can be manipulated or usedmanipulated or used
Clients know only about an object’s interfaceClients know only about an object’s interface
Encapsulates Data and MethodsEncapsulates Data and Methods Allows Objects and their clients can be written in different languagesAllows Objects and their clients can be written in different languages Allows Objects and their clients can run on different machinesAllows Objects and their clients can run on different machines Isolates inevitable maintenance changesIsolates inevitable maintenance changes Enables Geographically Distributed Development by loosely coupled teamsEnables Geographically Distributed Development by loosely coupled teams Enables Evolutionary Development Enables Evolutionary Development Enables ReuseEnables Reuse
JVB-STC'97- JVB-STC'97- 66#*
What is OO Development?What is OO Development?
Conceptualize and Abstract Conceptualize and Abstract RequirementsRequirements
Analysis (Develop Models)Analysis (Develop Models)
Design (Create Architectures)Design (Create Architectures)
Evolve Application (Iteratively)Evolve Application (Iteratively)
Identify ClassesIdentify Classes
Identify ObjectsIdentify Objects
Identify RelationshipsIdentify Relationships
Specify InterfacesSpecify Interfaces
Write CodeWrite Code
Fix Application (Iteratively)Fix Application (Iteratively)
Macro Micro
Both are Valid Views!
Both are Necessary!
JVB-STC'97- JVB-STC'97- 77#*
Technology AdoptionTechnology Adoption
The STSC helps U.S. Air Force organizations identify, evaluate, The STSC helps U.S. Air Force organizations identify, evaluate, and and adoptadopt technologies that improve software product quality, technologies that improve software product quality, production efficiency, and predictability.”production efficiency, and predictability.”
Adapted From: Fowler & Przybylinski, 1988Adapted From: Fowler & Przybylinski, 1988
AdoptAdopt
EvaluateEvaluate
IdentifyIdentify
TimeTime
ContactContactAwarenessAwarenessUnderstandingUnderstanding
EvaluationEvaluation
Trial UseTrial Use
Com
mit
men
tC
omm
itm
ent
AdoptionAdoption
InstitutionalizationInstitutionalization
JVB-STC'97- JVB-STC'97- 88#*
Technology AdoptionTechnology Adoption
InitiatingInitiatingInitiating
DiagnosingDiagnosingDiagnosing EstablishingEstablishingEstablishing
ActingActingActingLeveragingLeveragingLeveraging
EstablishEstablishEstablishImprovementImprovementImprovementInfrastructureInfrastructureInfrastructure
Stimulus forStimulus forStimulus forImprovementImprovementImprovement
Appraise Appraise Appraise Current Current Current Practice Practice Practice
DevelopDevelopDevelopRecommendationsRecommendationsRecommendations
& Document & Document & Document ResultsResultsResults
EstablishEstablishEstablishAction TeamsAction TeamsAction Teams
Plan ActionsPlan ActionsPlan ActionsSet StrategySet StrategySet Strategy& Priorities& Priorities& Priorities
DefineDefineDefineProcessesProcessesProcesses& Measure& Measure& Measure
DocumentDocumentDocument& Analyze & Analyze & Analyze
LessonsLessonsLessonsReviseReviseReviseOrganizationalOrganizationalOrganizationalApproachApproachApproach
Plan &Plan &Plan &Execute PilotsExecute PilotsExecute Pilots
Plan, Execute,Plan, Execute,Plan, Execute,& Track& Track& TrackInstallationInstallationInstallation
Set Context Set Context Set Context & Establish& Establish& EstablishSponsorshipSponsorshipSponsorship
Based on SEI’s IDEAL ModelBased on SEI’s IDEAL Model
OT is increasingly a potential solution
OT is increasingly a potential solution
Tailor and use “standard” STSC OT adoption plan.
Tailor and use “standard” STSC OT adoption plan.
Pilot OTPilot OT
JVB-STC'97- JVB-STC'97- 99#*
OutlineOutline
BackgroundBackground Object Oriented DefinitionsObject Oriented Definitions Technology AdoptionTechnology Adoption
OO Technology AdoptionOO Technology Adoption DoD Adoption ContextDoD Adoption Context TrainingTraining Development ProcessDevelopment Process ManagementManagement Pushing Adoption Pushing Adoption
JVB-STC'97- JVB-STC'97- 1010#*
DoD Adoption ContextDoD Adoption Context
Project AttributesProject Attributes
FunctionalityFunctionality Errors not ToleratedErrors not Tolerated
ScheduleSchedule Predictable Predictable
MaintainableMaintainable Very long software lifetimeVery long software lifetime
Community expects Reviews and DocumentsCommunity expects Reviews and Documents
Move underway from Mainframe to Workstation or PC Move underway from Mainframe to Workstation or PC platformsplatforms
JVB-STC'97- JVB-STC'97- 1111#*
DoD Adoption Context (cont.)DoD Adoption Context (cont.)
Organizational AttributesOrganizational Attributes
PersonnelPersonnel CiviliansCivilians Very Low TurnoverVery Low Turnover MilitaryMilitary Very High TurnoverVery High Turnover ContractorsContractors Critical to successCritical to success
Hierarchical and Command Driven OrganizationsHierarchical and Command Driven Organizations
Very Strong Mission FocusVery Strong Mission Focus
SPI Activities underwaySPI Activities underway
Training Funds controlled by Organization (not Project)Training Funds controlled by Organization (not Project)
JVB-STC'97- JVB-STC'97- 1212#*
OT Adoption IssuesOT Adoption Issues
General Adoption IssuesGeneral Adoption Issues
Resistance to ChangeResistance to Change
On Going Improvement ProgramsOn Going Improvement Programs
Mission RequirementsMission Requirements OO & OT SpecificOO & OT Specific
TrainingTraining
Development ProcessDevelopment Process
Management ChangesManagement Changes
JVB-STC'97- JVB-STC'97- 1313#*
TrainingTraining Focus on Paradigm ShiftFocus on Paradigm Shift
Education not TrainingEducation not Training Very Long Time ScaleVery Long Time Scale
Must Map to Development ProcessMust Map to Development Process Training not EducationTraining not Education
Training Truisms ApplyTraining Truisms Apply Just in TimeJust in Time MentoringMentoring
Build Organic Training CapabilityBuild Organic Training Capability High TurnoverHigh Turnover Long Product LifeCycleLong Product LifeCycle
Provide Training to Project ReviewersProvide Training to Project Reviewers
JVB-STC'97- JVB-STC'97- 1414#*
Development ProcessDevelopment Process
IncrementalIncremental Largest Process ChangeLargest Process Change A few Formal Reviews replaced by many “In Process” ReviewsA few Formal Reviews replaced by many “In Process” Reviews Monolithic Specification (requirements or design) replaced by Monolithic Specification (requirements or design) replaced by
evolving baseline(s)evolving baseline(s)
Different from the Old ProcessDifferent from the Old Process Let the technical gurus specify itLet the technical gurus specify it Make sure it specifies sound software engineering processesMake sure it specifies sound software engineering processes
Formal Design and Test subprocessesFormal Design and Test subprocesses Metrics CollectionMetrics Collection A Formal Peer Review ProcessA Formal Peer Review Process Coding StandardsCoding Standards
Focus on the Software ArchitectureFocus on the Software Architecture Should be the first technical stepShould be the first technical step
JVB-STC'97- JVB-STC'97- 1515#*
Management of OO Projects in the non OO organization
The basics do not change ... just the details.The basics do not change ... just the details.
Staffing Staffing Get, keep, and train the right people. (Abstraction Skills)Get, keep, and train the right people. (Abstraction Skills)
Estimating Estimating Different size metrics. (MOOSE, POPS, OPA)Different size metrics. (MOOSE, POPS, OPA)
PlanningPlanning Different milestones. (In Process Reviews)Different milestones. (In Process Reviews)
Tracking ProgressTracking Progress Different measures of completeness. (Use Earned Value)Different measures of completeness. (Use Earned Value)
Requirements ChangeRequirements Change RM very important due to incremental approach.RM very important due to incremental approach.
RiskRisk Identify and Track (Particularly New Technology Identify and Track (Particularly New Technology Impacts)Impacts)
LeadershipLeadership Different learning curves for staff. Different learning curves for staff. Both new technology and new development paradigms are being Both new technology and new development paradigms are being
introduced. introduced. When the going gets tough the development staff will demand to When the going gets tough the development staff will demand to
use their tried and true methods. use their tried and true methods. There will be an intense desire to hack.There will be an intense desire to hack.
JVB-STC'97- JVB-STC'97- 1616#*
OT Adoption IssuesOT Adoption Issues
No Explicit Reason for OTNo Explicit Reason for OT
““Hacking” IssueHacking” Issue Micro OO (without Macro OO)Micro OO (without Macro OO)
Estimation Techniques and HeuristicsEstimation Techniques and Heuristics Lack of Experience, No Industry StandardsLack of Experience, No Industry Standards
Software ArchitectureSoftware Architecture How is a Product Line Approach institutionalized?How is a Product Line Approach institutionalized?
Other Organizational ElementsOther Organizational Elements i.e., CM, QA, Test have to change their processesi.e., CM, QA, Test have to change their processes
Expectations - OT is not a Silver Bullet.Expectations - OT is not a Silver Bullet.
JVB-STC'97- JVB-STC'97- 1717#*
Pushing OT AdoptionPushing OT Adoption
Specifying “... shall use OO ...” does NOT workSpecifying “... shall use OO ...” does NOT work Often get Functional Systems expressed as ObjectsOften get Functional Systems expressed as Objects Developer gets “Time to Market” Savings when acquirer wanted Developer gets “Time to Market” Savings when acquirer wanted
High MaintainabilityHigh Maintainability
Solution StrategySolution Strategy Explicitly Determine why OO Explicitly Determine why OO
(e.g., Maintainability, Reuse, Time to Market, etc.)(e.g., Maintainability, Reuse, Time to Market, etc.)
This is the requirement, not “...shall use OO ...”This is the requirement, not “...shall use OO ...” Express the requirement in a testable wayExpress the requirement in a testable way
Example: For a goal of high maintainability - Use Coupling, Cohesion, Example: For a goal of high maintainability - Use Coupling, Cohesion, Inheritance Depth (and other) metrics to define design maintainabilityInheritance Depth (and other) metrics to define design maintainability
Remember Remember OT is not a Silver Bullet.OT is not a Silver Bullet.
JVB-STC'97- JVB-STC'97- 1818#*
ConclusionsConclusions
OT Adoption needs to be planned like any other projectOT Adoption needs to be planned like any other project Good planning implies you have a process for adoption projectsGood planning implies you have a process for adoption projects The adoption process needs to be tailored for OO adoptionsThe adoption process needs to be tailored for OO adoptions
DoD has a unique development culture DoD has a unique development culture Most OO experience and practices relate to the commercial worldMost OO experience and practices relate to the commercial world
OT is not a Silver BulletOT is not a Silver Bullet Be explicit about your goals and OT may be the solutionBe explicit about your goals and OT may be the solution
Organizational Adoption of OO in a Federal Setting is not Organizational Adoption of OO in a Federal Setting is not easy ... but it can succeedeasy ... but it can succeed
JVB-STC'97- JVB-STC'97- 1919#*
Successful Adoption and Use of Successful Adoption and Use of Object Oriented TechnologiesObject Oriented Technologies
Jim Van BurenJim Van BurenCharles Stark Draper LaboratoryCharles Stark Draper LaboratorySoftware Technology Support CenterSoftware Technology Support CenterVoice:Voice: (801) 775-5555 (x3042)(801) 775-5555 (x3042) DSN 775-5555 (x3042)DSN 775-5555 (x3042)Fax:Fax: (801) 777-8069(801) 777-8069 DSN 777-8069DSN 777-8069Email:Email: vanburej@software.hill.af.milvanburej@software.hill.af.mil
Recommended