Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
public:astron_pwt_agile_workshop [2012-05-29 11:41] – Nico Vermaas | public:astron_pwt_agile_workshop [2017-03-08 15:27] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 30: | Line 30: | ||
</ | </ | ||
- | <code> | + | <file> |
---Door Nico Vermaas:--- | ---Door Nico Vermaas:--- | ||
Software ontwikkeling werkt normaal gesproken met een bepaalde lifecycle, bepaalde fasen. | Software ontwikkeling werkt normaal gesproken met een bepaalde lifecycle, bepaalde fasen. | ||
Line 74: | Line 74: | ||
voor elke IT-er gesneden koek zouden moeten zijn. | voor elke IT-er gesneden koek zouden moeten zijn. | ||
| | ||
- | </ | + | Antwoord Arno: |
+ | Een deel van de problemen die je noemt is terecht, maar zou eigenlijk niet mogen optreden als iedereen meer moeite doet te communiceren | ||
+ | en overleggen. Hier spelen een aantal problemen: | ||
+ | - Bijna iedereen heeft zijn eigen taakgebied (specialisme), | ||
+ | - dat tegen elke inmenging van buitenaf af te schermen. Daardoor is er wellicht te snel een reflex reactie: niet aankomen, dat is van mij! | ||
+ | - alles in het werk te stellen om zijn ding werkend te krijgen, ook als dat niet matcht met hoe anderen het eromheen designed hebben. | ||
+ | - individueel op te treden; dat zijn we immers gewend in ons eigen taakgebied. | ||
+ | - De OMG was een periodieke meeting en als zodanig niet altijd even zinvol; professioneel gezien moet het team zelf organiseren dat | ||
+ | als het nodig is, de mensen die nodig zijn voor een probleem bij elkaar komen (in principe niet periodiek, maar wanneer het juiste | ||
+ | moment daar is; het TEAM kan besluiten dat als men toch periodiek wil overleggen, dat natuurlijk mag!); die verantwoordelijkheid en | ||
+ | bevoegdheid heeft ELK teamlid! | ||
+ | - Veel teamleden hebben een ingebouwde allergie tegen meetings; maar zolang een meeting een duidelijk doel heeft en dient om 1 | ||
+ | of meer teamleden verder te helpen bij het oplossen van een probleem, is het altijd zinvol. | ||
+ | - Wegens gebrekkig teamoverleg is er veel communicatie '' | ||
+ | Wellicht is er te weinig focus op het goed oplossen van 1 probleem, | ||
+ | en lukt dat vaak maar ten dele? | ||
+ | |||
+ | Wat kan je hier nog aan toevoegen? | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Door Adriaan Renting ====== | ||
+ | |||
+ | |||
+ | Ik wil hierbij ook even mijn mail van 14 oktober in herinnering brengen " | ||
+ | |||
+ | Ik wil mijn reactie in twee delen splitsen: Een deel dat ook of vooral over het management gaat, en een deel voor het PWT. | ||
+ | |||
+ | ===== Management ===== | ||
+ | |||
+ | Mijn idee is dat er goed, met de verschillende management lagen, gekeken moet worden naar hoe besluitvorming binnen Astron plaats vind over software. Deze visie is geschreven vanuit mijn prespectief, | ||
+ | |||
+ | ==== Tijd-Kwaliteit-Features afweging ==== | ||
+ | |||
+ | Ik heb wat overlegd met vrienden van mij die bij andere software bedrijven werkzaam zijn, en één punt wat daaruit duidelijk naar voren kwam is dat er een driehoek bestaat met in de punten Tijd-Kwaliteit-Features. Het is niet mogelijk om in een developement cycle tegelijk aan alle drie deze punten te werken. Bij Astron heeft de focus heel lang gelegen op Kwaliteit/ | ||
+ | |||
+ | ==== Kennis van Software Management ==== | ||
+ | |||
+ | Het valt mij op dat zowel bij management maar beperkt kennis is van Software Management. Tot op zekere hoogte geldt dit ook voor (een gedeelte van) de developers. Dit gaat tot het niveau van NWO en de subsidie verstrekkers. Ik stip enkele punten aan: | ||
+ | * De kosten van een herbruikbaar vs. een 'one of' systeem, denk bijv. aan het ' | ||
+ | * Het leven op een papieren werkelijkheid, | ||
+ | * Sterk " | ||
+ | * De kosten van maintenance van software. | ||
+ | * De kosten van het pas later in de ontwikkeling vinden van bugs en fouten, en daarmee het belang van vroege integratie. | ||
+ | * Het beoordelen en inschatten van de kosten en complexiteit van (scientific) automatisering. | ||
+ | * De tijd die het kost voordat iemand ingewerkt is en de tijd die het kost om iemand in te werken. | ||
+ | * Het efficiëntie verlies dat optreed als een developer meerdere taken toegedeeld krijgt. | ||
+ | * De kosten om van een prototype (en ik zie LOFAR 1.0 gedeeltelijk als een prototype!) te komen naar een functioneel robuust systeem. (factor 3) | ||
+ | * De kosten van het in huren van expertise vs. het in huis hebben ervan. | ||
+ | * De kosten van late en constante wijzigingen in het ontwerp. | ||
+ | * De kosten van flexibiliteit, | ||
+ | |||
+ | Ik snap dat hier ook afwegingen m.b.t. de opgelegde financieringsmodellen een rol spelen, waardoor de ideale keuze niet altijd gemaakt kan worden, maar ik heb het beeld dat er ook binnen die kaders veel niet optimale keuzes gemaakt worden wegens een gebrek aan inzicht in de uiteindelijke kosten. | ||
+ | |||
+ | ==== Prioriteit stelling ==== | ||
+ | |||
+ | Ik heb het gevoel dat door management gekeken moet worden naar het proces van prioriteit stelling. | ||
+ | * Ik meen een sterke neiging te zien om prioriteit te geven aan de meest volwassen onderdelen, waar al resultaten uit komen en dus feedback tot verbetering gegeven wordt, terwijl de minst volwassen onderdelen weinig aandacht krijgen. | ||
+ | * Het op elkaar afstemmen van prioriteiten op verwachtte doorlooptijd zodat niet iets dat af is, daarna nog maanden of jaren moet wachten op iets anders voordat het gebruikt kan worden. Hierbij ook expliciet de balans hardware-software in mee nemen. | ||
+ | * Een overkoepelende visie op in welke volgorde de verschillende functionaliteiten nodig zijn. Het komen van een "alles is prioriteit 1" naar een geordende lijst van taken op prioriteit. Hierin zijn met de invoering van Scrum wel enige stappen gezet maar alleen met een hele korte horizon. | ||
+ | * Science-Engineering interactie. Er wordt veel direct door de wetenschappers al in oplossingen gedacht, en die dan als specificaties naar de ontwikkelaars gecommuniceerd, | ||
+ | * Een focus om de meest arbeidsintensieve taken eerst te automatiseren. | ||
+ | * Het inramen van tijd en mankracht voor actieve bewaking van het software ontwikkelingsproces en de software architectuur. | ||
+ | * Het vroeg inzetten van die ontwikkelingen die het grootste risico hebben. | ||
+ | |||
+ | ==== Clear management ==== | ||
+ | |||
+ | Het LOFAR project heeft naar mijn mening veel te leiden gehad onder een gebrek aan een duidelijke chain-of-command en lijn van verantwoordelijkheid. Op veel lagen werden/ | ||
+ | |||
+ | Daarnaast leeft bij mij het beeld bij de selectie/ | ||
+ | |||
+ | ==== Communicatie met developers ==== | ||
+ | |||
+ | Er wordt weinig met de developers gecommuniceerd over de verwachtingen, | ||
+ | |||
+ | Management is voor een groot gedeelte de communicatie tussen de ontwikkelaars en de eind-gebruikers en de algemene buitenwereld. Ik heb het gevoel dat er vaak een groot verschil zit in het beeld wat aan beide kanten leeft. | ||
+ | |||
+ | ==== Lessons Learned ==== | ||
+ | |||
+ | Mijn beeld is dat er weinig gekeken wordt naar eerdere software projecten om daar lessen uit te trekken. (TMS, Newstar, AIPS++ bijvoorbeeld, | ||
+ | |||
+ | Dit heeft ook te maken met mijn eerste PWT punt. Volgens mij is het met het huidige uren schrijf systeem (Primavera) en de manier waarop dat vanuit management aangestuurd wordt, vrijwel onmogelijk om een goed inzicht te hebben waar de knelpunten liggen in de besteding van manuren, in het ieder geval waar het software ontwikkeling betreft. Dit betekent dat men weinig kwantitatief inzicht heeft waar de grootste winst te behalen is en waar de grootste verliezen gemaakt worden. Ik denk dat hierdoor ook een sterke focus is op het binnenhalen van nieuwe projecten, en weinig reflectie op bestaande projecten. | ||
+ | |||
+ | ===== Paviljoen West Team ===== | ||
+ | |||
+ | ==== Uren ==== | ||
+ | |||
+ | Ik heb het idee dat bij een groot gedeelte van het team het aantal uren dat men " | ||
+ | Mijn suggestie is te kijken of we een uren schrijf systeem kunnen vinden, waarbij de uren dat men aanwezis verdeeld moeten worden over de gestelde taken (incl. evt overige uren zoals Colloqium e.d.) Ik denk dat dan een veel realistischer beeld gekregen wordt van waaraan de tijd besteed wordt en waar de initiële schattingen erg afwijken. | ||
+ | |||
+ | ==== Communicatie met management ==== | ||
+ | |||
+ | Ik denk dat er voor zover de kennis wel aanwezig is, er een duidelijk communicatie kanaal met de verschillende management lagen moet komen, zodat de Software Management gerelateerde punten al tijdens de besluitvorming meer meegenomen worden. Dit vergt ook een zekere bereidwilligheid van management om te luisteren naar niet altijd even communicatief vaardige developers. Hoe dit precies vorm te geven zou samen met management besproken moeten worden. Ik denk dat teveel nu "op de gang" blijft hangen, hoewel ik ook gemerkt heb dat management niet altijd de signalen oppikt die wel afgegeven worden. | ||
+ | |||
+ | ==== Bus factor ==== | ||
+ | |||
+ | Ik neem aan dat de "Bus factor" | ||
+ | |||
+ | ==== Software Architectuur ==== | ||
+ | |||
+ | Er worden vanuit het team weinig pogingen gedaan om discussies op architectuur niveau te voeren. | ||
+ | * Interface afspraken zijn gebrekkig en vaak ongedocumenteerd. Mijn voorstel is om hiervoor een taal-onafhankelijke methode af te spreken. | ||
+ | * Architectuur en design beslissingen worden vaak niet vast gelegd. Het ' | ||
+ | * Onderdelen die niet direct op het eigen ' | ||
+ | * Een probleem wat zich voordoet wordt gauw op het eigen " | ||
+ | * Samengevat een sterke neiging om zich een klein stukje toe te eigenen, maar voor de rest de verantwoordelijkheid van zich af te schuiven naar andere developers of "het management" | ||
+ | |||
+ | ==== Testen ==== | ||
+ | |||
+ | Wat duidelijk bleek uit de integratie stappen die de laatste tijd gedaan zijn, is dat er stukken software zijn die eigenlijk geen "test modus" hebben. Ook is er in de architectuur, | ||
+ | |||
+ | ===== Conclusie ===== | ||
+ | |||
+ | Mijn voorlopige conclusie is dat zowel bij management als bij het PWT meer kennis nodig is van Software Management, zodat men elkaars ' | ||
+ | Daarnaast is meer transparantie nodig in verantwoording en verantwoordelijkheid en duidelijke lijnen voor de communicatie van doelen en prioriteiten en de terugkoppeling daarop. Op sommige plaatsen in de organisatie is een cultuur verandering nodig als we tot verbeteringen willen komen. | ||
+ | |||
+ | Gedeeltelijk zijn deze problemen inherent aan de grootte van het project en de organisatie, | ||
+ | |||
+ | Ik zou graag op een hoger niveau naar de processen binnen Astron willen kijken dan alleen de implementatie van Scrum. |