/ / Wat is Agile: vertaling, reikwijdte. Agile ontwikkelingsmethodologie

Wat is Agile: vertaling, reikwijdte. Agile ontwikkelingsmethodologie

Moeilijk om iemand te vinden die dat niet zou willenmet respect worden behandeld. Maar er moet een reden zijn voor deze stand van zaken. Bijvoorbeeld wanneer iemand een hooggekwalificeerde erkende specialist is op het gebied van softwareontwikkeling. En hiervoor moet je leren. En in het kader van dit artikel zullen we kijken naar wat Agile is, wat de voordelen ervan zijn en hoe we deze technologie kunnen begrijpen.

Algemene informatie

Laten we eerst de technische aspecten besprekenmomenten. Wat is Agile? De vertaling (letterlijk) van dit woord uit de Engelse taal is ‘levendig, mobiel’, het ‘flexibel’ wordt iets minder vaak genoemd. En dit is trouwens een reductie. De volledige naam van deze aanpak is Behendig software ontwikkeling.Maar omdat het te lang is, werd besloten om het te knippen. En nu zeggen ze gewoon Agile. Vertaling als "flexibel" wordt gebruikt omdat deze het meest relevant is voor de werkelijke situatie.

agile ontwikkelingsmethodologie

Wat is hier inbegrepen?

We blijven nadenken over wat Agile is.Hier wil ik me concentreren op het feit dat dit een flexibele aanpak is, die is gebaseerd op veel verschillende methodologieën (Scrum, XP, Kanban, Lean). Laten we parallellen trekken om het onderwerp beter te begrijpen. Laten we zeggen dat Agile-technologieën de oorsprong zijn van het universum. Het eindproduct is de werkelijke wereld zelf. En de oerknal is het meest pijnlijke probleem waarmee u alleen te maken krijgt: het wijzigen van de lijst met vereisten voor een product. Bij creatieprocessen wordt doorgaans een watervalmodel gebruikt. In dit geval verloopt alles opeenvolgend en in fasen. Deze benadering kan kort worden uitgedrukt: ik zie het doel - ik ga er naartoe. En als de eisen aan het eindresultaat veranderen, dan moet soms bijna alles opnieuw worden gedaan. Wat deze situatie nog ingewikkelder maakt, is proberen te doen alsof alles in orde is en dat we verder moeten.

En dus is Agile, een managementmethodologie, ontworpen ombestrijd dit allemaal met uw flexibiliteit. Deze geprefabriceerde mengelmoes minimaliseert verschillende risico's door het gebruik van sets principes. Dit alles wordt weerspiegeld in het Agile Manifesto dat in 2001 werd uitgebracht. Kortom, ze klinken als volgt:

  1. Het belangrijkste zijn mensen, niet dingen.
  2. Werk samen, lees het contract niet.
  3. De documentatie mag het werk niet hinderen.
  4. Verander zo snel mogelijk.

Het lijkt misschien te vaag en niet nauwkeurig, maar laten we wat gedetailleerder worden.

nieuwe informatietechnologieën

Procesregeling

Als we kijken naar wat Agile is, gaan we naar een van de meest populaire methodologieën die bekend staat als Scrum. Wat biedt ze aan? Eerst heb je nodig:

  1. Selecteer een producteigenaar. Een persoon is geschikt voor deze rol, wat hij ziet, naar welk doel hij moet gaan en wat er uiteindelijk zal gebeuren.
  2. Beslis over een team. Hiervoor is een groep van drie tot tien mensen nodig die over de vaardigheden beschikken om resultaten te behalen.
  3. Kies een verantwoordelijke specialist. Dit is de persoon die de ontwikkeling van het project zal volgen en het team zal helpen bij het omzeilen van moeilijkheden.
  4. Omgaan met moeilijkheden.Alle bestaande productvereisten moeten op één plek worden verzameld en er moeten prioriteiten worden gesteld. De producteigenaar moet hier al zijn wensen verzamelen. Vervolgens evalueert het team ze en begrijpt of het kan worden geïmplementeerd en hoe lang het duurt.
  5. Verdeel de volledige werklast in stukjes tijd, een week of twee, waarin het team specifieke taken zal uitvoeren.
  6. Vergaderingen moeten dagelijks worden gehouden, niet langer dan vijftien minuten. De agenda moet bespreken wat er gisteren is gedaan, wat de plannen zijn voor vandaag en de obstakels die ons ervan weerhouden de hoogte te bereiken.
  7. Doe recensies voor de week (twee), waarin het team praat over wat er is gedaan. In dit geval is het nodig om de functionaliteit van de productonderdelen te demonstreren.
  8. Na elke tijdsperiode moeten problemen worden besproken en oplossingen worden gezocht. Bovendien moeten alle ontwikkelingen in één keer worden doorgevoerd.

