maandag 3 augustus 2009

De agile checklist?

Via de blog van Alexander Lang kwam ik de volgende checklist tegen voor het aangaan van een agile project met een klant. De strekking is als volgt, het uitleggen van agile methodiek richting de klant is altijd een uitdaging. Om de agile denkwijze te verduidelijken en een betere communicatie met de opdrachtgever ten opzichte van de betekenis van agile in een project en om de opdrachtgever duidelijk te maken wat hij of zij kan verwachten of juist niet hebben we een checklist hiervoor vervaardigd.

Een agile project;

01] U krijgt werkende, beheersbaar, productie waardige, 100% kwaliteit software binnen een afgesproken tijdsperiode.

02] U krijgt de eerste werkende, beheersbaar, productie waardige, 100% kwaliteit versie van de software na een korte tijdsperiode (iteratie van meestal 1 tot 2 weken).

03] U krijgt uw software up and running op het door u gewenste tijdstip.

04] Wij programmeren altijd in duo vorm (pair programming) om zodoende de kwaliteit van de code hoog te houden en er voor te zorgen dat we altijd progressie maken.

05] Wij schrijven automatische test scenario's om de kwaliteit constant te toetsen en er voor te zorgen dat we altijd progressie maken.

06] Het is niet vanzelfsprekend dat alle features worden meegenomen in de eerste iteratie.

07] Daarom is zo belangrijk dat U uw features een prioriteit geeft naar gelang de wens.

08] Wij geven een schatting af, hoeveel tijd het kost om elke feature afzonderlijk en in het geheel te implementeren. Maar let wel op het is en blijft een schatting.

09] Wij gaan niet uit van functionele specificaties die u inbrengt als basis voor ons werk.

10] Wij geloven niet dat dit de werkwijze is omdat het gewoonweg niet mogelijk is om de software alleen goed te specificeren aan de voorkant binnen de aanvaardbare inspanning.

11] Wij gebruiken uw functionele specificaties wel als basis voor de discussie met u waarin wij per feature samen met U de user story uitschrijven. Deze uitgeschreven user stories per feature vormen de basis van ons werk.

12] Wij omarmen het wijzigen van de requirements doordat we in relatief korte iteraties software opleveren.

13] Wij leveren succesvol software projecten op wanneer we als hierboven werk verrichten.


__________________


Handtekening Opdrachtgever

woensdag 8 juli 2009

KANBANISME

Kanbanisme; het simpel denken, redeneren en handelen zodat er via visueel contact problemen in een vroeg stadium kunnen worden gesignaleerd waardoor er een effectief proces ontstaat.

Kanban de methodiek (geschikt voor zowel ict als industrie) voor de minimalist, de pure planner, de scrupuleuze dictator, de effectieve planner en natuurlijk kanban is de methodiek voor jou.



Kanban heeft zijn oorsprong in Japan, Kan staat voor visueel en Ban staat voor een kaart of bord. Kanban kan dus worden gezien als het signaleren door middel van kaarten. Het is dus een methodiek om te signaleren, een methode om door middel van een kaarten inzichtelijk te krijgen waar zicht een bottleneck van een project of deelproject kan gaan vormen. De werking van kanban is simpel, er wordt gebruik gemaakt van een push pull mechaniek (ook wel Two Bin, het voorraadsysteem genoemd). Het gehele push pull systeem wordt inzichtelijk gemaakt door middel van een bord, het kanban bord.



