Het is moeilijk om iemand te vinden die dat niet zou doen,om met respect behandeld te worden. Maar voor een dergelijke situatie moet er een reden zijn. Bijvoorbeeld als een persoon een erkende specialist is op het gebied van softwareontwikkeling. En hiervoor is het noodzakelijk om te leren. En in het kader van dit artikel zal worden bekeken wat Agile is, wat het gebruik ervan is en hoe deze technologie te begrijpen.
Laten we eerst beginnen met technischmomenten. Wat is Agile? De vertaling (letterlijk) van dit woord uit het Engels - "levendig, mobiel", wordt iets minder vaak "flexibel" genoemd. En trouwens, dit is een korting. De volledige naam van deze aanpak is behendig software ontwikkeling. Maar omdat dit te lang is, werd besloten om te verminderen. En nu zeggen ze eenvoudigweg Agile. Vertaling als "flexibel" wordt gebruikt omdat het in de grootste mate overeenkomt met de werkelijke situatie.
We blijven nadenken over wat Agile is. Hier wil ik focussen op het feit dat dit een flexibele benadering is, gebaseerd op een verscheidenheid aan verschillende methodieken (Scrum, HR, "Kanban", Lean). Laten we parallellen trekken om het onderwerp beter te begrijpen. Laten we zeggen dat Agile-technologieën het proces zijn van de oorsprong van het universum. Het eindproduct is de wereld zelf. Een grote explosie is het meest pijnlijke probleem dat men alleen maar moet hebben - het veranderen van de lijst met vereisten voor het product. Gewoonlijk omvatten de creatieprocessen het gebruik van een cascademodel. In dit geval gaat alles consequent en in fasen. Deze benadering kan kort worden uitgedrukt: ik zie het doel - ik ga erheen. En als de vereisten voor het uiteindelijke resultaat veranderen, moet je soms alles opnieuw doen. Wat deze situatie ingewikkeld maakt, is een poging om te doen alsof alles normaal is, en we moeten verder gaan.
En hier wordt Agile, methodiek van management, opgeroepenOm dit alles te bestrijden vanwege zijn flexibiliteit. Dit "mengelmoes" -team minimaliseert verschillende risico's door het gebruik van sets van principes. Ze worden allemaal weerspiegeld in het Agile-manifest, uitgegeven in 2001. Kort gezegd klinken ze als volgt:
Het lijkt misschien te vaag en niet nauwkeurig, maar laten we het in detail beschrijven.
Laten we, gezien wat Agile is, naar een van de meest populaire methodieken gaan die bekend staat als "Scrum". Wat biedt het? Eerst heb je nodig:
De methodiek van het management, ongeacht de gekozen richting, heeft altijd deze kenmerken:
Laten we ons de rivier voorstellen. Aan de ene kant de klant. Op de tweede - het team. In dit geval heeft een flexibele ontwikkelmethode voordelen voor iedereen:
Wanneer wordt verteld wat Agile is, meestalspreek alleen over positieve aspecten. En inderdaad, de interactie binnen het team verbetert. Alle mensen richten zich op één idee, creëren geen geheimen tussen zichzelf, verbinden zichzelf. Als gevolg hiervan werkt het team onder comfortabele omstandigheden en in een snel tempo. Met deze aanpak kun je de chaos oplossen.
Sinds de oprichting kon hij vindenerkenning in de technologische industrie. Op dit moment wordt het veel gebruikt voor het ontwerpen van nieuwe softwareproducten. Maar in het kader van de algemene bedrijfspraktijk is deze benadering nog steeds weinig bekend. Daarom is hij terughoudend met degenen die Agile nog niet eerder hebben ontmoet. Het moet ook worden begrepen dat het alleen moet worden gebruikt wanneer mensen worden geconfronteerd met de taak van intellectuele arbeid.
Laten we eens kijken naar hoe deze methodologieën werkensoftware ontwikkeling. Laten we zeggen dat we Peter hebben, de eigenaar van het product. Hij kent de technische details niet, maar hij heeft een visie op het totaalplaatje. Hij weet waarom een product nodig is, welke problemen hij zal oplossen en aan wie hij zal voldoen. Er zijn ook geïnteresseerde personen. Ze kunnen het product gebruiken, de creatie ondersteunen of op de een of andere manier nog steeds betrokken zijn bij de creatie ervan. U kunt meer en gebruikersverhalen maken, waarin de wensen van geïnteresseerde personen worden uitgedrukt. Bijvoorbeeld: het reserveringssysteem voor bussen in Moskou en Sint-Petersburg moet op vluchten worden gezocht. Peter zal geïnteresseerde mensen helpen. Hij zal de controle over de implementatie van de ideeën van gebruikersverhalen overnemen. Er is ook een team van ontwikkelaars. Dit zijn mensen die een werkend systeem zullen bouwen.
Omdat een flexibele methodologie wordt gebruiktontwikkeling, dan gaan de gebruikersverhalen niet op in de grote release, maar worden ze na voltooiing en zo vaak mogelijk vrijgegeven. Het aantal verwerkte hits is de verwerkingscapaciteit van het team voor een week. Om niet het tempo te verliezen en niet vast te lopen in handmatige tests, zou het team moeten werken aan geautomatiseerde integratie. Wat is het? Voor elk werkmoment is een automatische test geschreven. Als de verhalen te veel zijn, kan er haast zijn, verlies van motivatie, een daling van de productiviteit en kwaliteit. Voor dergelijke gevallen wordt de methode "het weer van gisteren" verstrekt. Het houdt in dat het nodig is om een starre reikwijdte van de hoeveelheid werk vast te stellen en zorgvuldig te kiezen wat er precies zal worden gerealiseerd. De eerder genoemde "Kanban" suggereert het instellen van een limiet van taken.
Oké, hier heeft het team besloten dat ze het kanvier verhalen voor een week verwerken. Maar hoe kunnen we ons oriënteren op alles wat bestaat? Laten we zeggen dat gebruikers tien verhalen per week uitbrengen. Verwerkte vier. Zo zal de wachtrij voortdurend groeien. Voor dit geval is er maar één effectieve methode - het woord "nee". Voor de eigenaar van het product is dit uitermate belangrijk. "Ja" zeggen is niet moeilijk. Het is veel moeilijker en belangrijker om te beslissen wat niet te doen. En hiervoor is het ook nodig om verantwoordelijkheid te dragen. Daarom is het noodzakelijk om te beslissen waar nu aandacht aan moet worden besteed en wat moet worden uitgesteld. Om correct prioriteiten te stellen, is het noodzakelijk dat de eigenaar van het product de waarde en het volume van elk verhaal begrijpt.
Een deel van de verhalen is uiterst noodzakelijk. Anderen vertegenwoordigen gewoon een aangename bonus. Sommige verhalen zullen gedurende enkele uren worden ontwikkeld. Het creëren van anderen zal maanden duren. Veel hebben vaak betrekking op de omvang van de geschiedenis en de waarde ervan. Maar dit is niet altijd correct. Meer is niet even beter. Petro vindt correct dat de prioriteiten de complexiteit en waarde van de taak helpen. Hoe deze kenmerken kwantitatief te bepalen? Ja, niets. Dit is een echt raadspel. En voor meer efficiëntie is het nodig om heel wat mensen erbij te betrekken. Dit is een team van ontwikkelaars die zullen informeren over de omvang van het werk en geïnteresseerde personen. Maar het moet duidelijk zijn dat alle op deze manier verkregen gegevens geschatte schattingen voorstellen. Er zijn geen exacte cijfers hier. In eerste instantie zullen er missers zijn. Maar naarmate u meer ervaring opdoet, nemen hun aantal en schaal af.
Om problemen te voorkomen, is het nodig om een aantal vragen eerlijk te beantwoorden. Dit zijn:
In dit geval is kennis nodig. Ze kunnen worden beschouwd als tegenpolen van risico's. Wanneer een aanzienlijk niveau van onzekerheid is vastgesteld, verwerven we kennis - we maken bijvoorbeeld prototypen van de interface of technische experimenten. En als we ze al hebben, nemen we beslissingen over de richting die we moeten inslaan.
De IT-industrie ontwikkelt zich erg snel, enom niet te verliezen op het einde, moet je constant leren, je vaardigheden verbeteren en werken. Daarom zijn de kwesties van training en implementatie urgenter dan ooit. Waar te beginnen? De beste optie is om samen te werken met een bedrijf waar Agile al wordt gebruikt. De training in dit geval zal worden gegeven door mensen die niet geruchten hebben om te weten wat een flexibele ontwikkeling is. Maar dat is helaas niet altijd mogelijk. Meestal is er een buitenstaander bij betrokken, wie weet wat Agile is. De implementatie van deze aanpak wordt onder haar supervisie uitgevoerd. Toegegeven, de diensten van zo'n specialist kosten geld. Maar als u een echt goed geïnformeerde persoon krijgt, worden alle uitgaven honderdvoudig terugbetaald. Immers, in de wereld van vandaag speelt de effectiviteit van medewerkers een belangrijke rol.
Softwareontwikkelingsmethodieken evolueren voortdurend. Ze zijn op zoek naar nieuwe manieren en mogelijkheden om de efficiëntie van werk en activiteiten te vergroten. Te zeggen wat ons in de toekomst te wachten staat, is behoorlijk problematisch. Waarschijnlijk zal een flexibel ontwikkelingssysteem worden geïntegreerd met de automatisering van productieprocessen. U kunt bijvoorbeeld problemen oplossen en zelfs op afstand van de locatie van het bedrijf blijven. In veel opzichten wordt de toekomst bepaald door nieuwe informatietechnologieën. Immers, wanneer ze zich voordoen, moet je nieuwe manieren leren om met hen samen te werken. En in dit geval is er ontwikkeling, gesloten in een cyclus.
Dat is het einde van de excursie naar flexibele methodenontwikkeling. Maar er moet aan worden herinnerd dat één ding theorie is, en een ander ding is de praktijk. Nieuwe informatietechnologieën, die voortdurend ontstaan, dagen een grote gemeenschap van ontwikkelaars uit. Hoe het team efficiënter te maken? Iedereen vindt zelf het antwoord op deze vraag. De hier gepresenteerde informatie kan worden gebruikt om de backbone te formaliseren. Maar in de praktijk zullen we moeten werken met het bestaande model en de situatie in overeenstemming brengen met de bestaande uitdagingen. Dan zal het team in staat zijn om effectief zijn doelen te bereiken.