METODE

Ethos utviklingsprosess er en tilpasning av moderne iterative metoder til et distribuert utviklingsmiljø. Ethos metode er basert på teori og våre erfaringer fra offshore systemutvikling og vedlikehold. Vi vil følge Ethos utviklingsmetode eller tilpasse oss til den utviklingsmetode kunden gjør gjeldende.

Ethos ønsker at våre kunder utfra egne forutsetninger skal være sterkest mulig involvert i prosjektet, og har definert en prosess der målsetningen er å gi kunden best mulig grunnlag for å gi tilbakemeldinger så tidlig som mulig.

Vi legger vekt på god planlegging i tidlige faser av prosjektet for å skape klarhet i behov, forventninger og målsetninger slik at riktig arkitektur velges og prosjektet struktureres hensiktsmessig.

imageKritikken av tradisjonelle vannfallsmetoder er vanskeligheten med å endre løsningen underveis - endringer som er lønnsomme for kunden utfra endrede rammebetingelser eller utfra økt kunnskap om det aktuelle behovet og mulige teknologier/ løsninger både hos Ethos og hos kunden.

Ekstremt iterative metoder (f.eks eXtreme Programming) fokuserer utelukkende på læring underveis i prosjektet. Teorien er at forutsetninger endrer seg så raskt, og læringen underveis i prosjektet er så stor, at verdien av tidlig planlegging blir svært liten. Vår målsetning er tidligst mulige leveranser av kjørbar kode der kjernefunksjoner, sentrale moduler og viktige skjermbilder prioriteres i de første leveransene.

Det er alltid en fordel å skape størst mulig klarhet i behov og målsetninger på et tidligst mulig tidspunkt. Prosjektene gjennomføres slik at kunden får best mulig grunnlag for å gi tilbakemeldinger på del-leveranser. Løsningen forbedres kontinuerlig basert på både kundens og utviklingsteamets læring underveis.

Planlegging er grunnlaget for valg av en god arkitektur slik at utviklings- og totale levetidskostnader for systemet minimaliseres. Fleksibilitet og iterativ utvikling er grunnlaget for en løsning med høy kvalitet som oppfyller kundens behov og målsetninger.

Ethos balanserer således god planlegging med fleksibilitet og læring gjennom prosjektet.

Løsningen deles om nødvendig i moduler basert på prinsippene for tjenesteorientert arkitektur (SOA). Størrelsen av de modulene blir ofte en avveining mellom behovene for fleksibilitet på den ene siden og ytelse og utviklingskostnader på den andre siden. Basert på valgt arkitektur, struktureres prosjektet i hensiktsmessige og mest mulig uavhengige deler.

Ethos metode benytter 5 faser:

  • Analyse
  • Planlegging
  • Implementering
  • Stablilisering
  • Lansering

Hver del av prosjektet gjennomløper de ulike fasene en eller flere ganger. Dette medfører at ulike moduler vil befinne seg i ulike faser på samme tidspunkt.

Ethos kan, avhengig av kundens ønsker og prosjektets natur, ta ansvaret for alle eller noen av fasene. Normalt vil Ethos ha ansvaret for planlegging, implementering og stabilisering.

Analyse

Målsetningen med analysefasen er å identifisere de forretningsmessige målene, analysere hvilke brukere som påvirkes og hvordan brukerene påvirkes. Prosjektet forankres i organisasjonen for å forberede organisasjonen slik at senere lansering av løsningen blir mest mulig vellykket. Analysefasen gjennomføres vanligvis av kunden alene eller med støtte fra konsulenter. Ethos har konsulenter med forretningsforståelse og erfaring fra flere bransjer. Ethos kan bistå med råd og kunnskap om metoder dersom det er ønskelig.

Ved avsluttet analysefase skal kunden vite:

  • hva som er målsetningene med utvikling av systemet
  • hvilke forretningsprosesser som påvirkes av systemet
  • hvem brukeren er og hvordan brukeren påvirkes av systemet
  • hvordan arbeidsflyten vil bli og hvordan informasjon kan flyte i systemet

Top

Planlegging

Målsetningen med planleggingsfasen er å finne en teknisk løsning som møter oversette forretningsmålene.

Basert på de definerte behovene og målsetningene vil systemet designes. Ulike løsninger vurderes og en arkitektur velges.

Gjennom hele prosessen er det Ethos sin målsetning å identifisere og avhjelpe risikofaktorer. Dette gjelder for systemintegrasjon, begrensninger i tekniske plattformer, brukervennlighet, ressursstyring og avstemming av forventninger.

En vellykket planleggingsfase forutsetter god kommunikasjon mellom utviklingsteamet representert ved oppdragsleder (EM), prosjektleder (PM), systemarkitekt (TA) og kundens kontaktpersoner. Avhengig av partnerskapsmodell vil personell fra Ethos Norge og Ethos Kina delta i denne fasen sammen med kunden.

