Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D.,...

Post on 08-Jun-2020

0 views 0 download

Transcript of Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D.,...

SoftwareArchitectureResearch:ScienceorEngineering?

PhilippeKruchtenSeattle,May1st,2018

ICSAYRF

PhilippeKruchten,Ph.D.,P.Eng.,FEC,CSDP

ProfessorofSoftwareEngineeringNSERCChairinDesignEngineeringDepartmentofElectricalandComputerEngineering

UniversityofBritishColumbiaVancouver,BCCanadapbk@ece.ubc.ca

FounderandpresidentKruchtenEngineeringServicesLtdVancouver,BCCanada philippe@kruchten.com

Careerpath•  1970:learnedFortranIV•  1972-1975:developed2largeapps->boughtacar(1975:mechanicalengineeringdegree)

•  1983:very1stAdacompiler(NewYorkUniversity)•  1984:SystemarchitectatAlcatelBusinessSystems(Télic)(1986:PhDininformationsystems)

•  1987:joinedRationalSoftwareasaconsultantinSoftwareArchitecture

•  1990:developedRationalarchitecturalmethod•  1992-1996:LeadsoftwarearchitectfortheCanadianATC•  1996-2003:LeddevelopmentoftheRationalUnifiedProcess(aka

RUP)•  2004-now:ProfessoratUBC,Vancouver,Canada

Caveat-Disclaimer

•  Thistalkisnotscience

•  Thistalkisnotengineeringeither.

•  Thisisjustabunchofopinions,rootedinmyownexperience.

Definingsuccess

•  SoyouareworkingonaPhD…•  … insoftwarearchitecture(orsomethingsoftwarishlikethat)

Definingsuccess

•  SoyouareworkingonaPhD…•  …insoftwarearchitecture(orsomethingsoftwarishlikethat)

•  Why?

Definingsuccess

•  SoyouareworkingonaPhD…•  …insoftwarearchitecture(orsomethingsoftwarishlikethat)

•  Why?•  Howdoyoudefinesuccess?

•  Ifyoumetsuccesswhatwoulditlooklike?

Definingsuccess•  Pass•  Degree•  Job•  Citation#•  H-Index•  Newventure:commercialization•  $$$$$$?•  …•  Impactonourprofession:

#ofusers/=citationcount

Evaluation&Judgment

•  Conceptualframeworks– Pre-existing– Home-grown

•  Filter– Forjudgment– Formemorization– Forevolutionoftheframework(self-reflection)

MyownPhDfilter

•  Howmuchscienceandhowmuchengineering?

•  Howvaluableisit?(impact)•  Howvalidisit?•  Isitwellcommunicated?

YourPhD

Mybrain

MyimageofyourPhD+evaluation

Aside:underthehood:myFilter“engine”

1.  Abstract2.  Introduction(… motivation,concept

definition)3.  Conclusion(claims)4.  Method(ology)5.  Body,seeinghowitsupportclaims6.  References(onlyasneeded)7.  Validation8.  Relatedwork9.  Abstract(2)&Title10.  Conclusion(2)11.  References(all,completeness)

Scientist

Engineer

SoftwareArchitect

ResearcherinSoftwareArchitecture

Onthescienceside

•  Abetterunderstandingofaphenomenon– Model– Conceptual,mathematical,ontological,….– Theory

Ontheengineeringside

•  Buildatool•  Amousetrap•  Abettermousetrap•  Immediatevaluetomankind,– oratleastthesoftwarepractitionersubsetofmankind

Badscience

•  Notaproblem•  Overgeneralization•  Notrootedinevidence

Badengineering

•  Yesanothermousetrap•  Doesnotsolveaproblemanyonehas(anymore)

•  Doesnotscaletoreal-lifeproblem•  ….

Balance?

Science Engineering

Wheredoyoulocateyourself?

Science Engineering

Impact

Science Engineering

Definingsuccess•  Pass•  Degree•  Job•  Citation#•  H-Index•  Newventure:commercialization•  $$$$$$?•  …•  Impactonourprofession:

#ofusers/=citationcount

Impact

Science Engineering

Impact

Science Engineering

#users$$Citation

Impact

Science Engineering

XRF XMB

XPK

Researchmethod

Scientificmethod Engineering‘method’

Empiricalmethod

Analyticalmethod

Explainwhatyoudo,andwhy

•  Casestudy•  Survey•  Experiment•  Ethnographicstudy•  Secondarystudy

……

•  Actionresearch

•  GroundedTheory

ScienceANDengineering

•  Toolbuilding:– Articulatewhatyoudobasedonsometheory– Clean,clearconcepts

•  Science:– Validatetheusefulnessbysomepracticalandrealisticimplementation;usage

Trapsintoolbuilding

•  Goodtool=>lotsofwork– OnlyatinyfractionisPhDmaterial

•  Validationishard(experiment)– Bettermousertrap?Really?

•  Isolation=>Feedthebeast

•  Dissemination(commercialization?)•  Sustainability

Trapsinscienceappraoch

•  “Everythingsoftwarefolksdocanbereducedtoahugegraph.”

•  “Everythingcanbereducedtosecondorderlogic.”

•  Andthenwhat?

(OK,Iamanengineer,Ihavesomebiases,here)

Validity•  …OrhowmuchdoIbelievewhatyourclaim

•  Constructvalidity–  Flimsyfoundation,notarealproblem,toomuchbias

•  Internalvalidity–  Researchnotconductedproperly;lackofrigour

•  Conclusionvalidity– Gee,Iwouldhaveconcludedsomethingdifferent

•  Externalvalidity–  Cannotbegeneralized

Contribution

•  Makeacontribution;isitvaluable,forwhom?•  Donotjust“gothroughtheropes”

•  Beclearinyourhead(andwithyoursupervisor)– Motivation(whyareyoudoingthis)–  Impact– Approach(method&validation)

•  Ethicalbehaviour

Success

•  Takethemeanstoreallyachievesuccessthewayyoudefinedsuccess.– Optimizeforthatformofsuccess.

•  Communication– Socializeyourideas,contributions…

•  Secrecy– Patent,tradesecret,etc…

Morepersonalgripes

•  NotallhumanknowledgeisinjournalpapersindexedbyIEEExplore(orwebofsci,orscopus)

•  Renamingoldconceptsisnotinnovation,justobfuscation

•  Softwareengineeringstudentsarenotrepresentativeofthesoftwaredevelopmentpopulation

•  Thisisnotabattlefield

Moregripes

•  Tryyoursurveywith5people(notclosefriends);thenfixitandtrywith20differentpeople;thenfixitandonlythensenditto4,000people.Indicatetypicalduration.

•  Qualitativeresearch(e.g.,ethnographicstudy)isnotjustanamefor“IdidnotcollectanydatasoIamgoingtowingitbasedonmynotes”

Slidesatphilippe.kruchten.com/talks/

Aside:underthehood:myFilter“engine”

1.  Abstract2.  Introduction(… motivation,concept

definition)3.  Conclusion(claims)4.  Method(ology)5.  Body,seeinghowitsupportclaims6.  References(onlyasneeded)7.  Validation8.  Relatedwork9.  Abstract(2)&Title10.  Conclusion(2)11.  References(all,completeness)