ICSE 2018 reisiaruanne: 50 aastat tarkvaratehnikat

Enamik kõigi 40 ICSE koosoleku üldjuhatajaid ja programmitoole.

Tarkvaratehnika uuringute valdkond on sel aastal 50 aastat vana; suurim, vanim ja parim tarkvaratehnika konverents, rahvusvaheline tarkvaratehnika konverents, on 40 aastat vana. Selle aasta konverents oli kogukonnale suurepärane võimalus vaadata tagasi poole sajandi pikkusele uurimistööle ja küsida: “Mida me oleme õppinud? Mida me unustasime? Mis meil puudu on? ”Veetsin nädala Rootsis Göteborgis, pürgides selle küsimusega, mõtiskledes paljudele mõistlikele põhikõnedele ja vestlustele, mis neile küsimustele vastasid, kuid jagasin ka oma mõtteid, kuidas kahe kutsutud vestluse kaudu edasi liikuda.

Oma esimese terve päeva alustamiseks andsin ma avaettekande Kaevandustarkvara hoidlates.

Alustasin aega ICSE-s, andes ICPC 2018 ja MSR 2018-l ühise peaesineja tarkvaratehnika uuringute hädavajalikust interdistsiplinaarse töö ja teooria järele, kasutades nende suuremate punktide näidetena kogukondi, mis keskenduvad mõistmisele ja kaevandamisele. Kirjutasin oma jutust ühes eelmises postituses, võttes kokku oma argumendid. Pärast vestlust ja kogu konverentsi vältel pidasin tõeliselt huvitavaid vestlusi mõlema vanemteaduriga, kes nägid vaeva, et mõista, mida ma teooria all silmas pidasin, aga ka uue doktorikraadi. üliõpilasi paelub teooria potentsiaal oma töö mõjukamaks muuta. Pidasin mitme CMU doktorandiga suurepärast grupivestlust selle üle, mis on teooria, milline see välja näeb, kuidas see võib muuta meie tehtud uuringuid ja kuidas muuta meie tulemused põhjalikumaks. Rääkisin ka Adobe Analyticsi inseneriga, kes oli hädas analüüsivahendite sisemiste kasutuselevõtjate leidmisega. See oli põnev võimalus proovida mõjutada seda, kuidas järgmine põlvkond teadlasi ja insenere teooria töösse kaasata, kuid see pani mind mõtlema, kuidas õpetada teooria kasutamist tõhusalt.

Esmaspäeval veetsin osa oma ajast MSR-i ja ICPC-istungjärkudel, kuuldes viimastest uuringutest veateate tajumise, kujunduse mõistmise ja muude pingutuste kohta arusaadavuse uurimiseks. Ühes artiklis korrati 121 koodiga seotud keerukusmõõdiku hinnangut, et näha, kas need on seotud arendajate enda esitatud arusaadavuse kogemusega, leides, et pikkus ja muutujate nimed ennustavad arendajate hinnanguid ühiselt. Nendes väiksemates ühispaiknemisega konverentsidel on andmete kasutamist tõesti nutikalt kasutada, esitades mõistmise ja kaevandamise ristumiskohas tõeliselt kaalukaid küsimusi. Nagu ma oma põhiteatises märkisin, vajavad nad tegelikult mõistmise teooriat, kuid nende leitud mustrid on heaks aluseks nende teooriate arendamiseks.

Esmaspäeva pärastlõunal oli mul neetide vestlus Tim Menziesiga sügavate või madalate mudelite suhtelistest eelistest. Ta vastas mu peaesinejale osaliselt üllatusega, et ma ei olnud hoidla kaevanduskogukonna suhtes sügavamaid kriitikavahendeid avaldanud, vaid ka seda, et ma polnud tunnistanud lihtsate, madalate mudelite hämmastavat võimet igasuguseid tarkvara otsuseid optimeerida ja skaleerida. inseneri. Tema argument oli sisuliselt see, et mõnel või võib-olla paljudel juhtudel ei pea me selgitama, miks tööriistad, süsteemid või protsessid töötavad, vaid nad peavad lihtsalt töötama. Hajutasime lahkarvamused, jõudes lõpuks järeldusele, et vajame tõenäoliselt igasuguse sügavusega mudeleid (teooriatest kuni seletamatute seadusteni mõistuseta, kuid täpsete ennustusmootoriteni). Selline mitmekesisus on ilmselt tervisliku akadeemilise diskursuse märk.

MSR-i bankett Göteborgi maailmakultuurimuuseumis.