methodologieën voor softwareontwikkeling

Hoe herken je Agile?

De managementmethodiek heeft, ongeacht de gekozen richting, altijd de volgende kenmerken:

  1. Risico's minimaliseren. Dit is het belangrijkste doel van elke flexibele aanpak.
  2. Iteratieve ontwikkeling. In dit geval betekent het werken in kleine cycli.
  3. Het belangrijkste zijn de mensen en de communicatie tussen hen.

Laten we ons een rivier voorstellen. De klant zit op één bank. De tweede is het team. In dit geval heeft een agile ontwikkelingsmethodologie voordelen voor iedereen:

  1. De klant heeft een minimaal efficiënt product nodig. De omstandigheden kunnen echter veranderen tijdens het maken ervan.
  2. Voor het team is het handig om te communiceren met collega's en de klant.In dit geval wordt de kans op misverstanden geminimaliseerd, wordt de transparantie van processen vergroot, worden problemen snel opgelost, wordt de kans op een verrassing bij het maken van een product verkleind.

Sociale factor

Bij het uitleggen wat Agile is, meestalpraat uitsluitend over positieve aspecten. De communicatie binnen het team verbetert inderdaad. Alle mensen concentreren zich op één idee, creëren onderling geen geheimen, nemen verplichtingen op zich. Als gevolg hiervan werkt het team in een comfortabele en snelle omgeving. Met deze aanpak kun je de chaos stroomlijnen.

Sinds de oprichting heeft het kunnen vindenerkenning in technologische industrieën. Momenteel wordt het veel gebruikt voor het ontwerpen van nieuwe softwareproducten. Maar in de algemene bedrijfspraktijk is deze aanpak nog weinig bekend. Daarom zijn degenen die Agile nog niet eerder hebben ontmoet, er op hun hoede voor. Het moet ook duidelijk zijn dat het alleen mag worden gebruikt in gevallen waarin mensen worden geconfronteerd met de taak van intellectueel werk.

wat is agile

Een klein voorbeeld

Laten we eens kijken hoe deze methodologieën werken.software ontwikkeling. Laten we zeggen dat we Peter, de producteigenaar, hebben. Hij kent de technische details niet, maar hij heeft een visie op het grote geheel. Hij weet waarom het product nodig is, welke problemen het oplost en wie het zal bevredigen. Er zijn ook belanghebbenden. Ze kunnen het product gebruiken, de creatie ervan ondersteunen of anderszins betrokken zijn bij de creatie ervan. Ook kun je user stories toevoegen die de wensen van stakeholders uitdrukken. Bijvoorbeeld: het systeem voor het boeken van kaartjes voor reguliere bussen van Moskou naar Sint-Petersburg moet zoeken op vluchten. Peter helpt geïnteresseerden. Het neemt de controle over de implementatie van ideeën over gebruikersverhalen. Er is ook een ontwikkelteam. Dit zijn de mensen die het werkende systeem gaan bouwen.

Omdat de agile-methodiek wordt gebruiktontwikkeling, dan worden gebruikersverhalen pas bij een grote release verzameld, maar worden ze onmiddellijk na voltooiing en zo vaak mogelijk vrijgegeven. Het aantal verwerkte verzoeken is de verwerkingscapaciteit van het team gedurende een week. Om niet het momentum te verliezen en vast te lopen in handmatig testen, moet het team werken aan geautomatiseerde integratie. Wat is het? Voor elk werkmoment wordt een automatische test geschreven. Als er te veel verhalen zijn, kan er sprake zijn van haast, verlies van motivatie, verminderde productiviteit en kwaliteit. Voor dergelijke gevallen wordt de "gisteren weer" -methode voorzien. Het bestaat uit het stellen van strikte limieten aan de hoeveelheid werk en het zorgvuldig kiezen van wat er precies wordt geïmplementeerd. De eerder genoemde "Kanban" stelt voor om een ​​taaklimiet in te stellen.

flexibele vertaling

Wat te doen met de wachtrij?

Oké, dus het team heeft besloten dat ze dat kunnenvier verhalen per week verwerken. Maar hoe kun je je oriënteren in alles wat er is? Stel dat gebruikers tien verhalen per week indienen. Vier zijn verwerkt. De wachtrij zal dus constant groeien. In dit geval is er maar één effectieve methode: het woord "nee". Dit is uitermate belangrijk voor de producteigenaar. Ja zeggen is niet moeilijk. Het is veel moeilijker en belangrijker om te beslissen wat je niet moet doen. Bovendien is het nodig hiervoor ook de verantwoordelijkheid te dragen. Daarom is het noodzakelijk om te beslissen waar u nu op moet letten en wat moet worden uitgesteld. Om de juiste prioriteiten te stellen, moet de producteigenaar de waarde en reikwijdte van elk verhaal begrijpen.