Het kanban bord wordt opgesteld in de project ruimte en geeft in een opslag aan het projectteam weer waar de bottlenecks kunnen gaan ontstaan wanneer er niet in wordt gegrepen (qua planning of productie). Het kanban bord heeft een aantal kolommen welke de verschillende tijdseenheden of faseringen kunnen zijn, in de afbeelding zijn er fasen gebruikt maar er zou ook gebruik kunnen worden gemaakt van dagen (voor korte deelprojecten), weken en maanden etc.. Het bord heeft als functie om per fase een aantal kaarten aan te brengen om zo inzichtelijk te krijgen wat er die periode moet gebeuren om de volgende te kunnen initiëren. Boven elke kanban kolom wordt er een een limiet aangegeven, de kanban limiet. In de kanban limiet wordt aangegeven wat het maximaal aantal processen voor die fase mogelijk zijn zonder dat er een probleem zou kunnen ontstaan. Elk verwijderde kaart binnen een fase geeft de ruimte om een nieuwe te laten invoegen vanuit de vorige fase (het push en pull principe). Op elke kaart staat omschreven wat de actie inhoud en wie de actiehouder is, tevens wordt er gebruikt gemaakt van een start datum en een oplever datum. In de volgende afbeelding zijn de verschillende kaarten gevisualiseerd welke gebruikt kunnen worden.



Kanbanisme is de toekomst.
Kanban simpel en effectief.

Om maar even met de volgende uitsmijters te besluiten
Less is More en Keep it simple baby.


De afbeeldingen die hier zijn gebruikt zijn onderdeel van de Agile Business Integration process welke ontwikkeld is voor QNH Business Integrators. De afbeeldingen zijn vervaardigd door Leo Bekhuis in samenspraak met Olav Maassen (Agile Coach). Wanneer u meer wilt weten omtrent Kanban of het Agile Business integration process kunt u contact opnemen met Leo Bekhuis of Olav Maassen – QNH 030 698 20 00

woensdag 3 juni 2009

Cut the bullshit I am a two binner

De wijzen kwamen uit het oosten is ooit eens in een goed verkopend boek gezegd en na een lange periode van ongeloof ben ik bekeerd en kan ik deze stelling met een volmondige Ja beantwoorden maar wel met de kanttekening erbij dat we het hier hebben over het Verre Oosten. Oké laat ik niet te ver gaan in mijn enthousiasme en mijn bekering tot dit geloof verduidelijken. “Agile thinking baby and we love Kanban” ik hoor het dagelijks als een soort van mantra in mijn omgeving, hell ik heb er zelfs spannende dromen over. Agile/Kanban is het geloof waarin ik mijn geluk en verlies kan plaatsen, koppel er een aantal andere zeer vruchtbare overtuigingen aanvast zoals Kaizen en Poka Yoke, en je hebt volgens de auteur van dit eigenlijk fantastische stukje tekst een winning team op gebied van welke vorm van management dan ook.
ps Zou er iemand de doopnaam Agile, Kanban, Kaizen, of Poka Yoke hebben, dit zou dan een geweldig omen zijn voor de nieuwe messias of messias-in toch….dus…….. anyways
Geluk als in de zin van héhé eindelijk een kapstok waaraan ik mijn altijd door alles en iedereen bekritiseerde ‘laid back’ vorm van managen. Maar pas op ‘laid back’ is hier niet negatief bedoeld maar het heeft juist het doel om door middel van korte communicatie met cross functionele projectmedewerkers in een vertrouwde en eerlijke omgeving software of producten op te leveren, welke binnen een bepaalde periode met daarbij de kennis en kunde van het op tijd te kunnen signaleren van bottlenecks of voorraad die de flow kunnen onderbreken. Er wordt niet iets eerder gedaan voordat een vorig proces of product volledig en werkend is afgeleverd (Poka Yoke). Er wordt vanuit de groep aangegeven wat het maximum aantal werkprocten, bugs, change request, features etcetera per periode er kunnen worden doorgevoerd. Er wordt gebruik gemaakt van een backlog. Er wordt gebruik gemaakt van een iteratieve cycle en van een bord, een freaking groot bord met post it fluffy memo’s die de signaal kaarten zijn. I Love it.
Verlies, mijn verlies wat ik als restproduct van dit geloof kan betitelen is de acteur die meestal ongewild gevormd wordt binnen bepaalde bedrijfsculturen om zodoende resultaat te kunnen behalen. Elimineer de verspilling baby. Ik ben wanneer ik bedrijfsmatig acteer niet eerlijk en wie volgens de Bushido niet eerlijk is zal uiteindelijk ook niet uitbetaald worden dus gooi ik al mijn pruiken, plaksnorren, maskers en capes weg om zodoende het uiteindelijke glorieuze moment mee te maken waarop de klant zegt; ‘ik vertrouw erop’ want zeg nou eerlijk wat is er beter dan vertrouwen. “Always give trust slightly in advance of demonstrated trustworthiness.”
Geloof, vertrouwen, gezondheid, geld en wereld dominatie.
Ja ja……. daar gaat het uiteindelijk om. Geloof hebben we, vertrouwen wordt verkregen door het geloof te volgen, geld verdienen we door erop te vertrouwen dat een Agile insteek werkt, en wereld dominatie ja das wat anders wereld dominatie is gewoon puur geluk. Of heeft het toch een klein beetje met geld te maken? Ook ik moet natuurlijk eerlijk blijven tijdens deze lofbetuiging en daarom vermeld ik dus ook dat de factor plezier natuurlijk altijd aanwezig moet zijn want anders kan ik net zo goed op de bank gaan zitten met mijn collectie “Koffietijd - seizoen 93/94”.
U leest en denkt, of u leest en luistert. Ik schrijf en denk,
LBS de Kanbanist uit Kanbanisme, Deep Throttle

