39
Software Architecture Research: Science or Engineering? Philippe Kruchten Seattle, May 1 st , 2018 ICSA YRF

Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

SoftwareArchitectureResearch:ScienceorEngineering?

PhilippeKruchtenSeattle,May1st,2018

ICSAYRF

Page 2: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

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

ProfessorofSoftwareEngineeringNSERCChairinDesignEngineeringDepartmentofElectricalandComputerEngineering

UniversityofBritishColumbiaVancouver,[email protected]

FounderandpresidentKruchtenEngineeringServicesLtdVancouver,BCCanada [email protected]

Page 3: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

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

Page 4: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Caveat-Disclaimer

•  Thistalkisnotscience

•  Thistalkisnotengineeringeither.

•  Thisisjustabunchofopinions,rootedinmyownexperience.

Page 5: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Definingsuccess

•  SoyouareworkingonaPhD…•  … insoftwarearchitecture(orsomethingsoftwarishlikethat)

Page 6: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Definingsuccess

•  SoyouareworkingonaPhD…•  …insoftwarearchitecture(orsomethingsoftwarishlikethat)

•  Why?

Page 7: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Definingsuccess

•  SoyouareworkingonaPhD…•  …insoftwarearchitecture(orsomethingsoftwarishlikethat)

•  Why?•  Howdoyoudefinesuccess?

Page 8: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

•  Ifyoumetsuccesswhatwoulditlooklike?

Page 9: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

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

#ofusers/=citationcount

Page 10: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Evaluation&Judgment

•  Conceptualframeworks– Pre-existing– Home-grown

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

Page 11: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

MyownPhDfilter

•  Howmuchscienceandhowmuchengineering?

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

YourPhD

Mybrain

MyimageofyourPhD+evaluation

Page 12: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

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)

Page 13: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Scientist

Page 14: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Engineer

Page 15: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

SoftwareArchitect

Page 16: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

ResearcherinSoftwareArchitecture

Page 17: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Onthescienceside

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

Page 18: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Ontheengineeringside

•  Buildatool•  Amousetrap•  Abettermousetrap•  Immediatevaluetomankind,– oratleastthesoftwarepractitionersubsetofmankind

Page 19: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Badscience

•  Notaproblem•  Overgeneralization•  Notrootedinevidence

Page 20: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Badengineering

•  Yesanothermousetrap•  Doesnotsolveaproblemanyonehas(anymore)

•  Doesnotscaletoreal-lifeproblem•  ….

Page 21: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Balance?

Science Engineering

Page 22: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Wheredoyoulocateyourself?

Science Engineering

Page 23: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Impact

Science Engineering

Page 24: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

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

#ofusers/=citationcount

Page 25: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Impact

Science Engineering

Page 26: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Impact

Science Engineering

#users$$Citation

Page 27: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Impact

Science Engineering

XRF XMB

XPK

Page 28: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Researchmethod

Scientificmethod Engineering‘method’

Empiricalmethod

Analyticalmethod

Page 29: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Explainwhatyoudo,andwhy

•  Casestudy•  Survey•  Experiment•  Ethnographicstudy•  Secondarystudy

……

•  Actionresearch

•  GroundedTheory

Page 30: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

ScienceANDengineering

•  Toolbuilding:– Articulatewhatyoudobasedonsometheory– Clean,clearconcepts

•  Science:– Validatetheusefulnessbysomepracticalandrealisticimplementation;usage

Page 31: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Trapsintoolbuilding

•  Goodtool=>lotsofwork– OnlyatinyfractionisPhDmaterial

•  Validationishard(experiment)– Bettermousertrap?Really?

•  Isolation=>Feedthebeast

•  Dissemination(commercialization?)•  Sustainability

Page 32: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Trapsinscienceappraoch

•  “Everythingsoftwarefolksdocanbereducedtoahugegraph.”

•  “Everythingcanbereducedtosecondorderlogic.”

•  Andthenwhat?

(OK,Iamanengineer,Ihavesomebiases,here)

Page 33: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Validity•  …OrhowmuchdoIbelievewhatyourclaim

•  Constructvalidity–  Flimsyfoundation,notarealproblem,toomuchbias

•  Internalvalidity–  Researchnotconductedproperly;lackofrigour

•  Conclusionvalidity– Gee,Iwouldhaveconcludedsomethingdifferent

•  Externalvalidity–  Cannotbegeneralized

Page 34: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Contribution

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

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

•  Ethicalbehaviour

Page 35: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Success

•  Takethemeanstoreallyachievesuccessthewayyoudefinedsuccess.– Optimizeforthatformofsuccess.

•  Communication– Socializeyourideas,contributions…

•  Secrecy– Patent,tradesecret,etc…

Page 36: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Morepersonalgripes

•  NotallhumanknowledgeisinjournalpapersindexedbyIEEExplore(orwebofsci,orscopus)

•  Renamingoldconceptsisnotinnovation,justobfuscation

•  Softwareengineeringstudentsarenotrepresentativeofthesoftwaredevelopmentpopulation

•  Thisisnotabattlefield

Page 37: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Moregripes

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

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

Page 38: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

Slidesatphilippe.kruchten.com/talks/

Page 39: Software Architecture Research: Science or Engineering? › 2018 › 05 › icsa... · , Ph.D., P.Eng., FEC, CSDP Professor of Software Engineering NSERC Chair in Design Engineering

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)