Esmaspäeva õhtu oli kaevandustarkvara hoidlate konverentsi pidulaud. Mul oli rikkalik vestluste komplekt Mei Nagappani, Andy Zaidmani ja Michael Godfreyga. Rääkisime kõigest ametikohast ja edutamisest, CS-tasemeõppes, programmeerimises õppimise isiklikust ajaloost ja rollidest vartijana CS-i õpetamisel. Minu jaoks on sellised vestlused akadeemilise võrgustiku sügav sisu: need on vestlused meie elust, ideedest ja nendevahelisest suhtlusest.

Aabram rääkis teaduse järkjärgulise arengu vajalikkusest.

Teisipäeva hommikul pidas Abram Hindle oma paberi kohta mõjukaima auhinnajutu: “Mida ütlevad suured kohtud? Suurte komisjonide taksonoomiline uurimus? ”Selle paberi puhul oli oluline see, et see oli üks esimesi dokumente, mille eesmärk oli mitte ainult edendada kaevandamistehnikaid, vaid ka tegelikult esitada küsimus hoidlate sisu kohta, liikudes valdkonnas tarkvara poole suunatud teaduslikemate küsimuste poole tehnika, mitte ainult kaevandamise tehnikad. Minu arvates oli see töö kohta teaduslikult väga huvitav: see kinnitas kindlalt, et kõrvalnähud on olulised ja neid ei saa teadvustada ning et suured pühendunud kõrvalnähud olid tarkvara arendamise olemuse kohta kriitilised näitajad. Samuti keskenduti ainuüksi kohustuste üksikasjalikule sisuanalüüsile, mis oli (ja on endiselt) harvaesinev meetod kõigis andmekaevandamise uuringutes. Aabram esitas ka kaaluka argumendi, et paberite tagasilükkamine viivitamatult teostatavate tulemuste puudumise tõttu muudab meie teaduse ja seega ka meie tuleviku ebatõenäoliseks ning on vastuolus stipendiumi põhimõttega. Küsimuste ja vastuste osas tõi Abram mõned mõistvad punktid teadusuuringute ökonoomika ja selle kohta, kuidas ta suudab väänata, milliseid küsimusi me esitame, ja võimalike teaduslike uurimuste põhjalikkust.

Lutz Prechelt esitas vaheajal mulle põneva küsimuse: miks hoolimata tarkvara keerukusest ja arendajate ettevalmistamatusest ikkagi tarkvara ehitatakse, võetakse kasutusele ja kasutatakse produktiivselt? Mõtlesin hetkeks ja jagasin oma suurejoonelist teooriat. Minu seletus oli, et vaatamata sellele, et tarkvaral on täideviimiste tegelik lõpmatu olekuruum ja mis on arendajatele lõpmatult arusaamatu, on sellel tegelikult ainult väike asjakohane olekuruum, mida kasutajad praktikas kasutavad. See tähendab, et vaatamata kogu sellele keerukusele on arendajad võimelised omandama just piisavalt teadmisi selle asjakohase hukkamiste ruumi kohta ja tagama, et tarkvara on nende jaoks tõhus ja vastupidav. Isegi kui tarkvara pole efektiivne ja vastupidav, kahtlustan, et kasutajad on vastupidavad enamikule ilmnenud tõrgetest, leiavad ümbersuunamise või muudavad oma käitumise põhjal oma eesmärke. See vastupidavuse teooria selgitab, miks tarkvara on vaatamata haprale väärtuslik. See ei tähenda, et tarkvara tõrgetel pole tähtsust: on tõsiseid tõrkeid ja sageli tekivad need seetõttu, et arendajad ei oma täpset ettekujutust selle kohta, millised keeruka tarkvarasüsteemi riikliku ruumi osad valdkonnas tegelikult on. Pealegi pole arendajatel sageli selle täpse teabe saamiseks vajalikke tööriistu ega andmeid. Lisaks sellele on palju automatiseeritud süsteemide alakomponente, mida meil peab olema võimalik ametlikult kontrollida, et vältida allpool asuvaid tõsiseid rikkeid. Samuti on olulisi inimesele-silmuses kaalutlusi, mille parandamiseks on vaja erilist tähelepanu, nõudes HCI-meetodeid. Nii habras kui maailm on habras tarkvara, saame ja peame ka paremini hakkama saama.

