/ / Vad är Agile: översättning, omfattning. Agil utvecklingsmetodik

Vad är Agile: översättning, omfattning. Flexibel utvecklingsmetodik

Svårt att hitta någon som inte villatt behandlas med respekt. Men det måste finnas en anledning till denna situation. Till exempel när en person är en högt kvalificerad erkänd specialist inom programvaruutveckling. Och för detta måste du lära dig. Och inom ramen för denna artikel kommer vi att titta på vad Agile är, vad är fördelarna med det och hur man förstår denna teknik.

Allmän information

Låt oss först ta itu med det tekniskaögonblick. Vad är Agile? Översättningen (bokstavligt) av detta ord från det engelska språket är "livlig, mobil" och "flexibel" nämns lite mindre ofta. Och förresten, detta är en minskning. Det fullständiga namnet på denna metod är Vig mjukvaruutveckling.Men eftersom det är för långt beslutades att klippa det. Och nu säger de bara Agile. Översättning som "flexibel" används eftersom den är mest relevant för den verkliga situationen.

agil utvecklingsmetodik

Vad ingår här?

Vi fortsätter att överväga vad Agile är.Här vill jag fokusera på det faktum att detta är ett flexibelt tillvägagångssätt, som bygger på många olika metoder (Scrum, XP, Kanban, Lean). För att bättre förstå ämnet, låt oss dra paralleller. Låt oss säga att agila tekniker är universums ursprung. Slutprodukten är själva världen. Och big bang är det mest smärtsamma problemet som vi bara måste möta - att ändra listan över krav på en produkt. Vanligtvis involverar skapande processer användning av en vattenfallsmodell. I det här fallet går allt i tur och ordning. Detta tillvägagångssätt kan uttryckas kort: jag ser målet - jag går till det. Och om kraven för det slutliga resultatet ändras måste ibland nästan allt göras om på nytt. Vad som ytterligare komplicerar denna situation är att försöka låtsas att allt är bra och att vi behöver gå framåt.

Och så är Agile, en hanteringsmetodik, utformad för attbekämpa allt detta med din flexibilitet. Denna prefabricerade broderi minimerar olika risker genom att använda principer. Alla dessa återspeglas i Agile Manifesto som släpptes 2001. Kort sagt låter de så här:

  1. Det viktigaste är människor, inte saker.
  2. Samarbeta, läs inte kontraktet.
  3. Dokumentationen bör inte störa arbetet.
  4. Ändra så snabbt som möjligt.

Det kan verka för vagt och inte korrekt, men låt oss få mer detaljerade.

ny informationsteknik

Processarrangemang

När vi tittar på vad Agile är, låt oss vända oss till en av de mest populära metoderna som kallas Scrum. Vad erbjuder hon? Först behöver du:

  1. Välj en produktägare. En person är lämplig för den här rollen, vad han ser, vilket mål han behöver gå till och vad som kommer att hända i slutändan.
  2. Bestäm ett lag. Detta kräver en grupp på tre till tio personer som har förmågan att få resultat.
  3. Välj en ansvarig specialist. Det här är personen som kommer att följa utvecklingen av projektet och hjälpa teamet att arbeta kring svårigheter.
  4. Hantera svårigheter.Alla befintliga produktkrav bör samlas på ett ställe och prioriteringar bör fastställas. Produktägaren bör samla alla sina önskemål här. Sedan utvärderar teamet dem och förstår om det kan implementeras och hur lång tid det tar.
  5. Dela upp hela arbetsbördan i bitar av tid, en vecka eller två, under vilken teamet kommer att utföra specifika uppsättningar uppgifter.
  6. Möten bör hållas dagligen, inte längre än femton minuter. Dagordningen bör diskutera vad som gjordes igår, vad är planerna för idag och de hinder som hindrar oss från att ta höjden.
  7. Gör recensioner för veckan (två), där teamet pratar om vad som har gjorts. I detta fall är det nödvändigt att visa prestandan hos delar av produkten.
  8. Efter varje tidsperiod måste problem diskuteras och lösningar sökas. Dessutom måste all utveckling genomföras på en gång.

