Vad är smidig programmering?

Agile programmering är en metod eller teknik som används för att utveckla och skapa ny mjukvara, den använder den iterativa metoden, vilket betyder att när nya eller ytterligare krav upptäcks och finner att de läggs till i processen.

Förstå agil programmering

När en programvaruingenjör beslutar att ta fram en ny programvara finns det vissa steg som han följer som att få en lista över alla krav, som krävs för att slutföra denna programvara, planera ut programvarans arkitektur och design, skriver testkoden, testar mjukvaran och slutligen räkna ut eventuella buggar. Dessa är vissa grundläggande och grundläggande steg som går till att utveckla ny programvara, av alla slag.

Men när programvaran blev mer komplicerad så verkade detta tillvägagångssätt inte längre vara praktiskt eftersom du antar att utvecklaren redan vet vad han kommer att behöva innan projektet till och med börjar. Med nya mjukvaruprojekt vet inte utvecklarna vad allt de kommer att behöva innan projektet börjar.

Det är här som smidig programmering trädde i kraft, eftersom och när nya krav hittas läggs de till i processen

Hur gör smidig programmering arbetet enkelt

Under åren har den smidiga programmeringen jämförts med vattenfall närmar sig mycket, i vattenfallmetoden fungerar kodare ensamma och vidarebefordrar den till testare därifrån den flyttar till produktion. Ofta testas inte programvaran för buggar eller testas för sent i produktionsstadiet. Medan för smidiga fördelar är följande

  1. Alla var involverade i utvecklingen av programvaran
  2. Kommunikation var en del av utvecklingen av programvara
  3. Agile har anpassats och modifierats för att passa organisationer av alla storlekar och typer
  4. Agile tillät och på ett sätt främjade mjukvaruutvecklingen. Nya och innovativa sätt användes för att bygga och skapa programvaror

Vad kan göras med Agile

Nedan finns en lista över några saker som gör att utvecklare gillar Agile mycket

1. Täta tester

Programvaran testas i varje steg i utvecklingscykeln, vilket hjälper till att sänka arbetsbelastningen i slutet, när den är nära färdigstegen och den ska levereras till klienten och företaget finner ut att det finns många problem och buggar som måste lösas innan det kan skickas

2. Anpassningsbar

Produkten är mycket anpassningsbar, vilket innebär att i varje skede av utvecklingscykeln kan nya ytterligare funktioner eller dolda buggar läggas till och tas bort.

3. Besparingar

Med tanke på ovanstående två punkter, totalt sett leder det till kostnadsbesparing eftersom teamet arbetar med alla frågor i produktens första skede och inte i slutet. Detta gör att de kan leverera det i tid, inte slösa bort extra tid och genom att göra så att de inte spenderar extra

4. Lagarbete

Alla team är involverade i utvecklingen av produkten, kodningsteamet, testteamet och klienterna. Med så många människor involverade blir en rad idéer och alternativ tillgängliga och teamet kan välja de som är bäst och matcha kundens behov.

Utbildningskrav

För att kunna använda smidig programmering och bygga programvara behöver man en examen i datavetenskap eller programvaruteknik, elektronisk teknik eller en relaterad ström. Detta kan följas av magisterexamen eller specialisering i teknik

Agile Software utvecklingsprinciper

Manifest för smidig programvaruutveckling är baserad på tolv principer

  1. Kundnöjdhet - Det här är högsta prioritet, ett av dessa sätt strävar man efter tidig och kontinuerlig leverans av värdefull programvara
  2. Välkomnande förändringar - alla uppgraderingar eller ändringar i den grundläggande designen av programvara välkomnas även i sena utvecklingsstadier
  3. Samordning - Alla team i organisationen från utvecklare, testare och till och med kunder är i ständig kommunikation med varandra för att skapa effektiv programvara
  4. Kommunikation - Öppen kommunikation uppmuntras så att nya idéer välkomnas och uppmuntras.
  5. Excellence - Kontinuerlig teknisk kvalitet och god design bör strävas efter
  6. Enkelhet - Kunsten att maximera mängden arbete som inte utförs är viktigt
  7. Programvaran levereras ofta
  8. Projekt bygger på motiverade individer, som borde lita på
  9. Arbetsprogramvara är det primära måttet på framsteg
  10. Utvecklingen ska ske enligt tidsplaner, en tidslinje måste upprätthållas och alla avdelningar måste avsluta sin uppgift inom den fastställda tidsramen
  11. Bästa arkitekturer, krav och design framgår av självorganiserande team
  12. Teamet reflekterar regelbundet hur man blir effektivare och anpassar sig efter detta

metoder

Nedan finns en lista över några allmänt använda smidiga metoder

  1. Smidiga skrummetoder
  2. Lean och Kanban mjukvaruutveckling
  3. Extrem programmering
  4. Kristall
  5. Dynamisk systemutvecklingsmetod (DSDM)
  6. Feature Driven Development

Källa- https://www.blueprintsys.com/agile-development-101/agile-methodologies

Varför behöver vi smidig programmering

Vi behöver smidig programmering för att främja en kultur av lagarbete, eftersom agile främjar människor som arbetar tillsammans. Lösningar utvecklas genom samarbete mellan självorganiserande tvärfunktionella team som använder lämpliga metoder för deras sammanhang.

Chefer ser till att gruppmedlemmarna har de nödvändiga och rätt kompetensuppsättningarna. Chefer ger en miljö som gör det möjligt för teamet att lyckas. Chefer går oftast tillbaka och låter sitt team ta reda på hur de ska leverera produkter.

Varför använda smidig programmering

Agile mjukvaruutvecklingsmetoder har använts i stor utsträckning för utveckling av mjukvaruprodukter. Dessa tekniker kan emellertid tillämpas på utveckling av icke-programvaruprodukter, såsom datorer, motorfordon, medicintekniska produkter, mat, kläder och musik

Några av de bredare principerna för smidig programvaruutveckling har också hittat tillämpning i allmän förvaltning (t.ex. strategi, styrning, risk, finans) under villkoren affärs agility eller agile business management.

Slutsats

Därför skulle jag vilja avsluta den här artikeln med att säga att smidig programmering är ett sätt att utveckla programvara. Team i organisationen arbetar tillsammans i varje utvecklingsstadium. Eventuella nya ytterligare funktioner eller buggar läggs till och korrigeras i alla faser av utvecklingen. Och allt arbete görs för att maximera kundnöjdheten och upplevelsen.

Rekommenderade artiklar

Detta har varit en guide till What is Agile Programming. Här diskuterade vi de grundläggande koncepten med utveckling av programvara och varför vi behöver smidig programmering. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Betydelsen av projektledare
  2. Projektledares kvaliteter
  3. Tekniska färdigheter för projektledare
  4. Kvalitetsförbättringsverktyg