Tegin teisipäevase lõuna pausi, et pidada doktorantide nõustamisel noorema kolleegiga neetimist. Ta esitas suurepäraseid küsimusi, mis andsid mulle suurepärase aluse oma praktikate kajastamiseks. Rääkisin palju kultuuri määratlemisest ja oma uuest strateegiast kirjutada pardadokument, mis seab ootused. Rääkisin psühholoogilisest ohutusest kui usaldusväärsete suhete loomise alustalast õpilastega ja oma meeskonnaga. Rääkisin kriitilisest vajadusest tegelikult sisenemisdokumendis sisalduvaid norme jõustada ja modelleerida, et tugevdada oma labori kultuuri. Jagasin mõtteid õpilaste rühmitamise kohta, et suurendada vastutust, ideede mitmekesisust ja tagasiside sagedust. Arutlesin ka eeldatavate pingete üle, mis võivad tekkida seoses publikatsioonide vajalikkusega, aga ka vajadusega anda õpilastele ruumi õppimiseks, ja kuidas neid pingeid lahendada, säilitades eraldi esimese uurimistöö lõime. Mis kõige tähtsam - tuletasin sellele kolleegile meelde, et see õppimine ei lõppe. Tean vanemaid kolleege, kes pärast aastakümnetepikkust õppimist ikka nõu küsivad.

Mul oli teisipäeva õhtul imeline õhtusöök koos Thomas LaToza ja doktorikraadiga. üliõpilane August Shi, kus arutasime laiahaardelist põhi- ja rakendustarkvara arendamise uuringuid, ühiskonnaõpetuse rolli tarkvaratehnika uuringutes ning vajadust ausamate, teoreetiliselt põhjendatud raamatupidamisaruannete järele, mis tuginevad eeldustele valdkonna tehnilise töö kohta.

Ericsson Researchi esimees Magnus Frodigh andis kolmapäeval sissejuhatava sissejuhatuse traadita side ja 5G kohta. Ta alustas sellega, et ennustas kiiret muutuste tempot meie digitaalsetes kogemustes, aga ka aeglasemat muutust võrgutaristu osas. Ta väitis, et 5G-standardi stabiilsus on vajalik kõikvõimalike asjade Interneti uute muutvate infrastruktuuride jaoks, sealhulgas reaalajas masinatevaheline suhtlus. Ta suundus sügavalt 5G infrastruktuuri üksikasjadesse, mis oli minu arvates kuiv ja enamasti tarkvaratootmise seisukohast ebaoluline, kuid jutu sisse maetud veenvaks visiooniks oli kujuteldamatu inimeste ja masinate ühenduvuse ulatus, mis latentsuse põhimõtteliselt kõrvaldab. Magnus väitis, et see muudab uute kogemuste prototüüpide valmistamise dramaatiliselt lihtsamaks, kuna süsteeme saab tervikuna koostada madala viivitusajaga võrgustatud teenuste, mitte riistvara juurutamise kaudu.

Kolmapäevase hommikuse pausi ajal vestlesime Walter Tichy, James Herbslebi ja produktiivse vestlusega selle üle, kuidas muuta tarkvaratehnika uurimisringkondade kasutamist ja teooria arendamist. Alustasime vaatlusega, kuidas väljal on teooriaid, need on lihtsalt kaudsed ja kui need selgesõnaliseks muuta, võivad nad panna meid oma eeldusi ja uurimissuundi ümber mõtlema. Näiteks on väljal teooriaid abstraktsiooni jõu kohta, arusaamad vea häälestamisest programmeerimiskeele kujundamisel ja kuidas programmide mõistmine töötab. Me lihtsalt ei tee neid teooriaid selgesõnaliseks. James oli andnud sissejuhatuse ka teooriale ning nii tema kui ka mina olime mõlemad saanud sooja vastuse meie üleskutsetele rohkem teooriat, nii et arvame, et valdkond on õppimiseks valmis. Kaalusime kogukonna harimisviiside üle, sealhulgas mõne kerge materjali väljatöötamiseks uute doktorantide või huvitatud õppejõudude õpetamiseks. Arutasime Dagstuhli võimaliku korraldamise üle nende materjalide väljatöötamiseks ja juurutamiseks.

Chris Parnin arutles keeruka õpetamise üle.

