Hva er smidig programmering?
Agile programmering er en metode eller teknikk som brukes til å utvikle og lage ny programvare, den bruker den iterative tilnærmingen, som betyr at når nye eller ytterligere krav blir oppdaget og funnet at de blir lagt til prosessen.
Forstå smidig programmering
Når en programvareingeniør bestemmer seg for å komme med en ny programvare, er det visse trinn som han følger, som å få listen over alle kravene, som er nødvendige for å fullføre denne programvaren, planlegge arkitekturen og utformingen av programvaren, skriver testkoden, teste programvaren, og til slutt utarbeide eventuelle feil. Dette er visse grunnleggende og grunnleggende trinn som går ut på å utvikle ny programvare, av noe slag.
Etter hvert som programvare ble mer komplisert så virket ikke lenger denne tilnærmingen praktisk som på en måte du antar at utvikleren allerede vet hva han vil trenge før prosjektet til og med begynner. Med nye programvareprosjekter vet ikke utviklere hva alle tingene de vil trenge før prosjektet starter.
Det er her smidig programmering trådte i kraft, og når nye krav blir funnet blir de lagt til prosessen
Hvordan gjør smidig programmering arbeid enkelt
Gjennom årene har smidig programmering blitt sammenlignet med fossefall tilnærminger mye, i fossefall tilnærming kodere fungerer alene og deretter gi den videre til testere derfra den går til produksjon. Ofte testes ikke programvaren for feil eller testes for sent i produksjonsstadiet. Mens fordelene for smidige er følgende
- Alle var involvert i utviklingen av programvaren
- Kommunikasjon var en del av utviklingen av programvare
- Agile er tilpasset og modifisert for å passe til organisasjoner i alle størrelser og typer
- Agile tillot og fremmet på en måte programvareutviklingen. Nye og innovative måter ble brukt til å bygge og lage programvare
Hva kan gjøres med Agile
Nedenfor er en liste over noen av tingene som gjør at utviklere liker Agile mye
1. Hyppig testing
Programvaren testes i alle faser av utviklingssyklusen, dette hjelper sterkt med å senke arbeidsmengden på slutten, når den er i nærheten av ferdigstillelsesstadiene og den skal leveres til klienten og selskapet finner ut at det er mange problemer og feil som må løses før det kan sendes
2. Tilpasningsdyktig
Produktet er veldig tilpasningsdyktig, noe som betyr at i alle faser av utviklingssyklusen kan nye tilleggsfunksjoner eller skjulte feil være lagt til og fjernet.
3. Besparelser
Ved å ha de to ovennevnte punktene i tankene, fører det til kostnadsbesparelser fordi teamet jobber med alle spørsmål i den innledende fasen av produktet og ikke på slutten. Dette lar dem levere det i tide, ikke kaste bort ekstra tid og ved å gjøre det slik at de ikke bruker ekstra
4. Lagarbeid
Alle teamene er involvert i utviklingen av produktet, kodeteamet, testteamet og klienter. Med så mange mennesker involvert blir en rekke ideer og alternativer tilgjengelige, og teamet kan velge de som er best og samsvare med kundens behov.
Utdanningskrav
For å kunne bruke smidig programmering og bygge programvare trenger man en grad i informatikk eller programvareteknikk, elektronisk prosjektering eller en beslektet strøm. Dette kan følges av mastergrad eller spesialisering i ingeniørfag
Agile programvareutviklingsprinsipper
Manifest for smidig programvareutvikling er basert på tolv prinsipper
- Kundetilfredshet - Dette er den ytterste prioriteringen, en av måtene dette strebes med tidlig og kontinuerlig levering av verdifull programvare
- Innbydende endringer - enhver graduering eller endring i grunnleggende design av programvare ønskes velkommen selv i sene utviklingsstadier
- Koordinering - Alle team i organisasjonen fra utviklere, testere og til og med kunder er i kontinuerlig kommunikasjon med hverandre for å lage effektiv programvare
- Kommunikasjon - Åpen kommunikasjon oppmuntres slik at nye ideer blir ønsket velkommen og oppmuntret.
- Excellence - Kontinuerlig oppmerksomhet på teknisk dyktighet og god design bør tilstrebes
- Enkelhet - Kunsten å maksimere mengden arbeid som ikke er utført er avgjørende
- Programvaren leveres ofte
- Prosjekter er bygget rundt motiverte individer, som bør stole på
- Arbeidsprogramvare er det primære målet på fremgang
- Utviklingen skal skje per tidsplan, en tidslinje må opprettholdes og alle avdelinger må fullføre oppgaven sin innen den fastsatte tidsrammen
- De beste arkitekturene, kravene og designene kommer fra det selvorganiserende teamet
- Regelmessig reflekterer teamet hvordan de kan bli mer effektive og tilpasser seg deretter
metoder
Nedenfor er en liste over noen mye brukte smidige metoder
- Agile skrummetodologier
- Lean og Kanban programvareutvikling
- Ekstrem programmering
- Krystall
- Dynamic Systems Development Method (DSDM)
- Feature Driven Development
Kilde- https://www.blueprintsys.com/agile-development-101/agile-methodologies
Hvorfor trenger vi smidig programmering
Vi trenger smidig programmering for å fremme en kultur av teamarbeid, ettersom smidige fremmer mennesker som jobber sammen. Løsninger utvikles gjennom samarbeid mellom selvorganiserende tverrfunksjonelle team som bruker passende praksis for sin sammenheng.
Ledere sørger for at teammedlemmer har de nødvendige og riktige ferdighetssettene. Ledere gir et miljø som gjør at teamet skal lykkes. Ledere går for det meste tilbake og lar teamet deres finne ut hvordan de skal levere produkter.
Hvorfor bruke smidig programmering
Agile programvareutviklingsmetoder har blitt mye brukt for utvikling av programvareprodukter. Imidlertid kan disse teknikkene brukes til utvikling av ikke-programvareprodukter, for eksempel datamaskiner, motorvogner, medisinsk utstyr, mat, klær og musikk
Noen av de bredere prinsippene for smidig programvareutvikling har også funnet anvendelse i generell ledelse (f.eks. Strategi, styring, risiko, økonomi) under begrepene business agility eller agile business management.
Konklusjon
Dermed vil jeg avslutte denne artikkelen med å konstatere at smidig programmering er en måte å utvikle programvare på. Team i organisasjonen samarbeider i alle faser av utviklingen. Eventuelle nye tilleggsfunksjoner eller feil blir lagt til og utbedret på ethvert stadium av utviklingen. Og alt arbeid gjøres for å maksimere kundetilfredshet og opplevelse.
Anbefalte artikler
Dette har vært en guide til Hva er smidig programmering. Her diskuterte vi de grunnleggende konseptene med utvikling av programvare og hvorfor vi trenger smidig programmering. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -
- Viktigheten av prosjektledere
- Kvalitetene til en prosjektleder
- Tekniske ferdigheter for prosjektleder
- Verktøy for forbedring av kvalitet