Functional Requirements
Wat is Colleague Finder?
Colleague Finder heeft als belangrijkste functie collega's en vrije bureaus makkelijker te kunnen vinden. Werknemers binnen Greenhouse kunnen in Colleague Finder zoeken naar hun collega's en krijgen zoekresultaten terug waar ze kunnen zien waar hun collega zich die dag heeft ingecheckt. Ook is het mogelijk om op een plattegrond per verdieping te zien welke plaatsen er vrij of bezet zijn. Op deze manier kunnen collega's elkaar makkelijker vinden. Voor het in kaart brengen van de zitplekken van de werknemers is een inchecksysteem nodig. Dit wordt met hetzelfde platform gemaakt. Met NFC/QR wordt er elke dag door de werknemers ingecheckt op Colleague Finder.
De aanleiding voor Colleague Finder
Sinds medio 2019 is men binnen Greenhouse begonnen met werken met flexplekken. Een flexplek, of een flexibele werkplek, is een plaats binnen een bedrijf waar iedereen mag gaan zitten. Deze methode wordt in veel bedrijven gebruikt om de samenwerking te verbeteren. Echter creëert flexwerken twee problemen die zich voordoen wanneer je werkt met flexplekken over meerdere verdiepingen. Het is lastig om een lege werkplek te vinden en om collega's te vinden.
Waarom een Requirement list?
Een requirement list is lijst waarin de eisen staan voor het product. Het is een afbakening voor de functionaliteiten die in de eerste versie van het product komen.
Wat staat er op deze pagina?
Op deze pagina staan de userstories, kwaliteitseigenschappen en de acceptatiecriteria voor Colleague Finder. Deze lijst is opgesteld aan de hand van verschillende gespreken met stakeholders zoals de ICT-afdeling en werknemers binnen Greenhouse die gebruik gaan maken van dit product. De lijst is ook aangevuld aan de hand van de usability test.
User stories
De user stories zijn opgezet aan de hand van de MoSCoW-methode.
ID |
Omschrijving |
Importance |
Urgency |
F1 |
Als gebruiker wil ik kunnen inloggen met (bedrijfs)e-mail en wachtwoord |
Must |
High |
F2 |
Als gebruiker wil ik kunnen uitloggen |
Must |
High |
F3 |
Als gebruiker wil ik kunnen zoeken op de naam (voor- en achternaam) van een collega |
Must |
High |
F4 |
Als gebruiker wil ik (na het zoeken) ingeval van één zoekresultaat met de gegevens: naam, status, desk nummer, verdieping. |
Must |
High |
F5 |
Als gebruiker wil ik wanneer er meerdere zoekresultaten zijn die overeenkomen ik een lijst krijg om uit te kiezen. Waarbij de naam, functie en status zichtbaar zijn. |
Must |
Medium |
F6 |
Als gebruiker wil ik visueel kunnen zien waar mijn collega zit. |
Must |
High |
F7 |
Als gebruiker wil ik kunnen zien welke plekken nog leeg zijn per verdieping |
Must |
High |
F8 |
Als gebruiker wil ik kunnen inchecken met gebruik van: NFC of QR-code |
Must |
High |
F9 |
Als gebruiker wil ik mijn status kunnen aanpassen naar: Available, busy, hidden |
Must |
High |
F10 |
Als gebruiker wil ik niet dat mijn zitplek zichtbaar is wanneer mijn status op hidden staat. |
Must |
High |
F11 |
Als gebruiker wil ik niet dat mijn inchecktijd wordt opgeslagen. |
Must |
High |
F12 |
Als gebruiker wil ik kunnen uitchecken |
Must |
High |
F13 |
Als gebruiker wil ik niet hoeven uitchecken en dat mijn incheck verloopt aan het einde van de dag (23:56 uur) |
Must |
High |
F14 |
Als gebruiker wil ik wanneer iemand nog ingecheckt staat toch kunnen inchecken. |
Must |
High |
F15 |
Als admin wil ik kunnen inloggen. |
Must |
High |
F16 |
Als admin wil ik kunnen zien hoeveel bureaus op 3 punten van de dag bezet zijn. |
should |
medium |
F17 |
Als admin wil ik de afbeelding voor de plattegrond kunnen aanpassen |
should |
medium |
F18 |
Als admin wil ik kunnen uitloggen |
should |
High |
F19 |
Als gebruiker wil ik collega's kunnen zoeken in zowel Sittard als Eindhoven |
should |
medium |
F20 |
Als gebruiker wil ik bij het zoek resultaat kunnen zien op welke locatie (Sittard of Eindhoven) mijn collega zich bevindt |
should |
Medium |
F21 |
Als developer wil ik dat iedereen inlogt met Greenhouse office 365 email. |
Must |
High |
F22 |
Als developer wil ik er in het zoekveld gezocht kan worden op (delen van) een naam. |
Must |
High |
F23 |
Als gebruiker wil ik kunnen zoeken op tafelnummer |
won't |
Low |
F24 |
Als developer wil ik de naam, email en ID ophalen uit de inlog van Office 365 |
Must |
High |
F25 |
Als developer wil ik dat de gebruiker wordt gekoppeld aan een desk met status bij bevestiging van incheck |
Must |
High |
F26 |
Als developer wil ik dat aan het einde van de dag (23:56 uur) alle incheck's verlopen en niet meer zichtbaar zijn in de front-end |
Must |
High |
F27 |
Als developer wil ik 3 keer per dag (tijden nader te bepalen) dat er in een database wordt opgeslagen hoeveel bureaus in gebruik zijn van het totaal. |
should |
Medium |
Kwaliteitseigenschappen
http://iso25000.com/index.php/en/iso-25000-standards/iso-25010
ID |
omschrijving |
Kwaliteitseigenschap |
K1 |
De data wordt opgeslagen in een database |
Functional |
K2 |
De data wordt uit de database gehaald |
Functional |
K3 |
Login wordt met Office 365 gedaan |
Functional |
K4 |
De website werkt correct op mobiel |
Usability |
K5 |
Alleen Greenhouse werknemers kunnen inloggen op de (web)applicatie |
Security |
K6 |
De applicatie moet binnen 4s geladen zijn |
Performance efficiency |
K7 |
De applicatie moet online beschikbaar zijn |
Reliability |
K8 |
De applicatie moet error meldingen geven wanneer er een error is. |
Usability |
Kwaliteitseigenschappen testplan
ID |
omschrijving |
Kwaliteitseigenschap |
K1 |
Door middel van een stukje PHP in de webapplicatie wordt data via een formulier op de webapplicatie data in de database gezet. |
Functional |
K2 |
Door middel van een stukje PHP wordt de data vanuit de database getoond in de webapplicatie. |
Functional |
K3 |
Dit wordt getest met een inlog knop op de webpagina die via office 365 gegevens ingevoerd en opgeslagen in een Sessie in de webapplicatie. |
Functional |
K4 |
De teksten moeten op mobiel makkelijk leesbaar zijn op normale afstand(armlengte). Alle functionaliteiten moeten net zo functioneren als op desktop. |
Usability |
K5 |
Met een restrictie op het email adres in het office systeem kunnen alleen gebruikers met @Greenhousegroup.nl inloggen in de applicatie. Dit is te testen door met een andere e-mailadres proberen in te loggen. |
Security |
K6 |
Dit kan worden getest met de network tab in de console op een incognito tabblad. De pagina's moeten hier binnen 4 seconden geladen worden. |
Performance efficiency |
K7 |
Dit is te testen door op een apparaat met wifi of 3G te navigeren naar de applicatie. |
Reliability |
K8 |
Dit is te testen door errors te veroorzaken. |
Usability |
Acceptatie Criteria
ID |
Omschrijving |
F1 |
Knop naar de office 365 inlog scherm. |
F2 |
Knop op de pagina die de sessie beëindigd. |
F3 |
Een zoekveld waar op voor- en achternaam kan worden gezocht. |
F4 |
Een resultaat met de gegevens: naam, status, desk nummer, verdieping. |
F5 |
Een resultatenlijst met de naam en status van gevonden resultaten. |
F6 |
Een plattegrond bij het zoekresultaat met minimaal de tafelnummers er in. |
F7 |
Minimaal een lijst met tafelnummers die leeg zijn en een plattegrond met de tafelnummers. |
F8 |
Een NFC/QR-code die bij scannen naar de juiste pagina verwijst. Of een correcte link die er bij staat die naar eveneens de juiste pagina verwijst. |
F9 |
Drie radio buttons waarbij het mogelijk is om één van de statussen te kiezen (standaards staat op available). |
F10 |
Wanneer er gekozen is voor de status hidden wordt de zitplaats niet getoond in de front-end. |
F11 |
Er is geen veld in de database waar de tijd van inchecken wordt opgeslagen. |
F12 |
Met een formulier wordt er een koppeling gemaakt tussen de ingelogde gebruiker en de tafel waar deze inchecken. |
F13 |
Bij een nieuwe incheck wordt een expiry date toegevoegd die op dezelfde dag om 23.00 verloopt. |
F14 |
Er moet een waarschuwingsbericht worden gegeven dat er al iemand is ingecheckt. Met na bevestiging dezelfde inlog/incheck mogelijkheid. |
F15 |
Een aparte inlog pagina waar admin gegevens voor nodig zijn. (email en wachtwoord). |
F16 |
In het admin paneel een lijst uit de database waar per dag 3 records staan met de aantal bezette tafel tegenover het totaal aantal (geregistreerde) tafels. |
F18 |
Een uitlog knop in het admin systeem die de sessie beëindigd. |
F21 |
Alle andere e-mailadressen worden geweigerd bij het inloggen. |
F22 |
Er moet bij de voor- of achternaam alle resultaten worden getoond die overeenkomt met een van deze zoekopdrachten. |
F24 |
De naam, email en ID van de office 365 login word opgeslagen in de database met een unieke ID erbij en een status die standaard leeg is. |
F25 |
Bij een incheck moet de user id in de database worden gezet bij het juiste desk id. |
F26 |
Wanneer de expiry date is verlopen wordt de desk als vrij getoond en wordt de laatst ingecheckte gebruiker (op die tafel) niet meer getoond in de front-end. |
Bronnen
https://www.toolshero.nl/project-management/moscow-methode/
http://iso25000.com/index.php/en/iso-25000-standards/iso-25010