Ülejäänud kolmapäeva veetsin tarkvaratehnika hariduse ja koolituse rajal (mida ma 2020. aastal kaasesitlen, kuid arvan ka, et see on üsna oluline ja keskse tähtsusega minu arvutiõppega seotud huvides). See pala avaldab ranged, eelretsenseeritud arvutusõpet käsitlevad teadusuuringud tarkvaratehnika kohta. Chris Parnin avas esimese seansi, rääkides suure keeruka tarkvararakenduse iTrust kasutamisest tarkvaraehituse õpetamiseks. Ta leidis, et tudengid hindasid palju hiljem pärast kursust sügavat seotust suure keeruka süsteemiga, kuid nad ei nautinud seda kogu kursuse ajal. Pärandkoodiga töötamine oli tohutu. Nad muutsid kursuse läbi, viies klassi tegevused vastavusse projekti endaga, mis tekitas kursuse suhtes palju positiivsemaid tundeid (nagu tuleks eeldada; õpilased vajavad oma kaasamiseks püsivalt klasside tegevuste kohta sidusat jutustust). Veel ühes jutus leiti, et aktiivne videovaatlus, mille käigus õppijad kommenteerivad sisu ja kommenteerivad kommentaare, suurendasid huvi video vaatamise vastu. Mõned kõnelused keskendusid laboritele, nurgakividele ja muudele kogemusliku õppe projektidele. Üldiselt leiti nendes uuringutes, et kogemuslikku õppimist on logistiliselt tõesti raske teostada, väljakutseid autentseks muuta ja väga raske teada, kuidas seda hinnata. Tundub, et selle töö korraldamiseks on vaja mõningaid kogemusliku õppimise teooriaid.

Reid Holmes arutas asju, mida õpilastele õppimine meeldis.

Reid Holmes esitas kena pikaajalise uuringu Kanada kogemusõppeprogrammist kõrgjõudlusega arvutiteaduse üliõpilastele (bakalaureusekraadi avatud lähtekoodiga projektid). Uuringus avastati hämmastavalt positiivseid kogemusi, kus õpilased hindasid kõrgelt oma klassiruumis omandatud teadmiste kasutamist reaalsete, uudsete ülesannete jaoks reaalsete projektide jaoks koos kasutajaskonnaga, saades samal ajal juhendajaks reaalsetelt arendajatelt. Selle töö tume alus on see, kuidas õpilasi valitakse: programm valib selgesõnaliselt parimad õpilased mitmest õppeasutusest, mis väldib paljusid õppimisprobleeme, mis võivad tekkida vähem ettevalmistatud õpilaste puhul.

Universumi vihmamets oli tõesti niiske!

Kolmapäevaõhtune vastuvõtt oli Universeumis, loodusteaduste muuseumis, mis oli täis loomi, kalu ja massiivset niisket vihmametsa. See oli vastuvõtu jaoks tõesti huvitav kontekst, sest selle asemel, et olla suur avatud ürituste ruum vestluseks, oli see täis interaktiivseid eksponaate, mis meelitasid kohalolijaid mängu ja uurimise ümber. Eksponaadid polnud eriti kutsuvad ega köitvad, kuid need olid piisavalt head, et käivitasid igasuguseid huvitavaid vestlusi, mida meil muidu poleks olnud. Rääkisin kohalolijatega Gila koletistest, kaltsukatest, meduusidest, tarkvarapõhiste eksponaatide tarkvarahooldusest ja akadeemilise arvutiteaduse juurde sulandunud laiast küünilisusest.

Neljapäeva hommikul sõin hommikusööki Brendan Murphy, Laurie Williamsi ja UW doktorikraadiga. üliõpilane Calvin Loncaric meie hotelli hommikusöögisaalis. Meil oli lai arutelu kahe suure südamega seotud väljakutse üle, mis mulle südamelähedased on: ametlike süsteemide, näiteks programmeerimiskeelte, ühitamine inim- ja sotsiaalsete süsteemidega ning statistikasüsteemide nagu masinõpe ühildamine inim- ja sotsiaalsete süsteemidega. Minu arvates on need kaks kõige olulisemat infotehnoloogia suurt väljakutset ja ometi ignoreerib enamik arvutiteaduse inimesi neid. Brendanil oli palju öelda andmeanalüüsi ja masinõppe ühendamise keerukuse kohta reaalsete projektidega, Laurie rääkis palju samadest väljakutsetest, mis on seotud tarkvaraarenduse turvalisuse arvestamisega, ja Calvin kaalus neid probleeme enda andmestruktuuri sünteesi töös, kus lahtised küsimused on sünteesitud koodi arusaadavuse ja tema spetsifikatsioonikeele õpitavuse kaalutlused.

Fred Brooks Jr., tõlgendades ajalugu.

