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