KanBan
Kan – Kaart
Ban – Signaal
Het visualiseren van de flow in een proces door gebruik te maken van kaarten die de ruimte en stagnaties in een proces duidelijk en eenvoudig signaleren.

KaiZen
Kai – “verandering” of “de actie doe tot verbetering leidt”
Zen – goed
"het veranderen naar beter"
Kaizen is een dagelijkse activiteit met een doel dat verder gaat dan verbetering. Het is ook een proces dat, wanneer correct uitgevoerd, de werkplaats menselijker maakt: het elimineert hard werk (zowel mentaal als fysiek) en het leert mensen de verspillingen in een proces zien en elimineren.

Poka Yoke
Het is een methode om een productieproces zodanig te vormen dat het bijna onmogelijk wordt om fouten te maken. Een operatie wordt uitgevoerd op een manier dat de correcte handeling geforceerd wordt. Dus een machine begint pas aan het volgende product wanneer het vorige foutloos is afgeleverd.
Maar wat zijn nou echt de leerdoelen die wij willen benadrukken. Laat de mensen eigenhandig voelen wat verbetering is. Laat de mensen vanuit eigen handelen de meerwaarde ontdekken.

Resumerend.
Hmmm, waarschijnlijk is mijn enthousiasme een beetje te ver doorgeslagen in deze post, daarom beloof ik plechtig dat de volgende post wederom over kanban zal gaan en dat ik daarin dan een serieuze toon zal aanslaan.

vrijdag 29 mei 2009

Verspilling zou energie kunnen zijn....

Wat is waste?
Onze taal vermeld dat we het hier hebben over afval of verspilling. Is het af? Nee. Is het een val? Nee. Maar wat is het dan? Afval is voedsel Afval is energie Verspilling is omkeerbaar.
De kern van Cradle to Cradle ligt in het concept; afval is voedsel. Alle gebruikte materialen zouden na hun leven in het ene product, nuttig kunnen worden ingezet in een ander product.

Hierbij zou geen kwaliteitsverlies mogen zijn en alle restproducten moeten hergebruikt kunnen worden of milieuneutraal zijn. Deze kringloop is dan compleet.... en afval is voedsel.

“Cradle to Cradle: Remaking the Way We Make Things (2002) is een boek van William McDonough en Michael Braungart”


We kunnen het ook versimpelen en gewoon zeggen : Recycle. Hetzelfde verhaal kunnen we gaan toepassen als “lean” denker. Met als enige verschil dat wij niet aan het milieu hoeven te denken en dat is verdomd handig want ….

Maar nu dan naar Lean en de daarin “so called wastes” Even nog ter opfrissing;

