bbs moderniseringprogram stay i 2006: erfaringer med arkitektur og gjennomføring

Post on 13-Jan-2016

51 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

BBS moderniseringprogram STAY i 2006: Erfaringer med arkitektur og gjennomføring. Johannes Brodwall Lead Software Architect. Hva er STAY?. Moderniseringprogram. Mainframe ut – UNIX inn. COBOL ut – Java inn. Hvem er jeg?. Johannes Brodwall. Lead software architect. - PowerPoint PPT Presentation

TRANSCRIPT

BBS moderniseringprogram STAY i 2006: Erfaringer med arkitektur og gjennomføring

Johannes Brodwall

Lead Software Architect

Hva er STAY?

Moderniseringprogram

Mainframe ut – UNIX inn

COBOL ut – Java inn

Hvem er jeg?

Johannes Brodwall

Lead software architect

Bakgrunn fra Java programmering og arkitektur

Foredraget

En tidslinje + erfaringer

Fokus på utvikling

Still spørsmål!

(Jeg kan kaste slidene)

2003

2/5

Marked i nedgang

Respons: Konsolidering

Mål: Kvitte oss med mainframe

Mål: Time to marked

2004

5/28

Kravfangst: Use cases

Informasjonstjenester

Regningsbetaling

Sommerferie

Pilotprosjekt ...

... avbrytes

(Råd: Kjør pilot)

Høst 2004

Kravfangst fortsetter

Arkitektur

Forretningsarkitektur

Teknisk arkitektur

DCRI

DCRI = Data Center Reference Implementation

Applikasjonsarkitektur

Implementasjonsarkitektur

(Skrives av meg)

Domain Driven Design

”Domain-Driven Design var vår ledestjerne fra dag 1. Det har påvirket oss mye og hjulpet oss såpass mye at ”forretningslogikk er vanskelig” ikke står på listen over erfaringer. Tvert imot føler jeg at ”forretningslogikk er ikke så vanskelig!”

-- Eirik Torske, utvikler

Spring, Hibernate, JMS

Anti-SOA (?): Gjenbruk via tradisjonell gjenbruk, integrasjon via databaser (og meldingskø)

Utviklingsarkitektur

Test driven design

(eller i det minste enhetstester)

Continuous Integration

Smalt nåløye ved rekruttering

Tilbakeblikk på arkitektur:

”Arkitekturbildene er i dag en selvfølge. Det er først når vi tenker på det at vi

innser at vi har en arkitektur”-- NN

2005

Kravfangst fortsetter

Analysis paralysis?

Blankett: 160 use casesRegningsbetaling: 300 use cases

NICS: 100 use cases

Sentral aktør: ”Klokka”...

... Hmmm.

Tilbakeblikk:

Use cases er vanskelig

(For mye og for lite detalj på en gang)

Implementasjonsprosjekter

Direkte remittering

NICS

NICS = Norwegian Interbank Clearing System

ATI

ATI = Applikasjonsteknisk infrastruktur

Oppskalering: 10 50 utviklere

Scrum binder prosjektene sammen

Arkitekturkjernen utkrystaliserer seg

Referanseapplikasjon

Sommer 2005

”Jeg ser du skal i samme R1”

WebSphere 6.0

(Bleeding edge...?)

Forsinkelser forplanter seg

Sikkerhet og web

Høst: Use case utfordringer

Stabilisering av utviklingsarkitektur

Byggsystem

(men kunne brukt mer tid på selve systemet)

"Continuous integration har en oppdragende effekt på utviklere som gjør at man tester bedre.”

– Hans Petter Vadseth

Refactoring av 300 klasser

Vi blir for smarte...

... overdesign

... spekulative anskaffelser

Kravtester

JavaZone 2005: FitNesse

JavaZone 2005: Anti-SOA

Integrasjon mot mainframe og NonStop

Involverer mange personer

Vanskelig å teste

Tidkrevende

”WAS-ifisering”

WAS = WebSphere Application Server

Urovekkende tidkrevende

(Men vi tester utenfor server)

Release 2

DB2 -> Oracle

Besparelse realisert

Ikke helt smertefri leveranse

(Liten tue velter stort lass)

”Half-full”: Problemløsning

Prosjekt blir program

Forsinkelser

Folk starter å fokusere på oppsplitting

Erfaring: Store leveranser: Bordet fanger

Andre prosjekter starter å få fokus

BBS:Endring fra

konsolidering-> Fokusert vekst

-> Ekspansiv vekst

Jul 2005

Omorganisering av IT og prosjekt

Mindre fokus på ”det ene store prosjektet”

ATI forsvinner

Arkitektur i organisasjonen

2006

Leveranse R3

Ingen overraskelser

Rutinifisering av utviklingsarkitektur

(Etter vinterferien har jeg har lite å gjøre)

Arkitekten som veps

Testkvalitet

Hastighet

Brittle tests

Testene våre er gode, men kan alltid bli bedre!

Continuous Integration rutiner

"Byggsystemet kan være vanskelig å forstå og bruke riktig dersom man ikke vet hvordan dette virker. Dette er spesielt vanskelig for de som ikke har benytter junit eller maven før.”

– Hans Petter Vadseth

”Vær varsom” flagg

”De problemene som oppstår med continuous integration er problemer som vi bare hadde oppdaget senere”

– Bjørn Bjerkeli

Infrastrukturprosesser

Infrastrukturarkitekt

Teknisk validering av arkitekturelementer

Litt sent, da!

Sommer 2006

Leveranser på STAY arkitektur

eFaktura B2B

Elektronisk avtale

Direkte remittering

Sommer 2006

Erfaringer og optimisme

JavaZone: 6 STAY relaterte CfP

”Java i BBS 2007”

Gjenstående risikoer

Software som ferskvare

Kompleksitet på infrastruktur

Og arkitekter?

Nå kan vi bare lukke øynene og håper vi har pekt i riktig retning og at de er flinke

nok til å komme i mål

Erfaringer

Arkitektur

Unngå krystallkulearkitektur

Kompleksitet er din største fiende

Arkitekturen bør forvinne

Referanseapplikasjon

Infrastrukturteam: Må fokusere på teknisk test

Prosjektplanlegging

Vi blir ikke ærlige før vi skal produksjonssette

Pilotprosjekt kunne hjulpet

Krav er ferskvare

Kravfangst med krystallkule

Prosjektgjennomføring

Omstillingsprosjekter kan ikke leve i isolasjon

Unngå overspesialisering

Enhetstesting: Enormt effektivt

Continuous integration

Scrum, scrum, scrum!

Hva har jeg lært?

”Når vi forsøkte å tenke for mye framover tenkte vi ofte feil....

... Når gjorde det mulig å endre kurs, fikk vi stor gevinst!”

Takk for meg

top related