Planleggingsfasen starter med en grundig gjennomgang av behovsbeskrivelsen. Forslag til teknisk arkitektur og infrastruktur må avstemmes med forretningsmål og forventninger hos brukerene av systemet. Det vil ofte være hensiktsmessig å tegne sentrale skjermbilder for å forenkle kommunikasjonen. Medvirkning fra sentrale medarbeidere hos kunden er viktig i denne fasen. Basert på et teknisk design og løsningsbeskrivelsen, deles prosjektet i oppgaver (maks 40 timer pr oppgave) og prosjektplanen beskrives med ressurser og milepæler.
 

Ved avslutningen av planleggingsfasen skal:

  • systemets arkitektur være beskrevet
  • teknisk plattform være valgt
  • sentrale skjermbilder være tegnet
  • prosjektet være brutt ned i oppgaver
  • oppgavene planlagt i tid
  • ressurser være allokert

Top

Implementering

Målsetningen med implementeringsfasen er å produsere kjørbar kode.

Erfaring har vist at det kan være lurt å starte implementering med en felles kick-off der både kunde og utviklingsteam er tilstede. En felles kick-off vil gi kundens personell forståelse for hvordan utviklingsteamet jobber og kommunikasjonen gjennom elektroniske medier som f.eks epost, Skype og Messenger blir gjerne enklere med personer du har truffet. Vårt utviklingsteam vil få verdifull forståelse for løsningen som skal utvikles på et annet nivå enn det som er mulig utelukkende gjennom en spesifikasjon.

Modulene bygges i tråd med den strukturen som er definert i planleggingsfasen. Endringer implementeres på bakgrunn av testing, tilbakemeldinger fra kunde og i henhold til kontraktsform.Prosjektet gjennomføres i henhold til plan og med den grad av parallell utvikling og antall/ lengde av iterasjoner som er bestemt i planleggingsfasen. Koden bygges hver dag og nye versjoner gjøres tilgjengelig for intern test og test hos kunde. Så snart en modul er mulig å teste, vil den gjennomgå intern testing før staging til testmiljø tilgjengelig for kunde. Det viktigste er å få tilbakemeldinger på om løsningen ser ut til å dekke de underliggende målsetningene for prosjektet.

Ved avslutningen av implementeringsfasen skal kunden ha:

  • en testbar versjon av de modulene og den funksjonalitet som omfattes av iterasjonen
  • testskript for moduler og testbeskrivelse for bruker
  • kompilert kode

Top

Stabilisering

Målsetningen med stabiliseringsfasen er å ferdigstille moduler som er fri for feil og i henhold til de funksjonelle spesifikasjonene. Testingen gjennomgår 3 steg: Enhetstesting, betatesting og sluttbrukertesting.

Hver modul godkjennes av testere hos Ethos før kunden kan utføre sluttbrukertesting i definert testmiljø. Effektiv gjennomføring avhenger av tilgang til testressurser hos kunden og fremdrift hos Ethos. Frekvens og omfang av kode til testmiljø vil variere gjennom prosjektet.

I intensive perioder vil vi kunne oppleve at en feil som rapporteres fra sluttbrukertesting en dag, er rettet på morgenen neste dag etter ferdigstilling og staging av en ”daily build” fra utviklingsmiljøet i Beijing til testserver i Norge.

Ved avslutningen av stabiliseringsfasen skal kunden ha:

  • ferdigstilte moduler integrert i det totale systemet for de moduler og funksjoner som omfattes av iterasjonen
  • ved avslutning av stabilisering for siste modul; et komplett feilfritt system driftsatt i test-miljø

Top

Lansering

Målsetningen med lanseringsfasen er å driftsette systemet i produksjonsmiljøet.

Lanseringsfasen omfatter planlegging av idriftsettelse til produksjonsmiljøet, selve idriftsettelsen og stabilisering av løsningen i produksjonsmiljøet. Lanseringen kan omfatte datakonvertering og koordinering med markedsaktiviteter hos kunden. Det må foreligge en god plan og beredskap for å ta høyde for feil som oppstår i produksjonsmiljøet som ikke har blitt oppdaget i testmiljøet inkludert en plan for rollback.

Ved avslutningen av lanseringsfasen skal kunden ha:

  • en stabil løsning i produksjonsmiljøet

Top

Vedlikehold og videreutvikling

Vedlikeholdsfasen er tiden etter at systemet er lansert. Ethos vil løse eventuelle problemer som dukker opp. Prosjektet evalueres og det er naturlig å vurdere i hvilken grad systemet faktisk løser de forretningsmessige målsetningene.

Videreutvikling kan omfatte modifiseringer av systemet utover omfanget av det opprinnelige prosjektet. Mindre endringer vil kunne følge de samme arbeidsprosessene som vedlikehold, mens det for større endringer bør defineres egne prosjekter som følger utviklingsprosessen.

Top