Neljapäeva hommikul oli kaks peaesinemist. Tarkvaraprojektide juhtimise seminari "Müütiline meeskuu" autor Fred Brooks, Jr, annab tagasivaate. Fred rääkis programmide, tarkvara, tarkvarasüsteemide, tarkvaratoodete arengust. Seejärel määratles ta tarkvaratehnika kui tarkvaratoodete valmistamise distsipliini. Ta rääkis suurtest ideedest tarkvaratehnika ajaloos, sealhulgas von Neumanni programmidest kui andmetest ja kõrgetasemelistest programmeerimiskeeltest nagu COBOL ja FORTRAN. 60-ndatel viis tarkvarakriis (suurte süsteemide ehitamise väljakutse) ideeni tarkvaratehnikast kui insenerist. Suur tunnustus oli see, et projekti keerukuse kasv ei olnud lineaarne. Suur osa sellest tõi kaasa süsteemide panuse, näiteks Tom Kilburni interaktiivne silumine ja Fernando Corbato ajajaotuse operatsioonisüsteem, andmebaasisüsteemid, Robert Floydi ja Tony Hoare ametliku kontrollimise ideed ning Simula objekti orientatsioon. 70-ndatel ilmnesid David Parnase teabe varjamine, Barbara Liskovi abstraktsed andmetüübid, Harlan Millsi ja Niklaus Wirthi järkjärguline täpsustamine, Michael Fagani koodide kontroll ja tarkvaraprojektide juhtimine. Barry Boehm esitas ka küsimusi nõuete ja nõuete valideerimise kohta. Ta soovitas väga Grady Boochi ACMi veebiseminari tarkvaratehnika ajaloo ja Barry Boehmi eluaegsete panuste kohta.

Margaret Hamilton jagab lugusid suurarvutite programmeerimisest.

Teise neljapäevahommikuse peaesinejana oli Margaret Hamilton, kes kujutles fraasi „tarkvaratehnika“. Ta oli matemaatikaüliõpilane, kui otsustas praktiseerida MIT-is LGP30 ilmastiku tarkvara arendamise vastu ning arendas huvi tarkvara vastu ja lõpuks ehitas välja Apollo. tarkvarasüsteemid, mis võimaldasid USA-l maanduda Kuule. Tema vestlus “Keel tarkvarainsenerina” rääkis suurtest probleemidest: integratsioon, arendatavus on raske, taaskasutamine on raske ja tarkvara ebaõnnestub. Ta küsis, miks oleme 50 aasta jooksul nii vähe edusamme teinud? Ta väitis, et neid on olnud. Varem polnud põldu; nüüd on olemas. Oleme määratlenud terminid. Kuid tegelikkus on see, et tarkvaratehnika on selgelt inimlik, selgelt sotsiaalne ja selgelt intellektuaalne töö ning enamiku neist teguritest pole meil siiani vaeva nähtud. Ta tõi näiteid peamistest HCI väljakutsetest, milleks on inimeste vahel interaktiivsete süsteemide loomine, tarkvara, vead ja vigade taastamine ning kuidas need olid Kuul maandumisel kesksel kohal. Ta mõistis, et süsteemid on oma olemuselt asünkroonsed, hajutatud ja sündmustest lähtuvad ning tarkvara kajastamiseks kasutatavad keeled peaksid seda kajastama. Ta tasakaalustas seda aruteluga vajaduse üle kavandada arhitektuuri kaudu korduvkasutatavate ja usaldusväärsete mustrite kaudu. Mul oli hea meel näha küsimuste ja vastuste kaudu kogukonna tunnustust ajaloole, selle väärtust ja valdkonna suurimate ideede kaugeid algeid.

Miryung Kim UCLA-st räägib põnevast andmeteaduste rollide uuringust.

