jvb-stc'97- 1 #*#* successful adoption and use of object oriented technologies stc ‘97 april...

19
JVB-STC'97- JVB-STC'97- 1 #* Successful Adoption and Successful Adoption and Use of Object Oriented Use of Object Oriented Technologies Technologies STC ‘97 STC ‘97 April 30, 1997 April 30, 1997 Jim Van Buren Jim Van Buren

Upload: lionel-mitchell

Post on 29-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 2: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim 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

Page 3: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 4: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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?

Page 5: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 6: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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!

Page 7: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 8: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 9: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 10: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 11: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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)

Page 12: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 13: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 14: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 15: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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.

Page 16: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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.

Page 17: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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.

Page 18: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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

Page 19: JVB-STC'97- 1 #*#* Successful Adoption and Use of Object Oriented Technologies STC ‘97 April 30, 1997 Jim Van Buren

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: [email protected]@software.hill.af.mil