Voeg alleen maar waarde toe en elimineer de verspilling en leg de focus op degene die waarde toevoegen.Zorg voor een vraag/aanbod situatie zonder het tolereren van vertraging en optimaliseer over een gehele organisatie en niet een enkele divisie of afdeling

“Mary Poppendieck Principles of Lean Thinking 2002”


De zeven opgestelde “wastes” volgens Taiichi Ohno (mastermind achter “Toyota Production System”);


01 overproductie
02 inventaris
03 extra proces stappen
04 informatie vinden
05 foutafhandeling
06 wachttijden en vertragingen
07 transport
Tegenwoordig kan dit worden aangevuld met de volgende;
08 fysieke energie (niet direct van toepassing voor de IT maar toch, ook dit is afval)

Maar wat houden deze verschillende types verspilling dan in?

01 overproductie
Er wordt meer geproduceerd dan dat er vraag naar is, of sneller dan dat het kan worden afgeleverd. In de IT wereld zijn dit de extra features.

02 inventaris
Opslag en het werk-in-uitvoering (work in progress). Hoeveel kost het? Hoeveel ruimte neemt het in beslag? In het binaire habitat de requirements of specificaties.

03 extra proces stappen
Zoals het al zegt de extra stappen in het proces. Het opnieuw invoeren van exacte dezelfde data. Is het efficiënter te maken Is het simpeler te maken. Verminderen van overbodig papierwerk.

04 informatie vinden
Zorg voor de ultieme groep werknemers in jou project. Welke extra kennis skills hebben jou werknemers en hoe kun je die optimaal benutten, en wat is dan de uitkomst daarvan?

Wat zijn de afstanden voordat je informatie kunt verkrijgen, en wat zijn de afhankelijkheden daarop?

05 fout afhandeling
Wat is het aantal fouten wat de Test fase doorstaat? Hoeveel kost het oplossen van deze fouten?
Hoeveel van dit soort fouten zijn te factureren en hoeveel niet?

06 wachttijden en vertragingen
Het wachten op en door klanten. Het wachten op papierwerk, instructies, supervisie, producten en eventuele leveranciers

07 transport
Hoe vaak wordt een product of stuk code behandeld in de flow van het proces, en is dit proces wel afgestemd op een volle en efficiënteroute.

08 energie
Worden de kleine reparaties direct uitgevoerd?Is het dak geïsoleerd en is er direct contact met licht van buiten? Worden de lichten uit gedaan en apparatuur uitgezet wanneer deze niet
in gebruik is?

Dat waren de waste criteria die worden gebruikt bij Lean.

Recycling komt steeds dichterbij, maar hoe deze recycle iteratie er uit met zien is nog moeilijk in te schatten. Hoe recycle je code, hoe breek je bepaalde denkwijzen in code af en gebruik je deze weer in een ander project? Werelwijde api's?
Of wanneer een applicatie herschreven wordt kunnen misschien bepaalde patronen van code / context worden overgenomen? Het wordt tijd voor de introductie van Recycle Management of misschien beter in de context van deze mail Waste Management.

Reduce, Reuse, Recycle > Reduceren, Hergebruik en het terug in omloop brengen.

En dan nog even dit; Japan, het land waar miljoenen hardwerkende mensen zonder enige frictie haar taken voor de dag van 12 uur lang volbrengen. Rijzende zon, technologie, gadgets, rust, samoerai en Hirosjima. Hirosjima waarom benoem je deze expliciet?
De vergeldingsactie van de Amerikanen voor Pearl Harbor heeft de Japanse collectieve geest van eer te denken gezet. De gedachte van de japanners dat de kracht in kamikaze lag is achteraf
gezien een startpunt geweest voor het herontdekken van haar eigen kracht, de kracht die onbewust eeuwen lang ontwikkeld is, en dat is de kracht van eer in combinatie met gelijkheid.

Kaizen

Het onophoudelijk verbeteren. Maar hierover de volgende keer meer ……