Neljapäeval juhatasin istungit pealkirjaga “Tarkvarainseneride õppimine”, millel oli neli põnevat empiirilist uuringut, sealhulgas kaks ajakirja esimest TSE väljaannet. Esimene, „Arendajate vajaduste mõistmine keelefunktsioonina” (autor Anand Sawant, TLÜ Delft) avastas palju kasulikke suundumusi amortisatsioonifunktsioonide kasutamisel ja väärkasutamisel, tuues välja vajadused aegumiskuupäevade, tõsiduse hoiatuste ja suurema mitmekesisuse osas hoiatustüüpide kohta. Teises artiklis “Programmeerijate silumiskäitumise dihhotoomia kohta” (autor: Moritz Beller, TLÜ Delfti) avastati, et praktikas kasutatakse silumisriistu harva, et “printfi silumine” on domineeriv ja teadmised silumisriistadest on üsna madal. Seansi esimene ajakiri „Programmi mõistmise mõõtmine: laiaulatuslik väliõpe koos spetsialistidega” (Xin Xia, Lingfeng Bao, David Lo, Zhenchang Xing ja Shanping Li) leidis, et arendajad veedavad suurema osa ajast mõistmisega. koodi, et nad kasutavad koodi mõistmiseks veebibrausereid ja toimetajaid ning mida rohkem arendajal on kogemusi, seda vähem aega nad mõistmisele kulutavad. Seansi viimases artiklis „Andmeteadlased tarkvarameeskondades: hetkeseis ja väljakutsed“ (Miryung Kim, Thomas Zimmermann, Robert DeLine ja Andrew Begel) korraldasime 793 professionaalse andmeteadlase uuringu ja leidsime, et see on tõesti huvitav 9 tüüpi andmeteaduste rollide komplekt: polümaatikud, andmete evangelistid, andmete ettevalmistajad, andmete kujundajad, platvormide ehitajad, erineva astmega mošoneerijad ja ülevaate osalised, kes tõlgendasid andmeid ja kasutasid neid otsuste tegemisel. See rikkalik dekonstrueerimine või erinevad rollid näivad andmeteaduse hariduse teavitamiseks tõesti väga võimsad.

Viimane istung neljapäeval oli tarkvaratehnika 50. aastapäeva tähistamine. Brian Randell esitas tagasivaate 1968. aastal tehtud esimesele tarkvaratehnikale. Brian rääkis sellest, kui vähe on arvuti jaoks veel leiutatud; pole internetti, võrke ega korduvkasutust. Ja ikkagi olid kõik küsimused: testimine, õigsus, haldus jne. Brian eristas programmeerimist ja tarkvaraehitust, määratledes tarkvaratehnika kui “mitme inimese jaoks mõeldud programmide arendamine mitme inimese vahel” (ta ei mäleta, et seda oleks öeldud) , kuid David Parnas väitis, et tegi seda küll). Ta jõudis järeldusele, et põld on kasvanud rohkem kui küpsenud, seades kahtluse alla, kas oleme jõudnud piisavalt kaugele, et meid nimetada inseneridistsipliiniks, ja kutsus kogukonda üles nõudma veel ühe keele ja veel ühe tehnika leiutamist.

Briani jutuajamisele järgnes 1968. aasta konverentsi neljast algsest kohalolijast koosnev paneel. Üks küsimus, mida nad arutasid, oli see, mida nad kahetsesid viimase viiekümne aasta pärast. Nad tõstsid esile keskendumise puudumist nõuete väljatöötamisele, tähelepanu puudulikkusele desinformatsioonile ja tähelepanu puudumisele tarkvara hooldusele. Nad olid pettunud tagasi 60ndatel ja on nüüd pettunud. Mõned paneelid olid formaalsetest meetoditest vaimustuses, kuid pidasid pettumust nende vastuvõtmise puudumise üle. Nad olid ka pettunud selle üle, kui vähe oleme avastanud, kuidas suunata disainilahenduse otsuseid tarkvara omaduste osas. Kuid üldiselt tundus olevat vähe üksmeelt selles osas, kas asjad on paranenud või mitte. Ehitame kindlasti keerukamaid asju, kuid kas need on paremad, õigeaegselt?

Kalad, katteriba ja slaidiseanssid

Neljapäevaõhtune bankett oli laevatehases ja see oli tegevuse imelik pasteet. Toimus pidulaua stiilis söök, doktorantuuriga välilava. üliõpilased laulsid õhtusöögi ajal rokkmuusikat ja Rootsi kattebänd, kes laulis 90ndate ja 2000ndate poplaule, samal ajal kui perenaine tähistas tarkvara inseneride kogukonda ja kutsus lavale erinevaid konverentsikorraldajaid, et nad tänaksid teid. Õhtusöögi ajal mängiti slaidiseanssi igasuguste suvaliste tarkvaratoodete logode abil arvutamise ajaloost, aeg-ajalt retrospektiivse videoga tarkvara inseneri valgustite intervjuudest. See oli veider, segane ja häiriv, eriti kui kamp kohalolijaid nikerdas ürituse ruumi nurgast tantsima.

Tarkvaratehnika tantsupidu!Robert McClure, üks 1968. aasta NATO konverentsi osalejaid.

