Softwarearkitektur og kvalitet

Slides:



Advertisements
Liknende presentasjoner
>> Finding the job - choosing the people
Advertisements

Forberedelse OpplæringSpesifikasjonerImplementasjon Installasjon Test løsning Last testing Kunde Konsulenter Leverandører ? ? ? ?
Together. Free your energies Scrum mot Utvikler - Kampen for tilværelsen! Mads Aagaard
Risiko Sannsynlighetsgradering:1 = Lite sannsynlig (kan inntreffe mindre enn én gang hvert 100. år) 2 = Mindre sannsynlig (kan inntreffe mellom én gang.
Praktisk info til prosjektkunder
Det er ikke lenger størrelsen det kommer an på!
Java Teknologi Teknikker Økosystem Johannes Brodwall
Ledelse i smidige prosjekter Noen erfaringer fra Capgemini DnD fagmøte i prosjektledelse 17. juni 2009 En lyntale av Jon Øgar.
”Verifiser Forventet Funksjonalitet”
Erfaringer med akkreditering av masterprogram ved HiAk Oversikt over de masterne (og en ph.d.) HiAk har fått akkreditert fra 2004 – d.d. ■Læring i komplekse.
Elementer av en utviklingsprosess
Produkteier vs virksomhetsarkitekt
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 HOUSTON We have a problem.
Test-Drevet Utvikling Bowling med extremeprogramming.no.
Om smidig brukerkommunikasjon Smidig 2011 Johannes Brodwall Steria Norway.
Foreldresamarbeid Kan vi gjøre det enda bedre ?
Agenda  Introduksjon  Oppgaven  Muligheter  Utviklingsløp  Demo  Teknisk gjennomgang av Plassere  Siste Ord  Spørsmål?
PLO-meldinger v1.6 Planer fra RHF SamUT
© PROGRAM UTVIKLING as Vellykkede prosjekter leverer hyppig Johannes Brodwall, Steria Chief Scientist, Utvikler, Arkitekt, Sertifisert ScrumMaster.
Velkommen! USITs utviklerforum, 20.februar Tjenestegruppe for utvikling Arrangerer utviklerforum Skal dele erfaringer på tvers på USIT Er ansvarlig.
13. februar 2004TDT4285 Planl&drift IT-syst (M15)1 Automatisering TDT4285 Planlegging og drift av IT-systemer Anders Christensen, IDI.
InOut og TeleComputing  Nøkkelferdige, rimelige Skolelinux-løsninger  Maskinvare (tjenermaskiner og tynnklienter)  Programvare  Installasjon av ferdig.
Utført av: Jeppe Flensted HiST Vår 2009
Min Problemløsningsbok Navn: ____________________________________ Slik ser jeg ut (tegn eller lim inn bilde):
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Mange IT-prosjekter kunne med fordel vært drevet mer som en Lean Startup.
Deployment i NETTSKYEN gir deg en SMIDIGERE infrastruktur! Deployment i nettskyen gir deg en smidiger infrastruktur! Page 1,
KANBAN som bevis på at regler ikke er til for å følges Smidig 2010 Aud Jorun Forbord – KANTEGA AS.
Leveransen Den siste barriere. Personer og samspill fremfor prosesser og verktøy Programvare som virker fremfor omfattende dokumentasjon Samarbeid med.
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Automated Testing Tool & When to Stop Testing
GRANSKOGEN SKOLE CLAVARIA KUNST-SØM-KOSTYME HALVÅRSPLAN FOR HØSTSEMESTERET 2007 Alternativ opplæring (forberedelse til videregående skole) Antall:2 10.
Farvel til applikasjonsserveren Fra kompleksitet til kontroll.
BBS moderniseringprogram STAY i 2006: Erfaringer med arkitektur og gjennomføring Johannes Brodwall Lead Software Architect.
1. Vår høyeste prioritet er å tilfredsstille kunden gjennom tidlige og kontinuerlige leveranser av programvare som har verdi.
Arkitektur og smidighet
En lean verdikjede for utvikling av systemer
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
1. Vår høyeste prioritet er å tilfredsstille kunden gjennom å levere et verdifullt, kjørende system tidlig og kontinuerlig.
ROOTS Johannes Brodwall, Kløne Steria Norway
Læring prosjektpraksis Førsteamanuensis Prosjektledelse,
kunder i aktive prosjekt/forvaltning, 6 interne product owner proxys, to team og tre backlogger – kan det likevel ligne på Scrum? Kristin Wulff,
Smidig overtakelse - eller som å åpne en Pandoras krukke?
En prosjektleders perspektiv Emnekart 2004 – Felix konferansesenter, 27. oktober 2004.
Organisasjonsutvikling på USIT Prosjektet ”USIT 2.0” er i gang!
RFID – Communities in Action Ambisjoner og visjoner Totto
Tema: Prosjektretrospektiver
Smidig utrulling Anders Sveen, BBS Efaktura. Hva? Ofte Tar lite tid Automatisert Sikkert XP Meetups.2.
Hvorfor bruke tid på testing ?
Samordning, arkitektur, PKI Hva skjer? Endre Grøtnes, Statskonsult
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
Kontinuerlig kvalitetskontroll. Hvordan komme helt i mål.
HeV-prosjektet Helhetlig virksomhetsstyring
Presentasjon av masteroppgave
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Bydel Søndre Nordstrand - URO Fagtorg
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 Patching En patch er en fiks for en eller flere feil i et program/operativ.
Forbedringssamlingen
Nytt Intranett Trøndelag Fylkeskommune
>> Finding the job
Dagfinn Bergsager Universitetet i Oslo SMIDIG 2016
Produksjonssetting i Cerebrum
Utskrift av presentasjonen:

Softwarearkitektur og kvalitet Smidig kvalitetsprosesser i utvikling hos BBS

Bakgrunn: Hva er STAY BBS skriver om mainframe til Java Cirka 50 personer Cirka 20 utviklere (cirka 50% konsulenter) I dag kjører 15 000 jobber daglig på mainframe! Vi har svært sikker og stabil drift! Bygger på konsept utarbeidet i 1988

Utfordringene Mange personer involvert Sikker og stabil drift Dårlig erfaring med Java Driftsopplegget fra 1988 er ikke veldig passende Kompliserte systemer 15 000 jobber om dagen Kritiske systemer Milliarder av kroner om dagen

STAY – Pågående arbeid 3 utviklingsprosjekter Utbetaling (direkte remittering) NICS (interbank) Applikasjonsteknisk infrastruktur Andre interessenter (ikke tema her) Drift Basis infrastruktur (maskinvare og nettverk) Database Støttefunksjoner: Innkjøp, arkitektur, sikkerhet Forretningsansvarlige Prosjektledelse

Mine arbeidsoppgaver Programvarearkitekt Visjon, konsistens Innkjøp Designavklaringer Gjenbruk Faglig ansvarlig applikasjonsinfrastruktur Driftsmessige løsninger Kode som integrerer med maskinvare og overvåkingsløsning

Typisk dag for undertegnede 8:45 Daglig statusmøte NICS 9:00 Daglig statusmøte regningsbetaling 9:15 Avklaringer regningsbetaling 9:30 Daglig statusmøte infrastruktur 10:00 Dokumentasjonsarbeide 12:00 Kodearbeide 14:00 Diverse møter og avklaringer 16:00 Formaliseringer av avgjørelser 17:00 Avklaringer med hovedarkitekt Bilde av SCRUM

Typisk uke for applikasjonsteknisk infrastruktur Mandag: Oppsummering av sist uke Planlegging av neste uke Utvikling og dokumentering Tirs-, ons-, torsdag: Daglig scrum Fredag: Fremdriftsdemo Bilde av kode på skjerm?

Inspirasjoner for arbeidsprosess Extreme programming 12 teknikker Scrum Daglig scrum Crystal 7 egenskaper for prosjekter (overlapper med extreme programming)

STAY helhet Daglige Scrum-møter for alle prosjekter (scrum, XP) Tett kommunikasjon (XP, Crystal) Kollektivt kodeeierskap og gjenbruk (XP) Inkrementelt design (XP) ”Barely-sufficient” prosesser (XP) Tekniske hjelpmidler (XP, Crystal) Feedback (XP, Crystal)

Daglige scrum-møter Felles følelse av hva som skjer Inspirerer til framdrift Inspirerer til samarbeid Koordinering mellom prosjekter (meg) Utenforstående får sett framdrift Fare: Må ikke ta for lang tid Ti personer er smertegrensen Under 10 minutter er målet Trening hjelper Bilde av scrum

Tett kommunikasjon Alle i samme etasje Hvert team sitter i åpent landskap Delarkitekter snakker sammen God tone Dyktig hovedarkitekt Stor takhøyde Mange dyktige fagfolk Bilde av landskapet

Tekniske løsninger CVS Maven Cruise Controll Tester

Teknisk løsning: Testing Kravtester FIT og JUnit Enhetstesting (typisk dekning ~70% line) På hver enkel arbeidsstasjon Ved innskjekking Integrasjonstest (gåes fortsatt opp) Etter manuell deployment Ytelsestester (gåes fortsatt opp) Formell test (”U05”)

Teknisk løsning: Cruisecontrol Sender mail dersom tester feiler Ved feil kan andre gå inn å rette feilen Vi skal forsøke å få til bedre krysskontroll Mange ting å gå opp Veldig positive erfaringer Men: Koster en del tid! Screenshot av cruise

Kollektivt kodeeierskap og gjenbruk To ”gjenbruksområder” i CVS Common, domain Regler for kode Checkstyle testgrad Regler for hva som skal gjenbrukes Inkubert i delprosjekter Vi ønsker å unngå a priori gjenbruk Krever teknisk miljø Cruisecontrol-mail Bilde av cruise-control

BBS lever av stabil og sikker drift! Gjenbruk Gir konsistens Driftsovervåking Feilhåndtering Sikkerhet (!) Gir kvalitet der det gjelder Vi har et krav om at systemet skal ”virke” ved en hver enkel defekt i programmer! Men det koster mye! BBS lever av stabil og sikker drift!

Inkrementelt design Bilde av design ved whiteboard Utgangspunkt (grunnlov): ”Enterprise Software Architecture Document” Fortløpende avklaringer Form: Design jam Typisk bruker jeg 5-10 timer i uken på dette Problem: Dårlig dokumentasjon fører til gjentatte diskusjoner

”Barely-sufficient” prosesser Gjenbruk: Godkjennelse og koderegler Komité på fire personer 2 personer for godkjennelse, 1 for veto Innspill fra alle prosjekter Best practices Komité på seks personer Design krav Diktatorisk av sjefsprogramvarearkitekt Kan overstyres av majoritetsveto av BP-komité Anskaffelsesprosess for open source

Feedback Første leveranse går i produksjon i desember. Dette er lenge til! Tidlige leveranser til test (første leveranse har alt vært) Tidlig integrasjon med infrastruktur Tidlig måling av ytelse Automatiserte tester gjør dette billig! Vi har måttet ”gå videre” uten ordentlig deployment Kommunikasjon med driftsmiljøet tar tid

Applikasjonsteknisk infrastruktur Har levert Filoverføring Overvåking Signering Hyppige interne leveranser Fredagsdemo for andre prosjekter Sitter tett ved driftspersonell Hyppig møter og workshops

ATI: Driftsmessige UC BBS tilpasser seg et standard konsept for driftsavvikling ATI utvikler Overvåkingskomponenter Driftsportal Workflow Service Level Management Leveransehåndtering

ATI: Fredagsdemo Gir en viss driv over arbeidet Uformell design- og kodegjennomgang etter behov Synliggjør nye komponenter og behov Kommunikasjons med ”kunder” Kode på skjerm

Oppsummering: Vellykkede prosesser Daglig scrum Automatisert bygging og test Avklaringer og design etter behov Felles kodeeierskap

Oppsummering: Trenger arbeid Gjenbruk – krever at prosjekter gjør endringer for å koordinere Driftsettelse til test Kodegjennomgang Dokumentasjon

Arkitektur i store prosjekter handler om én ting: Kommunikasjon Konklusjon Arkitektur i store prosjekter handler om én ting: Kommunikasjon