mjukvaruutvecklingsmetoder

Hur känner du igen Agile?

Hanteringsmetoden, oavsett vilken riktning du valt, har alltid följande funktioner:

  1. Minimera risker. Detta är huvudmålet för alla flexibla tillvägagångssätt.
  2. Iterativ utveckling. I det här fallet betyder det att arbeta i små cykler.
  3. Det viktigaste är människor och kommunikation mellan dem.

Låt oss föreställa oss en flod. Kunden är på en bank. Den andra är laget. I det här fallet har agil utveckling fördelar för alla:

  1. Kunden behöver en minimalt effektiv produkt. Men under dess skapande kan villkoren ändras.
  2. Det är användbart för teamet att kommunicera med kollegor och kunden.I det här fallet minimeras risken för att missförstås, öppenheten i processerna ökar, problemen löses snabbt, chansen att det kommer att bli en överraskning när man skapar en produkt minskar.

Social faktor

När man förklarar vad Agile är, vanligtvisprata uteslutande om positiva aspekter. Faktum är att kommunikationen inom teamet förbättras. Alla människor fokuserar på en idé, skapar inte hemligheter mellan sig, tar på sig skyldigheter. Som ett resultat arbetar teamet i en bekväm och snabb miljö. Detta tillvägagångssätt gör att du kan effektivisera kaoset.

Sedan starten har den kunnat hittaerkännande inom teknikindustrin. För närvarande används den ofta för design av nya programvaruprodukter. Men i allmän affärspraxis är denna metod fortfarande lite känd. Därför är de som inte har stött på Agile tidigare försiktiga med det. Det bör också förstås att det endast ska användas i fall där människor står inför uppgiften att intellektuellt arbete.

vad är smidigt

Ett litet exempel

Låt oss ta en titt på hur dessa metoder fungerar.mjukvaruutveckling. Låt oss säga att vi har Peter, produktägaren. Han känner inte till de tekniska detaljerna, men han har en vision av helheten. Han vet varför produkten behövs, vilka problem den kommer att lösa och vem den kommer att tillfredsställa. Det finns också intressenter. De kan använda produkten, stödja dess skapande eller på annat sätt vara delaktiga i skapandet. Du kan också lägga till användarberättelser som uttrycker intressenternas önskemål. Till exempel: systemet för bokning av biljetter till reguljära bussar från Moskva till Sankt Petersburg måste söka med flyg. Peter hjälper intresserade. Det tar kontroll över implementeringen från användarberättelseidéer. Det finns också ett utvecklingsteam. Det här är människorna som kommer att bygga det fungerande systemet.

Eftersom den smidiga metoden användsutveckling, då ackumuleras inte användarberättelser förrän en stor utgåva, utan släpps omedelbart efter slutförandet och så ofta som möjligt. Antalet behandlade förfrågningar är lagets genomströmning i en vecka. För att inte förlora fart och fastna i manuell testning måste teamet arbeta med automatiserad integration. Vad är det? Ett automatiskt test skrivs för varje arbetsmoment. Om det finns för många berättelser kan det finnas rusning, förlust av motivation, minskad produktivitet och kvalitet. I sådana fall tillhandahålls metoden "gårdagens väder". Det består i att sätta strikta gränser för mängden arbete och noggrant välja vad som exakt kommer att genomföras. Det tidigare nämnda "Kanban" föreslår att du anger en uppgiftsgräns.

smidig översättning

Vad ska jag göra med kön?

Okej, så laget bestämde att de kanbearbeta fyra berättelser per vecka. Men hur hittar du dina lager i allt som finns? Anta att användare skickar in tio berättelser per vecka. Fyra bearbetas. Kön kommer alltså att växa ständigt. I det här fallet finns det bara en effektiv metod - ordet "nej". Detta är extremt viktigt för produktägaren. Att säga ja är inte svårt. Det är mycket svårare och viktigare att bestämma vad man inte ska göra. Dessutom är det också nödvändigt att bära ansvaret för detta. Därför är det nödvändigt att bestämma vad man ska vara uppmärksam på nu och vad som ska skjutas upp. För att prioritera ordentligt krävs att produktägaren förstår värdet och omfattningen av varje berättelse.