Reede hommikul leidsin ühe neljapäevase tagasivaatamise paneeli Robert McClure'i, kes istus pausi ajal üksi ja otsustasin seetõttu vestluse alustada. Ta oli üks 1968. aasta konverentsi algseid osalejaid ja aktiivne tööstuse mõtteliider, kes propageeris edasiminekut. Küsisin temalt, mis on 50 aasta jooksul muutunud, mis mitte ja mis on tema ettekujutus progressist. Meil oli põnev ja laiahaardeline vestlus paljudest tarkvaratehnika põhiprobleemidest. Ta alustas aruteluga kriitiliste erinevuste üle tarkvara kujundamise (mis nõuab probleemi ja selle konteksti mõistmist), tehnilise disaini (mis nõuab lahenduse täpset täpsustamist) ja inseneri (mis on selle spetsifikatsiooni puhas rakendamine) vahel. Robert võrdles tarkvaratehnika ja teiste inseneri erialade vahel, nii et ma küsisin temalt, millised olid tema arvates peamised erinevused, kui neid oli. Ta arvas, et see on kraadi küsimus. Ma spekuleerisin, et kriitiline erinevus oli see, mil määral disainer või insener-disainer võiksid olla kindlad, et nad saavad aru probleemist või spetsifikatsioonist; silla ehitamise saidi mõistmine tugineb loodusteadustele, mis on ettearvatavad määral, mis ei vasta tõele inim-, sotsiaal- ja organisatsioonisüsteemide jaoks, mille jaoks tarkvara tavaliselt on ette nähtud. See enesekindluse puudumine tekitab vajaduse prototüüpide loomise, tagasiside ja evolutsiooni järele, mis pole teiste inseneri erialade jaoks vajalik (ja ka mitte teostatav). Rääkisime ka kõigi nende oskuste jaoks vajalikust haridusest ja tema oodatavast muutuste määrast. Ta ootas viimase 50 aasta jooksul palju rohkem muutusi, kui ta on täheldanud, ja spekuleeris, et inimloomus on muutustele palju vastupidavam, kui ta kunagi uskus. Ma pakkusin, et see võib olla lihtsalt tõhusa hariduse läbikukkumine koos arendajate arvu kiire kasvuga umbes 10 000-lt 1968. aastal 30 miljonile 2018. aastal. Ta julgustas mind muutuste ootusi vähendama; Ütlesin talle, et olen ametis oleva professorina järgmised 40 aastat ja olen kannatlik.

Brian Randell, tarkvaraehituse ajaloolane.

Juhuslikult leidsin ka Brian Randelli, neljapäevase 50-aastase tarkvaratehnika peaesineja, kes istub üksi. Küsisin temalt, miks ta arvas, et 2. NATO konverents on nii pettumus ja kuidas ta arvab, et see avaldab tarkvaratehnika uuringute ja praktika järgmistel aastakümnetel. Ta väitis, et suur osa probleemist oli see, et teisel aastal jagunesid kahes osas. Esiteks kujutasid mõned inimesed ette maailma, kus me saaksime tasuta tarkvara täielikult defektidega saata, ja teised uskusid, et selline asi pole võimalik ja me peaksime seda kavandama. Teise mõõtmena olid mõned inimesed huvitatud tarkvaraehituse probleemi dekonstrueerimisest ja teised olid huvitatud tööriistadest, tehnikatest ja muudest lahendustest, mis nende arvates võiksid seda parandada. Sel viisil jagatud kohalolijad lihtsalt ei saanud hakkama. Idealistid ja realistid ei teadnud, kuidas koostööd teha ja probleemikeskne kulutas liiga palju aega lahenduskesksete inimeste lahenduste kritiseerimisele, samas kui lahenduskesksed inimesed olid tagasiside suhtes vastupidavad. Ma pakkusin välja, et paljud neist jaotustest on tänapäevases tarkvaratehnika uuringus endiselt olemas ja tänasin Brianit nende jaotuste ajaloolise päritolu selgitamisel.

Ivar avas oma loo põhiliseks.

UML-i ja Rational Unified Processi kaastöötaja Ivar Jacobson pidas jutu pealkirjaga “50 aastat tarkvaratehnikat, mis nüüd siis saab?”. Ta alustas anekdooti ühe oma esimese tarkvara inseneriprojekti kohta, kus ta pidi tunnistama , ei teadnud ta tarkvaratehnikast midagi. Ja veel, ta juhtis endiselt ajaloo ühte edukaimat Rootsi toodet. Tema tarkvara edukuse tõlgendamine tuleneb lõppkokkuvõttes ärimudelitest ja arendajatest, mitte tarkvarast ja mitte protsessist. Tema arvates on 50 aasta pärast ikkagi käsitöö kui inseneriteadus. Tegelikult väidab ta ajaloos, et meid juhib palju rohkem mood kui teadus: objektorienteeritus, UML, CMMI, Agile ja kõik, mis edasi saab, olid ja jäävad kogu moodi. Ivar väitis, et sõdade kõik meetodid on olnud tähelepanu kõrvalejuhtimine. Tegelik probleem on Ivari sõnul selles, et meetodid on tegelikult praktikate kompositsioonid ning meetodid on monoliitsed ja lõksus gurude valvatud vanglates. Ivari arvates on see ebaküps ja rumal.

