Systemutvikling - risikosport?? Systemutvikling i praksis Tore Hagen, Steria..eller arena for nerder og useriøse aktører? Agenda Presentasjon av meg selv + Steria Årlige milliardtap. Forskningsinstitusjonen Simula Research Laboratory avdekket at offentlige IT-prosjekter sprekker med 67 prosent, noe som koster skattebetalerne inntil 6 milliarder kroner i året. Private ITprosjekter har en overskridelse på 21 prosent. Undersøkelsen ble omtalt i Aftenposten 4. mars. Litt om hvordan vi driver systemutvikling på Steria. Case FHS Et stort systemutviklingsprosjekt hos Telenor Oppsummering av noen prosjekter jeg har vært med på de 2 siste årene. Systemutvikling - Utfordringer Systemutvikling - Tendenser
Utdrag fra min CV.. CV Tore Hagen Stilling : Systemarkitekt SAMMENDRAG Tore Hagen er utdannet sivilingeniør i Datateknikk. Lang arbeidserfaring fra Nordic Bull Net, Ericsson og Steria AS. Erfaring fra en rekke ulike systemutviklings- og systemintegrasjons-prosjekter for distribuerte og virsomhetskritiske systemer. Har hatt roller knyttet opp mot kravspek, design, arkitektur, utvikling, drift, teamledelse og rådgiving. God kjennskap til ulike mellomvareteknologier og bruken av disse. Leder for Sterias faggruppe for mellomvare. SUN-sertifisert Java programmerer. Er spesielt interessert i arbeid rundt arkitektur, utvikling av JavaJ2EE baserte løsninger og systemintegrasjoneai. Tore Hagen benyttes som foredragsholder i interne og eksterne fora knyttet til systemintegrasjon. Steria AS Fakta: Konsulentfirma 250 ansatte i Norge Omsetning i 2003 på NOK 615 millioner Mer enn 40 år i Norge Områder: IT- og virksomhetsrådgivning Systemutvikling og integrasjon Drift og outsourcing Produktsalg HOVEDKVALIFIKASJONER Arkitektur Spesifikasjonsarbeid Design Systemintegrasjon Mellomvare Systemutvikling Kunder: Politiet, Tollvesenet, ErgoGroup, Forsvaret, Telenor, BBS, Skatteetaten, DnB, Gjensidige NOR, EDB Teamco, Statsbygg, Norsk Tipping for å nevne noen. Steria og systemutvikling(1) Majoriteten av systemutviklingen utføres hos kunden(hans lokaler) og på hans premisser. Prosessmetodikk, språk og verktøy er svært ofte styrt av kunden. Vi utvikler på alt fra Cobol(stormaskin), Basic(telefonihelpdesk), assemblycc++(betalingsterminaler), Java (websystemintegrasjon) og sql Det at vi er spredd på så mange ulike områder har gjort det vanskelig å standardisere på en utviklings Prosessmetodikk Steria innfører nå RUP. Steria og systemutvikling(2) I de fleste tilfeller utvikler vi ikke en løsning fra bunn av men prøver å finne eksisterende produktløsning eller rammeverk: Tilpasser løsning til kundens behov : tilpassning av eksisterende eller utvikling av nye skjermbilder, legger til nye forretningsregler, utvidelser til datamodell etc Integrerer løsningen opp mot eksisterende systemer hos kunden
Eksempel på prosess for anskaffelse & Rational Unified Process utvikling av systemløsning (1) Kunden lager kravspesifikasjon og mal for besvarelse som sendes ut til et antall leverandører. Leverandørene besvarer forespørselen, dvs grov designer løsning, estimerer og beskriver løsningene. Besvarelsentilbudet sendes kunden. Kunden behandler besvarelsene og plukker ut 2-3 leverandører for forhandlinger. Velger en leverandør. Ny runde med forhandlinger event demo + kontrakt settes opp som bla spesifiserer milepæler, dagsbøter, betalingsplan etc. Systemutviklingsprosjekt påbegynnes Eksempel på prosess for anskaffelse & utvikling av systemløsning (2) Løsning er ferdig utviklet og testet av leverandør overleveres til kunden. Kunden kjører akseptansetest og overtar løsningen. Leverandør avslutter systemutviklingsprosjekt Pilotdrift noen utvalgte steder. Gradvis utrullingimplementering av løsning. Installasjon og opplæring. Full drift Case: Telenors FeilHåndteringsSystem (FHS) Feilmeldingen 145 Steria valgt som leverandør i 1997 Satt i drift i våren 1998 Videreutvikling over flere år + vedlikeholdsreleaser (feilretting + Endringsordre). Man har nå startet å planlegge for nytt FHS Et prosjekt i hundremillioners klassen
Løsningen Klient Kundebehandling CTI Selvbetjening WEB Overvåkn. systemer Prosess for Prosess for Selvbetjening kundemeldte feilarbeidsprosess driftsmeldte Feilhåndtering feil Automasjon (PeopleSoft Vantive) Automasjon mellomvare FHS FHS Feilmeldingen Feilmeldingen hos hos Telenor Telenor Avansert Avansert helpdesk helpdesk med med integrasjon integrasjon mot mot støttesystpartnere støttesystpartnere ca ca 2000 2000 brukere brukere - - 1200 1200 samtidige samtidige 24 24 x x 7 7 AIX AIX HA HA Cluster Cluster Applikasjon Applikasjon : : PeopleSoft PeopleSoft Oracle Oracle Parallel Parallel Serv Serv M E L L O M V A R E Kundedata Teknisk system Innhenting av levende og lagret data Økonomi system Automatisk økonomisk ferdigmelding og fakturering SMSe-mailfax B2B mot Partnere leverandører Tilbakemelding kunde Automatisk oppdrag til entreprenør Mellomvare Mellomvare Integrasjon Integrasjon mot mot ca ca 30 30 støtte støtte systemer systemer partnere partnere 3 3 6 6 pers pers i i 4-5 4-5 år år Plattform Plattform BEA BEA TuxedoIBM TuxedoIBM Websphere(J2EE) Websphere(J2EE) Forskjellige Forskjellige former former for for teknologi teknologi Synkron Synkron asynkron asynkron Forkskjellig Forkskjellig former former for for koblinger koblinger : : Applikasjoner(2-veis) Applikasjoner(2-veis) Spørringer(utgående) Spørringer(utgående) Registrering(inngående) Registrering(inngående) Datavarehusdatabaser Datavarehusdatabaser Web Web FHS: Utvikling Utvikling av FHS omfattet: Eksterne Partnere Støttesystemer integrasjon Applikasjonsutvikling Skreddersøm og tilpassing av helpdesk applikasjonen fra PeopleSoft. Utvikling i Visual Basic og PLSQL. Skjermbilder via eget verktøy. Utvikling av løsning for systemintegrasjon. Utvikling av komponenter i Java og C på mellomvareplattformene BEA Tuxedo og IBM Websphere(J2EE). FHS FHS: Prosessmetodikk De første leveransene var fastpris. Deretter time&matherial med bonussystem. Gjennomføringen er basert på fossefallsmetoden. Utarbeidelse av krav, spesifikasjon, koding, test og akseptanse håndteres som separate, sekvensielle aktiviteter med tydelige leveranser og godkjenningspunkter. Utviklingsprosess er egenutviklet og blitt til underveis. Testarbeidet i utviklingsprosjektet består av tre faser: enhets-, integrasjons- og systemtest Mottaksprosjektet kjører akseptansetest.
FHS: Organisering(1) FHS: Organisering(2) Utviklingsprosjekt Utviklingsprosjekt Analyse Analyse Grovspek Design Utvikling Test Release Feilretting Aktiviteter Utrullingdriftsetting Vedlikehold Vedlikeholdsrelease Aktiviteter Leveranser Leveranser Kravspek Kommentarer Endrings Ordre Godkjenning Planlegging prosess beskrivelse +++ Mottaksprosjekt Feilrapporter Akseptansetest Aktiviteter Godkjenning Endrings Ordre MottaksprosjektForvaltningsprosjekt Feilrapporter Akseptansetest Aktiviteter Behov Organisasjon Organisasjon FHS - mottaksprosjekt Mottaksprosjektet har oppgaver knyttet opp mot: Implementeringprosjektplan Prosessdesign Opplæring Supportbrukerstøtte Vedlikeholdendringsordre Drift Oppfølging og kvalitetskontroll av leverandør!!! Oppsummering FHS Det første året og den første leveransen var tøff fordi plattformen var ustabil og det var første prosjektet på den aktuelle plattformen Det fungerte sannsynligvis fordi det var relativt mange seniorer i prosjektet. En smule underestimert men ikke dramatisk. Systemutviklings-prosessen ble til underveis i samabeid mellom kunde og leverandør. Simple verktøy. Telenor er fornøyd og betrakter prosjektet løsningen som en suksess. Kundens sterke engasjement var en av suksessfaktorene.
Kunde Løsning Prosessmetode Verktøy Plattform Telco Telco FHS 1200 brukere Styring av felteknikere, 400 brukere. Fossefall Egenutviklet, etter hvert noe UML Fossefall Egenutviklet Powerpointword, cvs, VA Java, Tau,Testdirector Powerpoint,word, Testdirector rammeverk PeopleSoft, BEA Tuxedo, IBM Websphere PeopleSoft En usystematisk gjennomgangoppremsing av noen utfordringer relatert til systemutvikling.. Telco Automatisering av Fossefall UML Word, Visio Tibco prosesser, 300 brukere Offentlig Portalløsning Iterativ UML Word, Rational BEA Weblogic + Rose Portal + Integration Telco Drifts og Fossefall Egenutviklet Powerpoint Struts, BEA overvåkingsløsning, 5 brukere word, Jbuilder Weblogic Utfordring - Systemutvikling Større løsninger kan bli meget komplekse og dermed meget kostbare. og dermed høy risiko Systemutvikling på enkelte plattformer, for eksempel server side Java (J2EE), krever at du holder tunga rett i munnen. Gjenbruk Mange teknologierverktøy videreutvikles kontinuerlig og gjør det vanskelig for systemutviklerne å være oppdaterte og produktive. Bransjens forbannelse. For mye cowboymentalitet og for lite struktur og prosess Utfordring Driftsettingdrift Driftsetting = løsning overleveres fra utviklings prosjekt til driftsorganisasjon for installasjon og igangkjøring.(ideelle verden) Moderne webjava systemløsning består av et virvar av arkivfiler, biblioteker, konfigurasjonsfiler, propertyfiler etc. I tillegg har man gjerne en komplisert plattform. Alt dette medfører at driftsetting blir et komplekst puslespill. Det bør være et veldefinert grensesnitt mellom utviklings- og drifts-organisasjonen som baserer seg på leveranser Rutinerprosedyrer for drift, driftsetting og oppgradering må utarbeides og vedlikeholdes
Utfordring - Estimering Noe av det vanskeligste man gjør som systemutvikler. FHS modellen. Samlet erfaringstall + utarbeidet modell. Veldig ofte erfaringstall som ikke er direkte sammenlignbare ukjente faktorer + dårlig tid Utfordring - Ytelse Alltid et tema i større løsninger Det må stilles krav Utvikling må skje i et realistisk miljø Utviklerne må skjønne det de holder på med Det må testes for ytelse Det må finnes tracelog som gjør det mulig å finne flaskehalser. Legg inn målepunkter. Må kunne skrues avpå Sporbarhet Utfordring - Test Testing og atter testing. Stikkord: Automatisering Det er verdt å bruke tid på å lage testverktøy Enhetstest, integrasjonstest, systemtest ++ Husk også å test ytelse og feilsituasjoner En usystematisk gjennomgangoppremsing av noen tendenser som jeg ser ifm systemutvikling.
Tendens Konsolidering Markedet er inne i en bølgedal etter år 2000 skiftet + alt maset rundt.com Ønsker å få mest mulig ut av eksisterende løsninger, for eksempel via systemintegrasjon. Tøffere krav. Nye prosjekter må ha et godt business case. Det er slutt på den tiden da man realisert noe fordi det var gøy å leke med teknologi. Økt fokus på automatisering av forretningsprosesser. Gjør det lettere å lage et business case, dvs argumentere for at løsningen er økonomisk lønnsom. Tendens Arkitektur arkitekturmønstre Best Practices IT bransjen har et frynsete rykte når det gjelder stor prosjekter. Vi trenger en systematisk måte å videreføre erfaringer på. Ingen grunn til å oppfinne hjulet på nytt. Økt fokusering på IT arkitektur som kan sammenlignes med byplanlegging Tendens Mellomvare, App server Application Programming Suite (APS) Eksempel på lagdelt arkitektur basert på mellomvare Mellomvare gir en grunnmur for å bygge distribuerte løsninger. Ferdig infrastruktur kjøremiljø for komponenter. Mellomvare gjør det lettere å bygge løsninger som kan støtte mange brukere(skalerer). Development Environment (WebLogic Workshop) User Data Application Integration Integration Integration (WebLogic Portal) (Liquid Data) Application Server (WebLogic Server, Tuxedo) JVM (JRockit) (WebLogic Integration) App Security Sikkerhet, Admin, overvåk Basis felles. Funksjoner Intern applikasjon Bruker Portal Web løsning Bruker applikasjoner Tjeneste Modul Tjenester for LagringValideringKontroller etc Integrasjon koblinger Intern applikasjon Bruker Innrapp database data Ekstern applikasjon Intern applikasjon Gr. Snitt fagsystem Meldings Formidler App Mgmt and Deployment Arbeidsflyt motor MetaDataArkiv DB Notarlog Portal-lag Applikasjons-lag Tjeneste-lag Integrasjons-lag Data-lag
Tendens - XML XML gjør det mulig å definere sitt eget markeringsspråk og man kan kode informasjonen i dokumenter på en strukturert måte. Det også er mulig å maskinelt sjekkeverifisere innholdet. XML har i dag et antall ulike anvendelser som f.eks.: Utvekslingsformat for data mellom ulike systemer. Tatt over rollen som EDI hadde. For eksempel ebxml. WebServicesSOAPintegrasjon Lagring av formatert informasjon konfigurasjonsfiler. Fleksibel bærer av data (datacontainer) internt i en løsning. Tendens - Systemutvikling Bedre verktøystøtte som gjør det enklere og billigere å utvikle. Model Driven Architecture (MDA) Generere kode basert på UML modeller. Parallell til 4GL. Open source produkter kommer sterkere både når det gjelder infrastruktur og utviklingsverktøy. Flere og flere ønsker å ta i bruk rammeverk. Objekter -> Komponenter -> Rammeverkhalvfabrikatamellomvare Kostbart å drive utvikling i Norge. Nedlegging av utviklingsavd. i Norge, for eksempel Ericsson. Konkurranse fra India. Spørsmål? toh@steria.no