We nemen beslissingen

Sommige verhalen zijn hard nodig.Anderen zijn gewoon een leuke bonus. Sommige verhalen hebben enkele uren nodig om zich te ontwikkelen. Anderen zullen maanden nodig hebben om te creëren. Veel mensen leggen vaak een verband tussen de grootte van een verhaal en de waarde ervan. Maar dit is niet altijd correct. Groter is niet gelijk aan beter. De complexiteit en waarde van de taak helpt Peter om de juiste prioriteiten te stellen. Hoe deze kenmerken kwantificeren? Echt niet. Dit is een echt raadspel. En voor meer efficiëntie is het nodig om er veel mensen bij te betrekken. Dit is zowel een ontwikkelteam dat informeert over de omvang van het werk als belanghebbenden. Maar het moet duidelijk zijn dat alle gegevens die op deze manier worden verkregen, schattingen zijn. Er zijn hier geen exacte cijfers. In eerste instantie zullen er missers zijn. Maar naarmate u ervaring opdoet, zullen hun aantal en schaal afnemen.

agile managementmethodologie

Potentiële risico's

Om problemen te vermijden, zijn eerlijke antwoorden op een aantal vragen nodig. Het:

  1. Doen we het juiste? Dit is een zakelijk risico.
  2. Kunnen we implementeren wat nodig is? Dit is een sociaal risico.
  3. Zal het project op dit platform werken. Dit is een technisch risico.
  4. Zullen we genoeg geld hebben en zullen we het op tijd halen? Dit zijn de risico's van implementatietijd en kosten.

In dit geval is kennis vereist.Ze kunnen worden gezien als het tegenovergestelde van risico's. Wanneer een aanzienlijk niveau van onzekerheid wordt geregistreerd, doen we kennis op - bijvoorbeeld door interface-prototypes of technische experimenten te maken. En als we ze al bezitten, nemen we beslissingen over de richting waarin we ons moeten bewegen.

Hoe te leren?

De IT-industrie ontwikkelt zich extreem snel, enOm uiteindelijk niet te verliezen, is het noodzakelijk om constant te leren, vaardigheden te verbeteren en efficiënter te werken. Daarom zijn de kwesties van training en implementatie relevanter dan ooit. Waar te beginnen? De beste optie is om samen te werken met een bedrijf dat al Agile gebruikt. De training wordt dan gegeven door mensen die van horen zeggen niet weten wat agile is. Maar dit is helaas niet altijd mogelijk. Meestal is er een externe specialist bij betrokken die weet wat Agile is. De implementatie van deze aanpak geschiedt onder zijn supervisie. Toegegeven, de diensten van zo'n specialist kosten geld. Maar als u een echt goed geïnformeerd persoon krijgt, zullen alle uitgaven zich honderdvoudig terugbetalen. In de moderne wereld speelt de effectiviteit van werknemers inderdaad een belangrijke rol.

Wat zit er in de toekomst?

De methodologieën voor softwareontwikkeling evolueren voortdurend.Ze zoeken naar nieuwe manieren en mogelijkheden om de efficiëntie van activiteiten en werk te verbeteren. Om te zeggen wat ons in de toekomst te wachten staat, is nogal problematisch. Waarschijnlijk wordt het flexibele ontwikkelsysteem geïntegreerd met de automatisering van productieprocessen. Zo is het bijvoorbeeld mogelijk om problemen op te lossen, zelfs als u op afstand blijft van de locatie van het bedrijf. In veel opzichten wordt de toekomst bepaald door nieuwe informatietechnologieën. Immers, wanneer ze zich voordoen, moet u nieuwe methoden beheersen om ermee te werken. En in dit geval is er een ontwikkeling die wordt gesloten in een cyclus.

behendige training

Tot slot

Dat is het einde van de excursie naar agile methoden.ontwikkeling. Maar er moet aan worden herinnerd dat theorie één ding is, en praktijk iets heel anders. Nieuwe informatietechnologieën die voortdurend in opkomst zijn, stellen een grote gemeenschap van ontwikkelaars voor uitdagingen. Hoe kunt u uw team efficiënter maken? Iedereen vindt zelf het antwoord op deze vraag. De hier gepresenteerde informatie kan worden gebruikt om de ruggengraat vorm te geven. Maar in de praktijk moet je werken met het bestaande model en de stand van zaken in overeenstemming brengen met de bestaande uitdagingen. Dan zal het team in staat zijn om de gestelde doelen effectief te realiseren.