Science Collaboration Zone Verfijning van user stories Workshop 9 januari 2018
Even voorstellen… Project team SCZ Facilitator Harry Kodden Bas Zoetekouw Gerben Venekamp Niels van Dijk Paul van Dijk Raoul Teeuwen Facilitator René Scheffer Wie zelf onderzoeker in de rol van gebruiker? Wie is zelf verantwoordelijk voor een dienst (accountable responsible) Wie idp verantwoordelijke/surfconnext verantwoordelijke Wie heeft er al echt met co-manage gewerkt? Wie heeft er al echt diensten aan gekoppeld via co-manage?
Programma vandaag 10:30 Inleiding 11:00 User stories Eindgebruiker (Onderzoeker) 11:30 Pauze 11:40 Groepsdiscussie 12:15 Pause 12.45 User stories IDP manager 13:15 User stories Dienstbeheerder & Orchetrator 13:45 Pauze 14:00 User stories Manager Collaborative Organisation 14:30 Afsluiting
Aanpak SCZ Gebruik van zoveel mogelijk bewezen onderdelen Integratie van de onderdelen heeft veel energie gekost Afgelopen maanden vooral gericht op ‘werkend krijgen’ Basis is nu werkbaar, laatste puntjes op i Nog wel ‘grof’ bouwwerk (nog geen gladde UI/UX) Komende maanden meer Scrum & sprint gebaseerd Nu aandacht op pilots
Doel vandaag Update over de status van de beschikbare functionaliteit van de SCZ Aanvullen, Updaten, Verfijnen & Prioriteren van de product backlog (werkvoorraad) Achterhalen wat belangrijke eisen zijn bij verdere implementatie van de functionaliteit Definition of done
User Stories Beschrijven (functionele) behoeften van één van de stakeholders van een systeem Format: Als [rol], wil ik [functionaliteit], zodat ik [reden]” Vandaag: Eerder geformuleerde user stories vormen vertrekpunt: https://wiki.surfnet.nl/display/SCZ/SCZ+User+Stories Het gaat niet om de semantiek Het gaat om globale stories (Epics) I – Independent: beschrijft functionaliteiten die onafhankelijk van elkaar geïmplementeerd kunnen worden. N – Negotiable: is onderhandelbaar. De User Story is niet zoals bij traditionele projecten volledig voorgedefinieerd. Daarentegen krijgt het Ontwikkelteam zelf de ruimte om een User Story naar eigen inzicht zo optimaal mogelijk te realiseren. V – Valuable: is waardevol voor tenminste één van de stakeholders. E – Estimable: kan ervoor zorgen dat het team de complexiteit en de benodigde capaciteit bepaalt om de User Story te realiseren. S – Small: implementatie van de User Story dient korter te duren dan een sprint. Bij User Stories die later gerealiseerd worden kan een User Story langer duren. Een User Story die te groot is om in één sprint te realiseren wordt ook wel een Epic genoemd. T – Testable: stakeholders en de Product Owner weten precies wat de User Story inhoudt en waarop deze beoordeeld wordt met testen. Dit is geformuleerd in de acceptatiecriteria en de definition of done.
Stakeholders SCZ CO-manager Dienstaanbieder Orchestrator Eind-gebruikers Incl ‘Gasten’ IDP-manager
Aanpak workshop per stakeholders Langslopen alle user stories met discussie: Is voldoende duidelijk wat deze story inhoudt (functionaliteit)? Is duidelijk waarom deze story is opgenomen (reden)? Wat is belangrijk bij implementatie (acceptatie criteria)? Wat is er nodig voordat dit in gebruik genomen kan worden? Ontbreken er nog belangrijke user stories? Prioriteren van belangrijkste user stories (top 3) Stories voor eindgebruikers doen we plenair, de andere stake holders in drie groepen
Als een eindgebruiker wil ik, … eenvoudig toegang tot gedeelde webbronnen: obv mijn instellingsaccount, obv van mijn social ID, eenvoudig kunnen inloggen bij non-webdiensten, obv een automatisch gegenereerd en geregistreerd one-time password obv een gegenereerd en geregistreerd applicatie specifiek wachtwoord obv een geregistreerde ssh-key, mij kunnen inschrijven voor een CO (Collaborative Organisation), additionele informatie over mijzelf kunnen registreren (self asserted attributen zoals: mail adres, telefoonnr., titel), mijn accounts kunnen koppelen (account linking, bijv ORCID), mijn deelname in een CO kunnen opheffen, mijn account kunnen opheffen, Als eindgebruiker wil ik, … eenvoudig toegang tot gedeelde webbronnen: obv mijn instellingsaccount, obv van mijn social ID, zodat ik snel, makkelijk en met de juiste veiligheid bij de systemen kan die ik nodig heb voor mijn werk/studie/onderzoek … mij kunnen inschrijven voor een CO (Collaborative Organisation), zodat ik via die CO toegang kan krijgen tot systemen/resources die ik nodig heb voor mijn werk/studie/onderzoek … additionele informatie over mijzelf kunnen registreren (self asserted attributen zoals: mail adres, telefoonnr, titel), zodat ik de systemen die ik gebruik kan voorzien van de informatie die ze van me vragen/verlangen, ook als die gegevens niet worden aangeleverd door (1 van mijn) IdPs' of attribute providers … eenvoudig kunnen inloggen bij non-webdiensten, obv een automatisch gegenereerd en geregistreerd one-time password obv een gegenereerd en geregistreerd applicatie specifiek wachtwoord obv een geregistreerde ssh-key, … mijn accounts kunnen koppelen (account linking, bijv ORCID), zodat ik in COmanage alles bij elkaar heb en zodat als 1 van mijn accounts weg valt ik niet alles opnieuw hoef aan te maken in COmanage en met mijn andere account(s) nog bij de resources kan waar ik rechten toe heb op basis van dat/die account(s). … mijn deelname in een CO kunnen opheffen, zodat ik zelf in control ben van mijn identiteit en de relatie met een CO, terwijl ik toch eenvoudig in andere CO's kan deelnemen zonder alles opnieuw aan te hoeven maken in COmanage … mijn account kunnen opheffen, zodat ik zeker weet dat mijn identiteit bij geen enkele CO binnen CO-manage meer gebruikt wordt
Als eindgebruiker wil ik, … eenvoudig toegang tot gedeelde bronnen : obv mijn instellingsaccount, obv van mijn social ID, zodat ik snel, makkelijk en met de juiste veiligheid bij de systemen kan die ik nodig heb voor mijn werk/studie/onderzoek
Als eindgebruiker wil ik, … eenvoudig kunnen inloggen bij non-webdiensten, obv een automatisch gegenereerd en geregistreerd one-time password obv een gegenereerd en geregistreerd applicatie specifiek wachtwoord obv een geregistreerde ssh-key, zodat ik snel, makkelijk en met de juiste veiligheid bij de systemen kan die ik nodig heb voor mijn werk/studie/onderzoek
Als eindgebruiker wil ik, … mij kunnen inschrijven voor een CO (Collaborative Organisation), zodat ik via die CO toegang kan krijgen tot systemen/resources die ik nodig heb voor mijn werk/studie/onderzoek
Als eindgebruiker wil ik, … additionele informatie over mijzelf kunnen registreren (self asserted attributen zoals: e-mailadres, telefoonnummer, titel), zodat ik de systemen die ik gebruik kan voorzien van de informatie die ze van me vragen/verlangen, ook als die gegevens niet worden aangeleverd door (1 van mijn) IdPs' of attribute providers
Als een eindgebruiker wil ik, … mijn accounts kunnen koppelen (account linking, bijv ORCID), zodat ik in COmanage alles bij elkaar heb en zodat als 1 van mijn accounts weg valt ik niet alles opnieuw hoef aan te maken in COmanage en met mijn andere account(s) nog bij de resources kan waar ik rechten toe heb op basis van dat/die account(s)
Als een eindgebruiker wil ik, … mijn deelname in een CO kunnen opheffen, zodat ik zelf in control ben van mijn identiteit en de relatie met een CO, terwijl ik toch eenvoudig in andere CO's kan deelnemen zonder alles opnieuw aan te hoeven maken in COmanage
Als een eindgebruiker wil ik, … mijn account kunnen opheffen, zodat ik zeker weet dat mijn identiteit bij geen enkele CO binnen CO-manage meer gebruikt wordt
Groepsdiscussie overige user stories Vorm drie groepen: Groep 1 -> Dienstbeheerder Groep 2 -> IdP & Orchestrator Groep 3 -> CO manager Bespreek alle user stories Is voldoende duidelijk wat deze story inhoudt (functionaliteit)? Is duidelijk waarom deze story is opgenomen (reden)? Wat is belangrijk bij implementatie (acceptatie criteria)? Wat is er nodig voordat dit in gebruik genomen kan worden? Missen er user stories? Stem op de top 3 stories Commentaar Geel Roze Groen Gebruik de juiste post-it kleur en noteer ook een naam Je hebt tot 12.15
Als IT-medewerker van de instelling in de rol van dienstaanbieder wil ik… op eenvoudige wijze een CO koppelen aan mijn diensten op eenvoudige wijze authenticatie- en autorisatie-informatie kunnen consumeren en mappen op de interne gebruikersadministratie van de dienst, gebruikers kunnen uitsluiten wanneer deze zich misdragen, tooling hebben om te checken dat mijn koppeling goed werkt, over de juiste logging beschikken om te kunnen gebruiken in een security incident, Als IT-medewerker van de instelling In de rol van dienstaanbieder wil ik… 1. … een CO koppelen aan mijn dienst, zodat mensen die er bij moeten kunnen, dat via COmanage kunnen 2. … op eenvoudige wijze authenticatie- (AuthN) en autorisatie- (AuthZ) informatie kunnen consumeren en mappen op de interne gebruikersadministratie van de dienst, zodat ik met minimale moeite accountbeheer kan doen 3. … gebruikers kunnen uitsluiten wanneer deze zich misdragen, zodat ik mijn resources kan beveiligen tegen misbruik 4. … tooling hebben om te checken dat mijn koppeling goed werkt, zodat ik niet/minder afhankelijk ben van en niet hoef te wachten op beheerders van een centrale COmanage/SCZ-dienst 5. … over de juiste logging beschikken om te kunnen gebruiken in een security incident, zodat ik kan bijdragen aan het voldoen aan wet- en regelgeving en een veilige omgeving
Als IT-medewerker van de instelling in de rol van identity provider wil ik … voldoende zekerheid en overzicht over de aard, voorwaarden, aansprakelijkheid van de dienst, bijvoorbeeld door implementatie van R&S en CoCo, de autorisatiecomponent van SURFconext kunnen gebruiken om de instellingspopulatie met toegang tot de dienst te kunnen scopen dat eindgebruikers consent geven voor het delen van instellingsattributen, Als IT-medewerker van de instelling In de rol van identity. provider … voldoende zekerheid en overzicht over de aard, voorwaarden, aansprakelijkheid van de dienst, bijvoorbeeld door implementatie van R&S en CoCo, zodat ik weet onder welke voorwaarden mijn studenten/medewerkers diensten gebruiken en wat de gemaakte afspraken/onderliggende afspraken zijn waardoor ik kan bepalen of dat strookt met mijn randvoorwaarden, regelgeving etc … de autorisatiecomponent van SURFconext kunnen gebruiken om de instellingspopulatie met toegang tot de dienst te kunnen scopen zodat ik zelf kan bepalen wie wel en wie niet bij de SCZ-diensten kan via een account van mijn instelling … dat eind-gebruikers consent geven voor het delen van instellingsattributen, zodat ik weet en kan aantonen dat eind-gebruikers daar zelf mee instemmen Als IT-medewerker van de instelling In de rol van “orchestrator” wil ik, … diensten kunnen bundelen en als 1 eindpunt kunnen aanbieden richting identity providers zodat ik met zo min mogelijk werk voor mij ik onze diensten eenvoudig toegankelijk kan maken voor eind-gebruikers
Als IT-medewerker van de instelling In de rol van “Orchestrator” wil ik, … diensten kunnen bundelen en als 1 eindpunt kunnen aanbieden richting Identity Providers Als IT-medewerker van de instelling In de rol van “orchestrator” wil ik, … diensten kunnen bundelen en als 1 eindpunt kunnen aanbieden richting identity providers zodat ik met zo min mogelijk werk voor mij ik onze diensten eenvoudig toegankelijk kan maken voor eind-gebruikers
Als een manager van een samenwerkingsorganisatie (CO) wil ik, … nieuwe eindgebruikers kunnen uitnodigen/inschrijven voor deelname in de CO, rechten en rollen centraal administreren, de administratie van nieuwe gebruikers en hun rechten en rollen kunnen delegeren, policies kunnen definiëren voor herbevestiging van deelname en rechten van gebruikers, policies kunnen definiëren voor deprovisioning van gebruikers de audit trails kunnen inzien en reviewen (time stamp nieuwe gebruikers, uitdelen/intrekken rechten), dat geregistreerde eindgebruikers en hun lidmaatschappen in een geschikte vorm beschikbaar komen voor service providers (SP's) Als een manager van een samenwerkingsorganisatie wil ik,… …nieuwe eind-gebruikers kunnen uitnodigen/inschrijven voor deelname in de CO, zodat ik eenvoudig mijn groep kan beheren …rechten en rollen centraal administreren, zodat ik zelf kan bepalen wie wat kan doen binnen mijn groep (CO) …de administratie van nieuwe gebruikers en hun rechten en rollen kunnen delegeren, zodat ik niet alles zelf hoef te doen …policies kunnen definiëren voor herbevestiging van deelname en rechten van gebruikers, zodat periodiek wordt bevestigd dat leden van mijn CO nog toegang moeten houden tot de resources …policies kunnen definiëren voor deprovisioning van gebruikers …zodat gebruikersaccounts conform de policy zoveel mogelijk worden opgeruimd. …de audit trails kunnen inzien en reviewen (time stamp nieuwe gebruikers, uitdelen/intrekken rechten), zodat ik kan (laten) zien wie welke eindgebruiker wanneer toegang heeft verleend of ontnomen tot een CO … dat geregistreerde eind-gebruikers en hun lidmaatschappen in een geschikte vorm beschikbaar komen voor service providers (SP's) zodat SP's op basis daarvan in hun systemen/resources accounts kunnen aanmaken en eventueel autorisatie-beslissingen kunnen nemen
Tot slot Feedback Vervolg Vragen en opmerkingen Bespreken met het team Herformuleren en publiceren van stories plus volgorde Oppakken en verbeteren van nieuwe High-prio zaken