Ingen søvnløse netter Johannes Brodwall Delivering Transformation. Together.
2
3 1.1.,,
12:38 Hei, vi så appen krasjet for deg. Vi vet hva feilen er og kommer med en fiks i løpet av en time. Hilsen utviklerne! 4 Title presentation
12:38 ;-) Hilsen bruker! 5 Title presentation
6 Slack
7 Når du først har produksjonssatt (ordentlig) så blir alle gladere
8 1.2 «men Johannes,!»
I mange andre situasjoner kan det være mulig å produksjonsette tidlig, men vi er i en spesiell situasjon Jeg vet det alle er i en spesiell situasjon! 9
10
11 2.1 Regulerkraft
Regulering Strømselskap Netteier Operatør EMS Forbruker 12
Regulering Strømselskap Netteier Operatør EMS Forbruker 13
14 2.1.1 Umulig fordi
15
16 2.1.2 Hvordan vi løste det
SAREG LARM REGULERING SYBASE Txlog shipping REGULERING EFFEKT_INTERVALL ORACLE Trigger
Dato Time K1 K2 K3 K4 ABC 25 apr 01 42 47 53 43 Kraftstasjon Kraftstasjon Fra Til MW ABC..:00..:15 42 ABC..:15..:30 47 ABC..:30..:45 53 ABC..:45..:00 43 18
Stikkord - teknisk Kontinuerlig logshipping fra gammel til ny database Triggere (for det meste) for å transformere datamodell API for å skrive fra nytt til gammel Full roundtrip for å se egne endringer Automatiserte (JUnit) tester verifiserte triggerne Investeringen i broløsningen utgjorde kanskje ¼ av kostnaden i første leveranse 19
Stikkord funksjonell Den mest brukte oppgaven var funksjonelt isolert Brukerne var vant til å benytte flere IT-systemer samtidig Liten og samlokalisert brukergruppe 20
21 2.1.3 Hva oppnådde vi?
22 2.2 Mobile observer
App Analyse Observasjoner 23 Kjernedata
24 2.2.1 Umulig fordi
25
26 2.2.2 Hvordan vi løste det
Bruker Gammel terminal Pilotbruker Ny app Bruker Backend Kjernedata Kjernedata Backend 27 Analyse
28
12:38 Nå kaster jeg snart telefonen i veggen!! Hilsen brukeren 29 Title presentation
30
Stikkord - teknisk Eget speil av alle essensielle data Flere måter å hente inn data på: CSV upload (manuell) HTTP POST (CSV) Vi fetcher Flere måter å publisere data på Analysemotor (under utvikling) henter feed fra oss Vi laster opp til gammel backend over SOAP Vi laster opp til tjenestebuss (HTTP POST) 31
Stikkord funksjonell Ett sett med observasjoner var ikke støttet av dagens system Pilotprosjekt med brukere som bare trengte én ny funksjon Når løsningen hadde tilstrekkelig med features gikk brukerne gradvis over til ny løsning Om noe var feil gikk de tilbake til gammel Pilot-versjon av appen til utvalgte brukere releaset oftere (men det tenkte vi på litt sent!) 32
33 2.2.3 Hva oppnådde vi?
3.1 Angripsvinkel Jeg hater store hopp 34
35
Gall s Laws: Complex systems build from scratch never work A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system. 36
3.1.1 Arkitekt? Ditt ansvar stopper ikke ved systemgrensen Think inside a bigger box 37
3.1.2 Integrasjon Invester i stillas Kjenn din omverden ikke stol på planer Lokale kopier har et ufortjent dårlig rykte 38
3.1.3 Funksjonalitet Snille brukere Nyttige oppgaver 39
Krav, estimater, oppfølging, plan «Når blir alt ferdig?» «Jobber vi godt og med det viktigste?» «Hvor mye vil det koste?» «Hvor mye kostet det?» 40
Er alt klar til den store lanseringen i mai? 41
Er alt klar til den store lanseringen i mai? 42
12:38 I dag har vært en fantastisk dag på jobb!! Tusen takk! <3 Hilsen brukeren 43 Title presentation
44 Take the risk of thinking for yourself, much more happiness, truth, beauty, and wisdom will come to you that way..
Takk for meg Se den større boksen Finn vennlig bruker med behov Invester i stillas Hvorfor funker det ikke for deg? Jeg vil gjerne høre fra deg! johannes.brodwall@soprasteria.com 45
46 TODO
47
48
49
50
Delivering Transformation. Together. 51 Title presentation
DevOps 12:3 8 12:3 8 Slack Produksjon 52
DevOps Produksjon 53
Å virke sammen med eksisterende virkelighet.csv Legacy impersonation Azure 54