Vi fattar beslut

Några av berättelserna är extremt nödvändiga.Andra är bara en trevlig bonus. Vissa berättelser tar flera timmar att utveckla. Andra kommer att ta månader att skapa. Många drar ofta ett förhållande mellan storleken på en berättelse och dess värde. Men detta är inte alltid korrekt. Mer är inte lika med bättre. Komplexiteten och värdet av uppgiften hjälper Peter att prioritera korrekt. Hur man kvantifierar dessa egenskaper? Aldrig. Detta är ett riktigt gissningsspel. Och för större effektivitet är det nödvändigt att involvera många människor i det. Detta är både ett utvecklingsteam som kommer att informera om omfattningen av arbetet och intressenter. Men det bör förstås att all data som erhålls på detta sätt är ungefärliga gissningar. Det finns inga exakta siffror här. Inledningsvis kommer det att missas. Men när du får erfarenhet kommer deras antal och skala att minska.

smidig hanteringsmetodik

Potentiella risker

För att undvika problem krävs ärliga svar på en rad frågor. Det:

  1. Gör vi rätt? Detta är en affärsrisk.
  2. Kan vi genomföra det som behövs? Detta är en social risk.
  3. Kommer projektet att fungera på denna plattform. Detta är en teknisk risk.
  4. Kommer vi att ha tillräckligt med pengar och kommer vi att göra det i tid? Detta är riskerna med implementeringstid och kostnad.

I detta fall krävs kunskap.De kan ses som motsatsen till risker. När en betydande nivå av osäkerhet registreras, skaffar vi oss kunskap - till exempel skapar gränssnittsprototyper eller tekniska experiment. Och när vi redan har dem fattar vi beslut om i vilken riktning vi ska gå.

Hur man lär sig?

IT-industrin utvecklas extremt snabbt ochFör att inte förlora i slutändan är det nödvändigt att ständigt lära sig, förbättra färdigheter och arbetseffektivitet. Frågorna om utbildning och implementering är därför mer relevanta än någonsin. Var ska man starta? Det bästa alternativet är att samarbeta med ett företag som redan använder Agile. Utbildningen kommer sedan att genomföras av personer som inte vet från hörsägen vad som är smidigt. Men det är tyvärr inte alltid möjligt. Oftast är en tredjepartsspecialist involverad som vet vad Agile är. Implementeringen av detta tillvägagångssätt utförs under hans överinseende. Det är sant att tjänster från en sådan specialist kostar pengar. Men om du får en riktigt kunnig person, kommer alla utgifter att betala hundratals gånger. I den moderna världen spelar effektiviteten hos anställda en viktig roll.

Vad är i framtiden?

Programvaruutvecklingsmetoder utvecklas ständigt.De letar efter nya sätt och möjligheter att förbättra effektiviteten i aktiviteter och arbete. Att säga vad som väntar oss i framtiden är ganska problematiskt. Förmodligen kommer det flexibla utvecklingssystemet att integreras i automatiseringen av produktionsprocesserna. Det kommer till exempel att vara möjligt att lösa problem även när man håller sig på avstånd från företagets plats. På många sätt bestäms framtiden av ny informationsteknik. När allt kommer omkring måste du behärska nya metoder för att arbeta med dem. Och i det här fallet finns det en utveckling som stängs i en cykel.

smidig träning

Sammanfattningsvis

Det är slutet på utflykten till smidiga metoder.utveckling. Men man bör komma ihåg att teori är en sak, och övning är en helt annan sak. Ny informationsteknik som ständigt dyker upp utgör utmaningar för en stor grupp utvecklare. Hur kan du effektivisera ditt team? Alla hittar svaret på denna fråga själv. Informationen som presenteras här kan användas för att forma ryggraden. Men i praktiken måste du arbeta med den befintliga modellen och få situationen att följa de befintliga utmaningarna. Då kan teamet effektivt uppfylla de mål som ställts upp för det.