Tema soovitus oli keskenduda meetoditele ühise lähenemisviisi leidmisele, meetodite modulaarsusele ja meetodite vabadele tavadele. Ta rääkis standardiorganist, mis kujutas ette praktikat, millel on tegevusi, millel on mingid edukriteeriumid, ja töötooteid, mis pärinevad tegevusest, mida hinnatakse nende edukriteeriumide alusel. Tema põhipunkt on aga see, et kõik see nõuab arendajatelt kompetentsi kõigis neis asjades. Edukriteeriumid sõltuvad klientide vajadustest, toodetavast lahendusest ja meeskonnast selle saavutamiseks. Ta esitas veel mitu detaili nende olekute kohta, millest ta mudelis läbi läheb. See, mida ta kirjeldas, kõlab nagu teaduslik protsessiteooria ja sellest teooriast tulenev protsesside ideede kogum; midagi katsetatavat ja viimistletavat, mitte evangeeliumi. Lõpuks nimetas ta seda tegelikult kirjeldavaks teooriaks ja kutsus teadlasi üles seda edasi arendama ennustavaks ja selgitavaks teooriaks.

Vahetult pärast Ivari kõnet pidasin oma ICSE kõige mõjukama paberiauhinna juttu. Autasustamisseansi keskel võisin öelda, et inimesed on väsinud ja nädala lõpuni valmis. Minu jutul oli nukker, peegeldav, kuid julgustav toon ja kuigi vaikne jutt pärast oli kõrvulukustav, oli Twitteri vestlus kosutav, näidates seltskonda, kes tõesti usub ja hindab seda, mida ma pidin ütlema, ning on näljane juhendamiseks kuidas seda teha.

Andreas alustab oma auhinnajuttu

Andreas Zeller rääkis pärast minu SIGSOFTi teaduspreemia saamist kohe pärast mind. Ta rääkis kolm lugu oma karjäärist, kõik keskendusid mõjule. Esimene lugu oli tema esimesest projektist ja esitlusest, milles ta oli panustanud probleemile lahenduse leidmisele. Tagasiside tõttu pettunud ta tõusis tagasi, keskendudes GNU DDD silurile, millel oli tõeline praktiline mõju. Tema esimene epifaania oli see, et tõeliste probleemide leidmine oli nii hädavajalik, kuid samas ka suurepärane viis mõju avaldamiseks. Tema teine ​​lugu oli lihtsusest. Keegi ühel konverentsil oli pahane, et tema idee delta silumiseks oli nii lihtne. See tõi kaasa impostori sündroomi, intellektuaalse alaväärsustunde. Kuid ta mõistis aja jooksul, et lihtsus on jõud; keerukus oli läbikukkumine. Tema viimane lugu oli tööst, mida ta alustas Tom Zimmermanniga kaevandustarkvara hoidlate alal. Ta täheldas, et hirmud nende varase töö tulemuste pärast lihtsalt ei olnud olulised, sest töö oli uus. Uuendus seisneb alateadlikult uuritud, kuid asjakohaste maailma osade uurimises. Lõppkokkuvõttes väitis Andreas, et ainus asi, mis tegelikult oluline on, on mõju. Ta lõppes inspireeriva üleskutsega jätkata meie unistusi ja jääda püsima.

Göteborgiga hüvasti jättes on keeruline kokku võtta kõik, mida ma õppisin selle aasta ICSE-l. Proovime ikkagi:

  • Lõppkokkuvõttes oleme kõik selles kogukonnas tarkvara täiustamiseks. Keskendume sellele, mitte lühiajalistele mõõdikutele.
  • Me vajame suuremaid ideid, tõenäoliselt teooriate kujul, et meid suunata ja meie mõju suunata.
  • Eespool nimetatud eesmärkide saavutamiseks peame mõtlema asjakohasusele, mitte avaldatavusele.
  • Me eirame oma tarkvaratehnika inimlikke tegureid.

Need on õppetunnid, mille iga meie kogukonna liige peab lõpuks arvesse võtma. Nüüd on möödunud 50 aastat, kui oleme mõistnud nende olulisust ja alles nüüd hakkame neid tõsiselt võtma.