Agile programmering

Smidig prosess har en viktig rolle å spille i programvareutvikling og styringssyklus. Agile har et sett med prinsipper som setter direkte fokus på kundeverdi, iterativ og inkrementell levering. Agile metoder setter fokus på to forskjellige aspekter, en er smidig praksis som er ekstrem programmering og parprogrammering, andre fokuserer på å styre prosjektene som er gjennom scrum-tilnærmingen. Agile prosess brukes når selskapet eller organisasjonen har klarhet om sitt mål, men veien til å komme til løsningen er uklar, den smidige prosessstyringen brukes.

Ekstrem programmering for smidig praksis anses som den beste fremgangsmåten for å dra nytte av programmeringssyklusen. Ekstrem programmering kom til etter at problemene oppsto i den tradisjonelle programvareutviklingssyklusmodellen. Introduksjonen ble gjort bare for å fokusere på "bare få jobben gjort", og den ble funnet effektiv for utviklingen. ekstrem programmering er prøvd og testet smidig utviklingspraksis; det setter maksimalt fokus på kundeinteraksjon for å kjenne det nøyaktige kravet og bare komme inn i utviklingen av produktet.

Funksjonen av smidig programmering

Den deler hele syklusbehandlingen i mindre eller korte sykluser. I utviklingsfasen, eller vi kan si stadium før levering (kan også være den siste fasen), kan kunden gjøre endringer basert på kravet. Det fungerer i fem faser-

  • Utforsking - Ekstrem programmering starter produktutviklingssyklusen ved å samle inn kravene fra brukeren. Brukeren betegner ideene eller kravene sine på historiekortet som de vil se i utgivelsestiden. Historiekortspor definerer attributtet som skal legges inn i produktet. I samme fase dokumenterer teamet oversikt over praksis, verktøy og teknologi som er nødvendig for produktutviklingen basert på brukerens krav. Teknologien som trengs for å lage det nye produktet blir testet, og nye muligheter utforskes ved å lage en prototype av systemet. Det kan ta en uke eller noen måneder å fullføre undersøkelsesfasen, det avhenger helt av programmereren hvor kjent programmet er for teknologien.
  • Planlegging - De innsamlede dataene blir deretter delt inn i små sykluser for å forstå hver bit av brukerens krav. Dataene blir prioritert for den første utgivelsen av produktet, da utviklingen skjer. Estimering og tidsplan for innsatsen for den første utgivelsen blir beregnet og deretter avtalt om utgivelsen. Det første utgivelsesområdet er under to måneder.
  • Iterasjoner - I løpet av dette stadiet finner flere iterasjoner av systemene sted før den første utgivelsen av produktet. Iterasjonene er delt inn i en rekke små iterasjoner og gitt to til fire uker å implementere. Nå er iterasjonsplanleggingsfasen aktiv, noe som betyr at beslutningen om sykkeldeling, prioriteringskrav og arbeidskraft som trengs for utviklingen er ivaretatt. Iterasjonene skaper omrisset av systemet, så oppnås systemet ved å velge kortene fra historiekort laget av brukeren. Avgjørelsen tas av brukeren som først skal velge. Kunden kjører iterasjon på slutten av hvert spor som han har bestemt seg for hver iterasjonsdel.
  • Produksjonisering - Denne fasen anses som viktig fordi den endelige testen utføres til denne fasen før du leverer produktet til kunden, og ytelsen blir testet. Nye endringer vil sannsynligvis bli funnet i løpet av denne tiden og som må være korrekte i produktet før den første utgivelsen av produktet. Et team er forberedt på å akseptere endringer i alle faser av utviklingen fordi nye krav kan dukke opp i løpet av en hvilken som helst fase. For korreksjoner må iterasjonstiden reduseres fra tre til en uke. Andre ideer og forslag lagres for senere implementering. Produksjonen fortsetter å løpe etter den første utgivelsen av produktet for det samme produktet, eller for det kan være for nye iterasjoner. Vedlikeholdsteamet blir bedt om korreksjoner i mangler i denne fasen, dette gjøres etter den første utgivelsen av produktet. Kommunikasjonen med kunden kan også spørre gjennom kundestøtten. Tillegg av nye teammedlemmer og endring i teamet, en struktur kan være nødvendig under vedlikehold.
  • Dødsfase - Dette er fasen der kunden ikke samtykker i noe mer historiekort for implementering. Dette er den fasen der sluttdokumentasjon angående produktet kan gjøres, antatt at det ikke gjøres flere endringer i arkitektur, design eller kode. Det er for å sikre at produktet har levert ønsket produkt ellers vil systemet bli betraktet som død. Det skal holde utgiftene i grensen for videre utvikling.

Teamet (rolle og ansvar)

Agile sykluser har flere medlemmer (team) for å lage det nye produktet. Hver oppgave er delt mellom teamet og er tross alt samlet godt.

  • Programmerer - Programmerer er en av hovedorganene, han oppretter koden for produktet og holder koden enkel og klar til muligheten. Den beste måten å kode riktig på er å kommunisere med andre programmerere og lagkamerater. Det kan være for å kjenne de eksakte kravene til produktet.
  • Kunde - Kunden er hovedorganet som skriver historiekort for sine krav og bestemmer hvilket krav som tilfredsstiller hans behov. Implementeringsprioriteten settes av kunden.
  • Tester - Tester er ansvarlig for å kjøre funksjonelle tester, han hjelper kunden med å skrive funksjonelle tester. Testingen gjennomføres (regelmessig) og testverktøyene opprettholdes.
  • Tracker - Tracker gir tilbakemeldinger og holder oversikt over estimatene laget av teamet gir også forslag for å forbedre.
  • Coach - Coach er guiden til teammedlemmene gjennom hele utviklingsprosessen. Han er den erfarne som har vært i behandling i mange år.
  • Konsulent - Konsulent er det eksterne medlemmet som guider teamet med spesifikk teknisk kunnskap som kan være nødvendig for utviklingen av prosjektet.
  • Manager - Han er det avgjørende organet. Lederen holder teamet i rute for å få arbeidet gjort. Han er åpen for kommunikasjon til teammedlemmer angående problemstillinger teamet møter under utviklingen. Han sørger for at arbeidet går jevnt frem til prosjektet er levert.

Anbefalte artikler

Dette har vært en guide til Agile programmering. Her diskuterer vi funksjonell og teamrollen og ansvaret for Agile programmering. Du kan også se på følgende artikler for å lære mer -

  1. Hva er smidig programvareutvikling?
  2. Er MySQL programmeringsspråk?
  3. Hva er agile og Scrum?
  4. Hva er Kotlin programmeringsspråk?