Final Report ETN210
Versie: 1.2 Status: concept Datum: 6 juni 2013
Auteurs: Rick Weijland Denzel laclé Jasper Doornbos Maarten Koe Remco Mokveld
Versiebeheer Ver. 0.1
Status Concept
0.2
Concept
0.3
Concept
0.4
concept
0.5
concept
1.0
Concept
1.1
Concept
1.2
Concept
Datum 17 mei 2013 21 mei 2013 21 mei 2013 28 mei 2013 28 mei 2013 29 mei 2013 6 juni 2013 7 juni 2013
Auteur(s) Rick Weijland
Wijzigingen Opzet, hoofdstukindeling
Rick Weijland
Bijwerken hoofdstukken
Rick Weijland
Invoegen bijlages Research report & PID Invoegen klassediagram, reflectierapport Rick Invoegen Test Approach, User Manual
Rick Weijland Rick Weijland Rick Weijland Rick Weijland Rick Weijland
Invoegen reflection reports, laatste wijzigingen Wijzigingen User Manual, Reflection Reports Wijzigingen Test Approach, reflection reports
Goedkeuring Uitvoering Ver.
Naam
Controle Datum Naam
Goedkeuring Datum Naam
Datum
Inhoudsopgave
1.
Reflection Reports ................................................................................................................... 3 1.1 Rick .................................................................................................................................. 3 1.2 Denzel .............................................................................................................................. 4 1.3 Maarten ............................................................................................................................ 5 1.4 Remco .............................................................................................................................. 6 1.5 Jasper ............................................................................................................................... 8 2. Presentation Phase 1............................................................................................................... 9 3. Research report ..................................................................................................................... 10 4. Project Initiatie Document ...................................................................................................... 11 5. Class Diagram ....................................................................................................................... 12 6. Test Approach ....................................................................................................................... 13 7. User Manual .......................................................................................................................... 14 8. Bijlage .................................................................................................................................... 15 8.1 Fase 1 Presentatie .......................................................................................................... 15 8.2 Research Report............................................................................................................. 17 8.3 Project Initiation Document ............................................................................................. 24 8.4 Test Approach ................................................................................................................ 37 8.5 User Manual ................................................................................................................... 45
Final Report ETN210
2
1. Reflection Reports In dit hoofdstuk komen de samenvattingen van ieder projectlid welke taken hij heeft uitgevoerd tijdens dit project.
1.1 Rick In dit project heb ik de rol als projectleider op me genomen. Hierbij was het mijn taak om het projectteam aan te sturen en vergaderingen te leiden. De volgende taken heb ik tijdens het project uitgevoerd: Research report Presentatie Fase 1 Idee Project Initiatie Document Test Approach User Manual Final Report Voor het research report heb ik onderzoek gedaan naar de doelgroep waar wij de applicatie voor gingen maken. Daarbij heb ik inbreng gehad van andere projectleden. Het report heb ik uiteindelijk in elkaar gezet en de laatste handelingen aan verricht. De presentatie tijdens fase 1 heb ik samen met Remco gedaan. Tijdens deze presentatie hebben wij uitgelegd wat ons idee was over de applicatie en wat de technische haalbaarheid hiervoor was. Daarnaast heb ik meegeholpen bij het bedenken van de functionele eisen van de applicatie en de vormgeving hiervan. Het maken van het Project Initiatie Document heb ik onderverdeeld tussen Denzel en ik. In blok 2 heb ik voor een ander project een PID moeten maken, dus ik wist goed wat het PID inhield. Het was alleen een kwestie van invullen. Voor de Test Approach was er een template beschikbaar op het VLO. Deze heb ik samen met Denzel ingevuld en uitgewerkt. Om feedback te krijgen heb ik d.m.v. Google Drive een online formulier gemaakt dat kan worden ingevuld door gebruikers van de applicatie. De feedback wordt vervolgens in een overzichtelijke tabel verwerkt. De user manual heb ik gemaakt, nadat het ontwerp van de applicatie af was. Hierdoor kon ik screenshots maken van de verschillende interfaces en knoppen van de applicatie en deze verwerken in de user manual.
Final Report ETN210
3
1.2 Denzel In dit project was ik de enige SNE’er. Een van mijn taken was beheerder zijn van Google Apps. Het was niet echt een SNE project maar meer een SE project. In het project heb ik aan de volgende taken gewerkt: Research Report Project initiatie document Test Approach User manuel Portforwarding tussen de Oege en Zentyal server opgezet Google directory sync configureerd op de Zentyal server Bij het Research Report heb ik aan een persona gewerkt. Dat ging me wel goed af. Ik had al eerder bij project Expo wat een persona gemaakt. Het Project initiatie document was onderverdeeld tussen Rick en mij. Daarbij heb ik de helft van het document gemaakt. Dit was mijn eerste keer dat ik een PID moest maken. Het was in het begin wel lastig omdat ik toen nog niet wist wat een PID precies inhield. Maar na het opgezocht te hebben en voorbeelden gezien te hebben is het me wel uiteindelijk gelukt om het PID te maken. Voor de Test of Approach werd er gebruikt gemaakt van een template die beschikbaar was op de VLO. Daarbij heb ik alle ontbrekende delen van het document ingevuld voor de Alfa fase samen met Rick. De rest van het document kon pas later ingevuld worden omdat dat betrekking tot de code had die we toen nog niet volledig af hadden. Ook heb ik een paar hoofdstukken gemaakt van de User manuel. Het moest in engels en dat is best wel mijn sterke kant. Dit project had niet echt veel SNE onderdelen erin. Wel een paar kleine zoals een Portforwarding tussen de Oege server en Zentyal server opzetten. Ik had al eerder met Putty gewerkt dus de configuratie ervan was wel te doen. Maar omdat er geen verbinding met onze Mysql server gemaakt kon worden kon er geen verbinding gemaakt worden. Ook heb ik de Google directory sync geconfigureerd op de Zentyal server. Zodat wanneer er accounts aangemaakt worden op de server die gesynchroniseerd worden met Google Apps.
Final Report ETN210
4
1.3 Maarten Ik was in dit projectteam een van de drie SE’ers en heb me dus bezig gehouden met het programmeren van de applicatie. Ik heb vooral gewerkt aan de kantoorkant van de applicatie. Omdat ik nog geen ervaring had met google script en javascript, ben ik eerst begonnen met de layout in html en css. Later ben ik met wat hulp bezig geweest met de functionaliteit in javascript en de database in google script. Verder heb ik voor de presentatie in fase 1 een filmpje gemaakt waarin ons idee van de applicatie duidelijk werd gemaakt. Omdat google script nog niet optimaal werkte was het tijdens het project soms moeilijk om gestructureerd aan de applicatie te blijven werken. Zo konden er teveel calls naar de database worden gemaakt op het moment dat meerdere personen de applicatie open hadden staan, zodat niemand er meer aan kon werken. Ook waren er een aantal functies in google script die nog niet helemaal werkten of tijdens het project waren vervallen. We hebben dit project geëindigd met maar 4 van de 6 teamleden. De eerste persoon die afviel is nooit op komen dagen en is daarom in de eerste weken al uit het team gezet. De tweede persoon is aan het eind van het project afgevallen. Dit in combinatie met het ontbreken van een gestructureerde aanpak van het project zorgde ervoor dat we tegen het einde van het project nog veel te doen hadden. Bij de alpha oplevering ontbraken er nog een aantal belangrijke functies.
Final Report ETN210
5
1.4 Remco Algemeen In het algemeen denk ik dat dit porject niet zo goed verlopen is. Ik heb echter gedurende het process wel veel geleerd.Ook heb ik skills, die ik zowel tijdens GetConnected voor de versnelde stroom als tijdens dit project heb geleerd, kunnen toepassen. Afwezig teamlid De lastigste situatie waar we in sprint 1 tegenop liepen was een teamlid wat bij ons was ingedeeld maar wie wij na de eerste week nog niet hadden gezien. Omdat we niet van hem gehoord hadden of er iets met hem aan de hand was gingen we nog even van het positieve uit. Vlak voor de presentatie van sprint 1 hadden wij echter nog, op een mailtje dat hij voor een vergadering ziek was na, niks van hem gehoord. Om een fatsoenlijke planning te maken moesten wij duidelijk krijgen wat er aan de hand was. Daarom heb ik vlak voor de presentatie van sprint 1 een email opgesteld waarin ik Chester heb gevraagd wat zijn idee van werken in een team is en wat wij van hem kunnen verwachten. Het resultaat hiervan was geen reactie terug en toen zijn wij begonnen aan de uitzet periode en hebben we een taakverdeling opgezet voor vijf teamleden in plaats van zes. Het ontwikkelen van de Proof of Concept Tijdens sprint 2 van het de bedoeling om een Proof of Concept te maken. Hiervoor moesten we een verbinding maken tussen het gebruikers beheer van Zentyal en een Google Apps account. Ook moesten we laten zien dat we een verbinding kunnen maken tussen de MSSQL server van en Google Apps Script. Waar wij hierin als team tegenop liepen was dat er nouwelijks ervaring met dit soort dingen waren. We waren één van onze SNE´ers (Chester) als vanaf het begin kwijt, en de andere had niet echt een goed beeld van wat er moest gebeuren. Omdat ik de enige was die hier nog wel wat ervaring mee heeft heb ik het helemaal opgepakt. Daarmee heb ik de fout gemaakt dat ik het helemaal naar mezelf toe getrokken heb. Het gevolg was dat ik er heel veel tijd in gestopt heb en de anderen niet zo goed wisten wat ze konden doen. Onvoldoende voor de Alpha Omdat ik de SE’er was die Google Apps Script het snelste oppakte en de anderen ook nog niet zo veel ervaring hadden met Javascript heb ik naar het eind van de Alpha versie nog het meeste SE werk gedaan. Er was echter nog heel veel werk te doen en omdat ik er aan begonnen was en de anderen dus niet echt een idee hadden wat ze konden doen. Op dat moment heb ik geprobeerd taken te delegeren naar de andere SE´ers. In eerst instantie was ik hierin te vaag. Het gevolg daarvan was dat ik zelf veel van het werk wat mijn teamgenoten gedaan hadden opnieuw ging doen omdat ik er niet tevreden over was, en we een onvoldoende kregen voor de Alpha. De volgende stap die ik heb genomen was het SMART maken van de taakverdeling die ik gemaakt had. Door duidelijk in een spreadsheet de taken die nog gedaan moesten worden op te stellen, kregen mijn teamgenoten een duidelijk beeld van wat er van hun verwacht werd. Het gevolg was dat er een duidelijke planning gemaakt kon worden. Teamvorming Om dit project succesvol af te ronden is één van de belangrijkste eisen een goed functionerend team. Daarvoor zou het team alle vier de fases van groepsdynamica doorlopen. Ik denk dat we als team elkaar allemaal best aardig vinden, maar dat we pas aan het einde van sprint 3 voorbij de forming fase zijn gekomen. Op dat moment begon ik mijn frustraties te uiten betreffende de weinige inzet van mijn teamgenoten. De reactie die ik hierop kreeg was dat ik de anderen niet Final Report ETN210
6
voldoende had mee in het programmeer process. Nu de frustraties van biede zijdes zijn geuit kunnen we door naar de norming fase.
Final Report ETN210
7
1.5 Jasper Voor het project Get Connected was ik 1 van de 3 SE’ers binnen mijn team, mijn taken waren het om voornamelijk samen met de andere 2 SE’ers in ons project groep om het programma te ontwikkelen. Tijdens dit project heb ik voornamelijk aan de magazijn app gewerkt en aan de proof of concept. Dit was allemaal even wat lastiger doordat ik nog niet veel ervaring had met javascript en de grootste stukken werden door een ander teamlid eringezet waar we niet veel van mee kregen op het begin. Dit maakte het ook weer lastiger om er dan zelf in te springen en aan door te werken. Hier had ik daarentegen meer het initatief moeten nemen om uitleg van wat hij gemaakt had ook. In de eerste fase heb ik verder nog helpen onderzoeken hoe we het, het beste zouden kunnen gaan aanpakken om de applicatie te maken en hoe met google apps te werken.
Final Report ETN210
8
2. Presentation Phase 1 In Fase 1 is een presentatie gegeven over het project. In deze presenatie kwam naar voren wat de opdracht is voor dit project, wat ons idee was en de technische haalbaarheid. De opdracht was het automatiseren van het orderpicken. Door de automatisering wordt het voorraadbeheer beter gestroomlijnd en wordt de workflow verbeterd. De huidige situatie zorgt er voor dat er veel tijd verloren gaat, omdat de kantoormedewerker eerst de pakbonnen moet brengen naar het magazijn. Hier moet een betere communicatie voor komen tussen het kantoor en het magazijn. Door middel van 3 interfaces moeten de verschillende medewerkers met elkaar kunnen ‘communiceren’. Dit zijn de kantoor interface, order picker interface en het grootscherm interface in het magazijn. De kantoor medewerker zal de mogelijkheid krijgen om alle orders in te zien, vervoerstijden veranderen en aanmaken en inzien wie momenteel met een order bezig is en de status er van zien. (Open, bezig, voltooid en compleet) Het grootscherm interface laat de orders zien die bij de verschillende vervoerstijden zijn ingedeeld. De kantoormedewerker kan bepalen met welke vervoerstijd een bepaalde order mee gaat. Het orderpicker interface wordt getoond op een mobiel apparaat/handheld. Hiermee kan de order picker order ‘aannemen’ en invullen welke producten hij voor zijn order heeft gepakt. Deze powerpoint slides van deze presentatie zijn terug te vinden in Bijlage 1.
Final Report ETN210
9
3. Research report In Fase 1 hebben wij gewerkt aan het research report. Dit rapport bestaat uit een onderzoek naar de doelgroep dat het systeem gaat gebruiken. Daarnaast wordt ook een planning gemaakt van de in te leveren producten tijdens het project. De haalbaarheid van dit project wordt in het rapport ook besproken. Het Research Report staat in Bijlage 2.
Final Report ETN210
10
4. Project Initiatie Document Het Project Intiatie Document(PID) is de basis voor het management van het project. In dit document komt de project definitie met daarin de achtergrond van het project en hoe het tot stand is gekomen. Daarnaast komen ook de projectdoelstellingen, projectresultaat en projectaanpak aan bod. In de business case worden er afwegingen gemaakt waarom er wordt gestart met dit project. In het hoofdstuk Projectorganisatie wordt de structuur duidelijk van het project met een organigram en rolverdelingen. Als laatst komen er nog een aantal diagrammen aan bod die de op te leveren producten verder verduidelijken en een projectplanning met daarin alle datums van de deadlines voor de op te leveren producten. Het PID is afgerond in Fase 2. Het Project Initiatie Document staat in Bijlage 3.
Final Report ETN210
11
5. Class Diagram Het klassediagram bestaat uit dataclasses met ieder een eigen functie. Hieronder is het klassediagram afgebeeld.
Final Report ETN210
12
6. Test Approach In Fase 3 was de oplevering van het Alpha product. Deze bestond uit de Test Approach, Klassediagram en User Manual. De Test Approach heeft als de om het product te testen d.m.v. gebruikerstesten e.d. Verder staat er in welke materialen er nodig zijn om het product optimaal te testen en welke functies er getest moeten worden. Naast de Test Approach is er ook een feedback formulier ingevuld door testgebruikers. De Test Approach en feedback staat in Bijlage 4.
Final Report ETN210
13
7. User Manual Voor de Test Approach was er een gebruikershandleiding die kon worden ingezien door de testpersoon. In de handleiding staan belangrijke functies en knoppen van de applicatie voor zowel de kantoormedewerker als de order picker in het magazijn. Stap voor stap wordt uitgelegd wat de testpersoon met de applicatie kan doen en wordt de tekst ondersteund door afbeeldingen van de verschillende interfaces en knoppen. Voor de Beta oplevering is de User Manual aangepast voor de nieuwe functionaliteiten van het systeem. De nieuwe User Manual zal bij de Beta oplevering ook hardcopy aanwezig zijn. De User Manual is te vinden in Bijlage 5.
Final Report ETN210
14
8. Bijlage 8.1 Fase 1 Presentatie Onderstaand zijn de powerpoint slides van de presentatie van Fase 1.
1.
2.
3.
4.
5.
6.
Final Report ETN210
15
7.
8.
9.
10.
11.
12.
Final Report ETN210
16
13.
8.2 Research Report 1.
Inhoudsopgave
2. 3. 3.1 3.2 3.3 3.4 4. 5. 5.1 5.2 5.3 6. 7. 7.1 7.2 7.3 7.3.1 7.3.2
Inleiding 3 PACT 4 People 4 Activities 4 Context 4 Technology 4 Planning 5 Haalbaarheid 6 De opdracht 6 Het idee 6 Technische haalbaarheid Bronnenlijst 8 Bijlage 9 Interview 9 Use-Case diagram 10 Personae 11 Office worker 11 Order picker 11
2.
Inleiding
7
Het bedrijf APS is een leverancier van bar artikelen als glazen en cocktail mixers. Zij hebben een kantoor en een magazijn en willen graag een beter gestroomlijnde communicatie tussen deze twee. Hiervoor hebben zij het bedrijf Etine, gespecialiseerd in het adviseren van bedrijven die willen automatiseren, ingeschakeld wie op hun beurt weer ITopia heeft gevraagd om deze opdracht voor hun uit te voeren. Wij, een groep van zes medewerkers van ITopia, zijn aangewezen om deze opdracht te voltooien. Hiervoor zullen wij in eerste instantie onderzoek gaan doen naar de werkzaamheden in een leveranciersbedrijf in het algemeen. Vervolgens gaan wij ook nog het bedrijf APS bezoeken om te Final Report ETN210
17
kijken hoe de huidige situatie bij deze klant van Etine. Ook willen we gaan kijken in hoeverre het idee wat wij gaan ontwikkelen op basis van de opdracht en deze onderzoeken haalbaar is, en dat via dit verslag terugkoppelen aan onze opdrachtgever Etine. 3.
PACT
3.1 People Het product zal twee verschillende doelgroepen hebben, orderpickers en kantoor medewerkers. De orderpickers hebben als doel om de producten die zij op hun lijstje krijgen zo snel mogelijk bij elkaar te krijgen en de kantoor medewerkers zullen met name te maken hebben met hun klanten en willen die zo snel en goed mogelijk van dienst kunnen zijn. Bij de kantoor medewerkers kunnen we ervan uit gaan dat hij wel gewend is om met administratieve software om te gaan. 3.2 Activities Op dit moment krijgen de kantoor medewerkers bestellingen binnen van klanten. Vervolgens stellen zij een pakbon samen die wordt geprint in het magazijn. Een magazijn medewerker pakt de pakbon uit de printer en gaat beginnen met het verzamelen van de producten. Bij elk product noteert de magazijn medewerker, op de pakbon, wat de restvoorraad is nadat hij de benodigde producten heeft gepakt. Zodra de order compleet is zet hij vervolgens alle bij elkaar of verpakt hij het en brengt de pakbon naar het kantoor boven. Daar controleren ze vervolgens of de systeem voorraad overeenkomt met de echte voorraad. 3.3 Context De context waarin het product gebruikt zal worden zal puur bedrijfsmatig zijn. Het moet werken tijdens werkuren, op de werkplek, maar daarbuiten heb je het systeem niet nodig. Beide eindgebruikers zullen in een andere context komen te werken. De ene heeft een kantoor met een werkstation en eventueel een groot scherm met de status van de orders. De andere werkt in een groot magazijn waar apparatuur vooral niet te gevoelig moet zijn. In het magazijn moet echter wel goed duidelijk zijn waaruit de orders bestaat, wanneer ze afgeleverd moeten worden en eventuele andere informatie. Aangezien we niet precies weten wat de grote is van het magazijn moeten we ervan uit gaan dat er niet altijd een centraal punt wat zichtbaar is voor iedereen die aan het werk is in het magazijn. De medewerker moet echter wel ten allen tijden kunnen zien welke producten hij moet pakken. 3.4 Technology Ook bij de technologie is het belangrijk om rekening te houden met de twee verschillende werkomgevingen. Aan de ene kant hebben we het kantoor. Hier staan diverse werkstations waar de medewerkers beschiking over hebben. Ook zou er eventueel een groot scherm kunnen hangen met de huidige status van de verschillende orders. Bij kantoor medewerkers kunnen we ervan uit gaan dat ze wel gewend zijn om met administratieve software te werken. Voor de orderpickers gaat het er vooral om dat ze kunnen zien welke producten ze moeten hebben en waar ze die kunnen vinden. Aangezien een magazijn vrij groot kan zijn moet er rekening mee gehouden worden dat één enkel scherm niet altijd zichtbaar is voor iedereen. 4. Planning Voor de eerste fase gaan wij onderzoeken wat de klant precies wilt en een idee ontwikkelen hoe wij de wensen van de klant gaan vervullen. In eerst instantie bestaat dit onderzoek uit over wat een magazijn medewerker en een kantoor medewerker bij een leveranciers bedrijf precies doen. In wat voor omgeving zij werken, en wat voor soort mensen het zijn. Vervolgens gaan wij naar het bedrijf Final Report ETN210
18
ARP zelf toe om te zien wat de huidige situatie is specifiek voor dit bedrijf. Op basis van deze informatie zullen wij een aantal eisen opstellen voor het product en op basis daarvan een idee creëren. Zodra wij dit idee hebben zullen we gaan bepalen of het voor ons haalbaar is In de volgende fase zullen wij een Project Initiatie Document (PID) opstellen waarin wij al onze werkzaamheden vastleggen en verantwoorden. Ook zullen wij op het gebied van programmeren laten zien dat wij het kunnen. Datum Weeknr Activity 5 mar 5 Delivery: Idea, Feasibility, Research Report 2 apr 9 Delivery: Proof of Concept, PID 14 may 4 Delivery: Alfa, Test approach, User manual 11 jun 8 Delivery: Beta, Final report 5. Haalbaarheid Om de haalbaarheid van dit project te bepalen zullen we eerst moeten kijken naar de opdracht. Wat zijn de eisen aan het product wat geleverd moet worden? welke functionaliteit moet het product absoluut hebben? Welke functionaliteit zou veel toevoegen maar is niet echt nodig? En wat voor extras kunnen wij nog leveren waarvan de klan nog niet wist dat hij ze wou hebben? Ook zullen we kijken naar de competenties van de teamleden en bepalen of die voldoende zijn en waar we nog aan moeten werken. 5.1 De opdracht In eerst instantie zal het product automatisering in het orderpicken moeten brengen. Op dit moment gaat er bij APS nog veel via papier. Buiten dat papier en printen niet gratis zijn belemmerd dit de werkzaamheden omdat het transport van papieren tijd kost. Als een kantoor medewerker op een knop op zijn computer kan drukken om een opdracht naar het magazijn te sturen in plaats van naar het magazijn te moeten lopen zou dit veel tijd schelen. Wat het product dus in ieder geval zou moeten kunnen is orders versuren naar een scherm in het magazijn zodat een medewerker ze daar kan lezen en uitvoeren. Nog iets wat op dit moment grotendeels via papier gaat is het bijhouden van de voorraad. Op dit moment schrijft een magazijn medewerker op een kopie van een pakbon wat de voorraad in het magazijn is van een product nadat hij de bestelde producten heeft verzameld. Wij willen graag de magazijn medewerker een optie geven om de nieuwe voorraad digitaal in te voeren zodat de de kantoor medewerkers direct zien als een product op is en opnieuw besteld moet worden bij de leverancier. 5.2 Het idee Ons idee is om een systeem op de cloud te ontwikkelen waarbij de communicatie tussen het kantoor en het magazijn veter te laten verlopen. Hiervoor willen wij drie verschillende interfaces voor ontwikkelen. De eerste is een interface op het werkstation van de kantoor medewerker, de tweede is een groot scherm wat zowel op het kantoor als in het magazijn hangt, en het derde moet de mogelijkheid implementeren voor magazijn medewerkers om berichten naar het kantoor toe te sturen. De software voor het werkstation op het kantoor heeft als belangrijkste eis dat de medewerkers daar een order kunnen doorgeven aan de magazijn medewerkers. Ook zal er een mogelijkheid moeten zijn om een overzicht te krijgen van lopende orders, wie er mee bezig is en wat de status is. De laatste functionaliteit die de software echt moet hebben is wijzigen of annuleren van orders. Extra functionaliteiten die wij nog willen toevoegen is:
Final Report ETN210
19
• Een melding ontvangen wanneer de voorraad van een product in het magazijn op is, en het dus opnieuw besteld moet worden bij de leverancier. • Het beheren van medewerkers die toegang hebben tot het systeem. Het grote scherm wat zowel in het kantoor als in het magazijn komt te hangen zal alleen maar dienen als overzicht van orders. Hierop willen wij dus een tabel presenteren met van elke order het order nummer, de datum van plaatsen, de uiterste datum van afleveren, het totale gewicht, de klantnaam, de huidige status van de order met daarbij wie de order behandelt. Wat de communicatie van het magazijn naar het kantoor betreft zijn er twee opties. Het meest efficient zal zijn om een mobiel apparaat aan elke medewerker mee te geven. Hiermee zou hij kunnen aangeven dat hij een order aanneemt, de status van de order wijzigen, de restvoorraad invoeren en aangeven dat een order klaar is voor verzending. Het voornaamste voordeel van een mobiel apparaat is dat hij deze mee kan nemen het magazijn in en zo altijd de actuele pakbon van de order bij de hand heeft. Voor het aangeven of een product uit het magazijn gehaald is zou zo een apparaat met een bar- of QR code scanner het product kunnen scannen en snel de voorraad invoeren, dit voorkomt het moeten zoeken naar het product in een lijst. Het nadeel is echter dat een mobiel apparaat in de meeste gevallen vrij kwetsbaar is. Er zijn wel diverse hand terminals beschikbaar die speciaal voor dit soort werkzaamheden ontwikkelt zijn, maar het nadeel is dat deze vrij prijzig zijn. De tweede optie is dat de magazijn medewerker een stuk software op de computer in het magazijn krijgt waar hij al diezelfde gegevens invoert. Dit zal een makkelijkere en goedkopere implementatie zijn. Het grote nadeel hiervan is echter dat hij alsnog een pakbon zal moeten uitprinten als hij de lijst bij de hand wilt houden in het magazijn. Ook zal hij vervolgens de voorraden eerst op die pakbon moeten opschrijven en daarna nog een keer in de computer moeten verwerken. 5.3 Technische haalbaarheid De technische haalbaarheid kunnen wij opdelen in twee delen, nl. software en hardware. Wat de hardware betreft hangt het er heel erg van af wat we met onze implementatie in het magazijn gaan doen. Ideaal zou zijn als we gebruik kunnen maken van hand terminals maar het is de vraag of dit financieel haalbaar is, aangezien dit vrij dure apparaten is. Ook zal het lastig worden om Javascript met een barcode scanner te laten communiceren, dus de kans is groot dat we dan in Java moeten gaan werken. Dit is op zich geen probleem voor ons. Verder zullen de werkstations en het scherm werken op HTML, Javascript en CSS, hier hebben wij als team vrij veel ervaring mee. De backend en met name het cloud gedeelte zal worden gerealiseerd worden met behulp van de Google Apps Script taal. Hier hebben wij nog geen ervaring mee maar verwachten er niet veel problemen in. 6.
Bronnenlijst
• • •
2013 Project document GTCN 2012 – 2013 versie 6.5 Etine Get Connected 2013 Opdracht PDF Grit, R. (2011). Project Management. Groningen/Houten: Noordhoff Uitgevers bv.
7. Bijlage In dit deel komen de interviewvragen, de personea en een UML-diagram om het bedrijfsproces beter te verklaren. 7.1
Interview
Final Report ETN210
20
Op dinsdag 26 februari zijn er een aantal vragen gesteld aan één van de office workers van APS, om een globaal beeld te krijgen van hoe het bij APS gaat. Onderstaand zijn de vragen en antwoorden hiervan. Rick: “Hoeveel medewerkers werken er bij APS?” Medewerkster: “Op het kantoor werken twee personen om alle bestellingen aan te nemen, in te voeren en te verwerken. Daarnaast werken in het magazijn nog zo’n 3 tot 5 order pickers.” Rick: “Hoeveel orders worden er per dag behandeld en verwerkt?” Medewerkster: “Per dag worden er tussen de 10 en 15 orders verwerkt.” Rick: “Wat is de huidige situatie voor het verwerken van de orders?” Medewerkers: “Orders die binnenkomen worden verwerkt in het systeem. Ook worden alle orders op een white board geschreven, zodat in het kantoor gezien kan worden welke orders er zijn. Vervolgens worden de pak-bonnen door ons uitgeprint en brengen wij ze naar de order pickers in het magazijn. Daar komen ze in een bak waar de pak-bonnen in gaan. De orders worden ook nog op een whiteboard in het magazijn geschreven, zodat de order pickers weten wat ze moeten pakken. Daarna gaan de pak-bonnen terug naar het kantoor. Hier worden de orders weer verwerkt in het systeem, omdat er natuurlijk artikelen uit het magazijn zijn gehaald en deze moeten dus van het totaal ofgetrokken worden in het systeem.” Rick: “Hoe worden de orders verzonden?” Medewerkster: “De orders worden klaargezet door de order pickers om vervolgens opgehaald te worden door onze bezorgers.” 7.2
Use-Case diagram
Final Report ETN210
21
Figuur 1. Use-Case diagram APS
7.3 Personae In dit hoofdstuk worden twee personae beschreven die te maken gaan hebben met de applicatie. De office worker is degene die de bestellingen in de applicatie plaatst, zodat deze op een overzichtelijk scherm in het magazijn komen te staan. De order picker is degene die van het scherm afleest welke producten er gepakt moeten worden voor een bestelling. 7.3.1 Office worker Wim Averbeek is 38 jaar en werkt voor het bedrijf APS te Amsterdam. Samen met zijn vrouw, Jolanda Averbeek – de Groot, heeft hij twee zoons(2 en 4 jaar oud) en een dochter(6 jaar oud).
Final Report ETN210
22
Hij woont sinds 4 jaar in de Wilhelmina blombergplein 266 in Amsterdam in een appartement. Omdat hij dicht bij zijn werk woont, gaat hij elke dag op zijn fiets er naartoe. Wim werkt als kantoor medewerker voor APS, waar hij de orders in het systeem zet die binnenkomen. Zodra er een bestelling binnenkomt van een klant, zorgt hij er voor dat deze in het systeem komen te staan van de applicatie. Er wordt dan door de applicatie gekeken welke orders er als eerst verzonden moeten worden en welke er prioriteit hebben. Vervolgens worden deze orders ook getoond op een scherm in het magazijn, waar de order pickers werken en deze orders verder afhandelen. APS is een groot bedrijf dat zorgt voor materialen en producten voor horeca gelegenheden. Een aantal van deze producten zijn: glazen, servies, Cocktailglazen en ingrediënten, en machines voor achter de bar. 7.3.2 Order picker Piet de Vries is 27 jaar en woont alleen in een flatje buiten Amsterdam. Hij heeft uit een eerdere relatie een zoon van 2 jaar genaamd Ivan. Af en toe komt zijn zoon bij hem op bezoek. Piet heeft een auto namelijk een Volkswagen waarmee hij naar zijn werk rijdt. Hij heeft de Magazijnmedewerkers opleiding gevolgd op het MBO. Na een aantal keer solliciteren bij verschillende bedrijven is hij met succes aangenomen bij een bedrijf, APS. Nu is hij al 5 jaar werkzaam als een orderpicker in het magazijn van APS. Hij houdt van zijn werk en zou nog eens 5 jaar daar kunnen werken. Hij is wel 32 uur per week werkzaam. Ook vindt hij dat er erg veel tijdsdruk is. Er moet strikt aan de tijd gehouden worden. Hij is niet zo vaak met collega’s aan het werk, omdat de werkzaamheden individueel uitgevoerd moeten worden. Daarnaast zou hij het prettig vinden als er minder tijdsdruk aanwezig was, maar toch dat de efficiëntie ervan zou stijgen. Ook zou hij het handig vinden als de orders vooraf op prioriteit gesteld worden zodat hij niet steeds naar hoeft te zoeken. Hij is veel fysiek bezig en moet vaak met orders sjouwen of ze voortbewegen in een heftruck.
Final Report ETN210
23
8.3 Project Initiation Document Inhoudsopgave Documenteigenschappen 2 HISTORIE 2 GOEDKEURING 2 1. Inleiding 5 1.1 GEBRUIK VAN DE PRINCE2 PROJECTMANAGEMENTMETHODE 1.2 DOEL VAN DIT DOCUMENT 5 1.3 OPBOUW VAN HET DOCUMENT 5 2. Projectdefinitie 6 2.1 ACHTERGROND 6 2.2 PROJECTDOELSTELLINGEN 6 2.3 PROJECTRESULTAAT 6 2.4 SCOPE & AFBAKENING 7 2.5 RANDVOORWAARDEN & AANNAMES 7 2.6 RELATIES MET ANDERE PROJECTEN 7 2.7 PROJECTAANPAK 7 3. Business Case 9 3.1 REDENEN OM TE STARTEN MET HET PROJECT 9 3.2 ALTERNATIEVEN 9 3.3 VOORDELEN 9 3.4 NADELEN 9 3.5 KOSTEN 9 4. Projectorganisatie 10 4.1 ORGANIGRAM 10 4.2 ROLLEN & VERANTWOORDELIJKHEDEN 11 5. Projectplan 12 5.1 PLAN AANNAMES 12 5.2 GANTT-CHART 12 5.3 PRODUCTDECOMPOSITIESTRUCTUUR 12 5.4 PRODUCTSTROOMDIAGRAM 12 5.5 ACTIVITEITENPLANNING 12 5.6 OVERZICHT BENODIGDE MIDDELEN 12 5.7 PRODUCTBESCHRIJVINGEN 13 6. Beheersinstrumenten 14 6.1 TOLERANTIES 14 6.2 RISICOMANAGEMENT 14 6.3 UITZONDERINGSPROCEDURE 14 6.4 VOORTGANGSRAPPORTAGES 14 Bijlage 1. Grafische Projectplanning 15 Bijlage 2. Product Decompositie Structuur 16 Bijlage 3. Product Stroom Diagram 17 Bijlage 4. Productbeschrijvingen 18
Final Report ETN210
5
24
1.
Inleiding
1.1 Gebruik van de PRINCE2 projectmanagementmethode Tijdens project GetConnected wordt er gebruik gemaakt van de projectmanagementmethode Prince 2. Deze methode zal het gehele project aangehouden worden, zodat voor zowel de opdrachtgever als voor het projectteam alles duidelijk en overzichtelijk gedocumenteerd staat. 1.2 Doel van dit document In dit document worden alle activiteiten en (tussen)producten verduidelijkt. Zo komt er een goed beeld van hoe een product tot stand is gekomen en wat dit product verder inhoudt. 1.3 Opbouw van het document Dit document is opgedeeld in een aantal hoofdstukken en deelhoofdstukken. De projectdefinitie zal bestaan uit de doelstellingen, de aanpak van het project en de fasering. Resultaten, randvoorwaarden en beperkingen zullen ver in het document besproken worden. In de business case wordt de reden van de start van het project begonnen, alternatieven, voordelen, nadelen, kosten en een investeringsanalyse. De projectorganisatie zal besproken worden in hoofdstuk 4. In dit hoofdstuk zal een organigram worden besproken en zullen taken en rollen duidelijk geformuleerd worden. Het projectplan in hoofdstuk 5 bestaat uit aannamens, een productcompositiestructuur met een productstroomdiagram en een activiteitenplanning. Bovendien zal er een overzicht gemaakt worden van de benodigde middelen en productbeschrijvingen. In het laatste hoofdstuk worden de toleranties van dit project, het risicomanagement, uitzonderingsprocedure en een voortgangsrapportage beschreven.
2.
Projectdefinitie
2.1 Achtergrond Etine is een IT bedrijf dat gespecialiseerd is in het migreren van Cloud applicaties zoals Google Apps voor andere bedrijven. Daarnaast zorgt Etine ook voor trainingen en hulp voor medewerkers met online programma’s en software. Cloud zorgt voor een vloeiende online samenwerkinging en communicatie binnen bedrijven om zo de interne workflow te verbeteren. Bovendien zorgt het voor een betere automatisering binnen het bedrijf door middel van de verschillende applicaties die hier speciaal voor ontwikkeld zijn. APS is een bedrijf dat is gespecialiseerd in het verkopen van Horeca artikelen. Hierbij kan je denken aan glazen, servies, koffieautomaten, maar ook bijvoorbeeld cocktail benodigdheden. Etine is door APS ingehuurd om de Cloud apparaten te integreren in het bedrijf, om zo de workflow te verbeteren tussen kantoormedewerkers en magazijnmedewerkers. Er moet een snelle verbinding komen tussen deze twee actoren door middel van een geautomatiseerd systeem, waardoor ze sneller met elkaar kunnen communiceren en waardoor het voor de magazijnmedewerkers overzichtelijker werken is. Momenteel werkt het bedrijf APS met pakbonnen die eerst uitgeprint worden. Vervolgens worden ze naar het magazijn gebracht, zodat magazijnmedewerkers er mee aan de slag kunnen. Als orders verwerkt zijn, wordt er een aantal gegevens op de pakbonnen genoteerd en weer teruggebracht naar het kantoor. De kantoormedewerkers verwerken daaropvolgend deze gegevens in het systeem.
Final Report ETN210
25
Door middel van Google Apps zouden deze handelingen geautomatiseerd en gecomputeriseerd moeten worden, waardoor er veel tijd en geld bespaard kan worden. 2.2 Projectdoelstellingen De opdrachtgever heeft de doelstelling om de workflow van orderpicking te verbeteren. Dit moet gebeuren door middel van Google Apps. Voor de magazijnmedewerkers zal dit betekenen dat er een duidelijk overzicht zal komen op een groot scherm met alle orders. 2.3 Projectresultaat APS heeft er specifiek voor gekozen om te werken met Zentyal. Zentyal is gebaseerd op Linux met mogelijkheden als Windows file en Printer Services. De resultaten van dit project zijn in het kort: • Een connectie tussen een lokale Microsoft Active directory en de Google Apps Directory Sync. • Een werkstation voor de kantoormedewerkers om orders in te voeren, bewerken etc. • Grote schermen voor de orderlijsten op zowel het kantoor als in het magazijn zullen worden gebruikt als informatieweergave. Ook dit zal gebeuren door middel van Google Apps. • Een handterminal voor magazijnmedewerkers om orders te verwerken en voorraadbeheer bij te houden. Dit kan bijvoorbeeld gedaan worden door een barcodescanner of QR-code scanner op het apparaat. 2.4 Scope & afbakening Tijdens dit project zullen wij zorgen voor de resultaten die in hoofdstuk 2.3 ‘Projectresultaat’ staan beschreven. Er zal gewerkt worden aan een werkend product dat meteen geïmplementerd zou kunnen worden in het bedrijf. Waar wij ons niet mee bezig gaan houden is het implementeren van het systeem en de benodigde producten in het bedrijf. 2.5 Randvoorwaarden & aannames In dit project zijn er een aantal beperkingen. Allereerst zijn er geen grote schermen tot onze beschikking. Het systeem zal getest en gemaakt worden door middel van laptops. Smartphones met een Android besturingssysteem zullen gebruikt worden voor het testen van handterminals. De database van APS zal tijdens dit project ontbreken en zullen wij hier dus aannamens voor moeten doen. Er kan hierbij gedacht worden aan voorraadbeheer en klantgegevens. Hier moet een aparte database voor worden gemaakt om alles te testen. 2.6 Relaties met andere projecten Tijdens dit project hoeft er geen rekening worden gehouden met andere projecten. Wel moeten alle opleveringen binnen de deadlines gebeuren, zodat er geen vertraging zal komen bij de implementatie van het systeem. 2.7 Projectaanpak Wat is de strategie/aanpak om de op te leveren producten te realiseren? In welke fases valt het project uiteen? Voor dit project wordt er gebruik gemaakt van de projectmanagementmethode PRINCE 2, zoals eerder vermeld. Deze methode heeft een aantal fases; • Starting up a project (Voorbereidende fase, Projectbriefing, defineren van het project en plannen van de volgende stage) • Initiating a project (Het uitwerken van o.a. het Project Initiation Document) Final Report ETN210
26
• Directing a project (Fase die gedurende het hele project actief is en waarbij werkgroep wordt aangestuurd en ondersteund) • Controlling a stage (Taken worden uitgevoerd, risico’s worden besproken en verholpen, blijft de fase binnen toleranties etc.) • Managing stage boundaries (Op de hoogte houden van de stuurgroep. Laten zien van met succes afgeronde fase en laten goedkeuren van de volgende fase) • Managing product delivery (Verbinding tussen teammanager en projectmanager is in deze fase belangrijk. Belangrijkste activiteiten zijn het stellen van eisen aan het ontvangen, uitvoeren en opleveren van het werk) • Closing a project (Producten worden opgeleverd)
Het project heeft naast de projectmanagementmethode ook een aantal fases van oplevering: • Idea, Feasibility, Research Report • Proof of concept • Alfa, Test Approach, Usermanual • Beta, Final Report Deze fases hebben ieder een heldere deadline en deze zullen besproken worden in hoofdstuk 5 ‘Projectplanning’.
3.
Business Case
3.1 Redenen om te starten met het project Dit project is gestart, omdat het bedrijf APS een geautomatiseerd systeem wilt voor het bedrijf voor zowel kantoormedewerkers als magazijnmedewerkers. Momenteel gaat alles nog via pakbonnen en dit kost veel tijd. Door middel van een systeem dat gebruik gaat maken van Google Apps, moet dit proces vloeiend, overzichtelijk en tevens geautomatiseerd verlopen. 3.2 Alternatieven APS had er ook kunnen kiezen om voor een volledig systeem te gaan dat al bestaat. Zo zijn er al enkele grote systemen op de markt die werken met geautomatiseerde systemen. Echter wil APS een systeem met Cloud technologie dat gebruik maakt van Google Apps. 3.3 Voordelen Het project brengt vele voordelen met zich mee. Automatisering van orderpicking zou betekenen dat magazijnmedewerkers een duidelijk overzicht hebben van een order via een handterminal die zijn bij zich kunnen dragen. Zij kunnen artikelen scannen die zij hebben gepakt voor een order, waardoor het voorraadbeheer ook meteen geupdate wordt en beter verloopt. Grote schermen in het kantoor als in het magazijn schept een duidelijk overzicht van lopende orders. Deze orders zullen daarnaast ook op prioriteit zijn geordend. Werken met papieren pakbonnen zal ook verleden tijd worden door dit project, omdat alles via de computer zal gaan en zo een hoop geld bespaard kan worden. Lopen van kantoor naar magazijn met de pakbonnen wordt hierdoor ook bespaard. 3.4 Nadelen De enige nadelen van dit project zullen liggen bij de medewerkers van APS. Zij zullen trainingen moeten krijgen van Etine om met het systeem overweg te kunnen. Ook mogen fouten in het systeem niet voorkomen, omdat er anders niet door kan worden gegaan met het werk en dit zal Final Report ETN210
27
uiteindelijk verlies opleveren. Eventuele fouten zouden direct verholpen moeten worden door middel van technische ondersteuning. 3.5 Kosten Voor dit project is een budget van €100 gereserveerd voor materialen om het systeem te testen. De kosten voor de implementatie van het volledige systeem zijn nog niet duidelijk maar zullen uiteindelijk wel aan bod komen. Loonkosten van het projectteam zullen in een factuur aan bod komen.
4.
Projectorganisatie
4.1 Organigram Het organigram geeft een duidelijke structuur van de rollen in het project. Zo zal de projectorganisatie bestaan uit een stuurgroep, een projectmanager, een consultant en het projectteam. De stuurgroep is de opdrachtgever van het project en maakt beslissingen over het budget en doorlooptijd van het project samen met de projectmanager. Het projectteam voert de opdrachten uit van de opdrachtgever.
Stuurgroep Opdrachtgever | Consultant | Projectmanager
Team leden
Team leider
Figuur 1. Organigram
Final Report ETN210
28
4.2
Rollen & verantwoordelijkheden
Bedrijf Etine Naam
Rol
Contactgegevens
Jan Joost de Vries
Opdrachtgever
[email protected]
De opdrachtgever geeft het team een project die op de opleveringen af moeten zijn en die aan de eisen moeten voldoen. Projectmanager en Consultant Naam
Rol
Contactgegevens
Jan Hellings
Projectmanager
[email protected]
Stephan van der Feest
Consultant
[email protected]
De projectmanager rapporteert de voortgang van het project aan de opdrachtgever. Daarnaast is hij ook verantwoordelijk, dat het team de producten met kwaliteit oplevert voor de deadline. De consultant is de adviseur van het team die ervoor zorgt dat het team de producten met kwaliteit oplevert. Team ETN210 Naam
Rol
Contactgegevens
Rick Weijland
Teamleider
[email protected]
Remco Mokveld
Teamlid
[email protected]
Maarten Koe
Teamlid
[email protected]
Jasper Doornbos
Teamlid
[email protected]
Denzel Laclé
Teamlid
[email protected]
Het team draagt de verantwoordelijkheid om het product op te leveren volgens de aangegeven eisen van de opdrachtgever.
Final Report ETN210
29
5.
Projectplan
5.1 Plan aannames De hulpmiddelen die voor dit project nodig zijn verkrijgbaar en ook beschikbaar. Nog niet alle hulpmiddelen zijn nog bekend. Maar zodra ze bekend voor ons zijn zullen ze vermeld worden. Wij nemen aan dat dit projectteam zal blijven bestaan uit 5 personen en niet uiteen zal vallen tijdens het verloop van het project. 100% inzet zal getoond worden tijdens het maken van producten en deelproducten. De beschikbaarheid van een persoon is daarom erg belangrijk binnen het project. 5.2 Gantt-chart In bijlage 1 is een grafische planning gemaakt. Door middel van een strokenplanning is duidelijk te zien wanneer taken worden uitgevoerd. 5.3 Productdecompositiestructuur Het productdecompositiestructuur geeft duidelijk weer waar het product uit zal bestaan en welke producten opgeleverd gaan worden (zie bijlage 2). 5.4 Productstroomdiagram In het productstroomdiagram is weergegeven in welke volgorde de verschillende producten opgeleverd worden en aan welke producten er gewerkt wordt in elke fase (zie bijlage 3). 5.5 Activiteitenplanning Het ontwikkelen van het product is in verschillende activiteiten opgedeeld. Hieronder zijn de benodigde activiteiten beschreven. Bij de eerste fase, “Idea”, zal er gekeken worden hoe het product eruit komt te zien. Deze fase zorgt ervoor dat het project een goede start maakt. Door middel van het Research report die we maken, onderzoeken we wat de eigenschappen van ons product zullen worden en welke niet. De Feasibility toont aan of het product haalbaar is voor de oplevering. De tweede fase zal de feasibility demonstreren van het product. Er zal dan een visualisatie van het product ontwikkeld worden en ook getest worden. Daarnaast zal er ook een Project Initiation Document (PID) gemaakt worden. In de derde fase (Alfa product) wordt er een Test approach gemaakt. Het product zal dan getest worden en wordt er uitgelegd hoe het product in zijn werking gaat. Vervolgens zal er ook een User Manuel gemaakt worden voor het product. Daarin zal beschreven worden hoe het product gaat werken In de laatste fase (Beta product) zal er een Beta versie van het product gemaakt worden. Daarbij zal er ook een Final report gemaakt worden. 5.6 Overzicht benodigde middelen Er zijn een aantal middelen die een groot belang spelen in het ontwikkelen van het uiteindelijke product. Hieronder een overzicht van die benodigde hulpmiddelen. • Laptops • Smartphone met Android OS • Microsoft Office • Adobe Reader • Google Apps Script • Zentyal Final Report ETN210
30
• • •
Javascript HTML/ CSS Diverse websites
5.7 Productbeschrijvingen In bijlage 2 wordt per product een beschrijving gemaakt. In deze beschrijvingen komt onder andere naar voren wat het doel is van het product, samenstelling, kennis en kunde dat nodig is om product te vervaardigen, kwaliteitscriteria en kwaliteitsmethode.
6.
Beheersinstrumenten
6.1 Toleranties Welke ruimte, in tijd en geld, heeft het projectteam om aanpassingen te maken aan bijvoorbeeld het product of de planning? Er is weinig tot geen ruimte voor fouten. De planning moet daarom strak en duidelijk zijn. Hierdoor kunnen deadlines gehaald worden, waardoor er geen extra tijd nodig is voor het project. 6.2 Risicomanagement Bij risicomanagement gaat het er voornamelijk om hoe wij ervoor gaan zorgen dat het project succesvol zal verlopen. Wij proberen de mogelijkheid te creëren dat indien nodig een taak overgenomen kan worden van elkaar. Dit doen we door middel van kennis met elkaar te delen zodat iedereen basiskennis bezit. 6.3 Uitzonderingsprocedure Als het project uit zijn toleranties loopt, of onbeheersbare risico’s treden op, hoe wordt daar dan mee omgegaan? wie onderneemt er actie? Welke acties zijn er mogelijk? Deadlines zorgen er voor dat als er een onbeheersbaar risico optreedt, deze op tijd opgevangen kan worden door de overige teamleden (denk hierbij aan het uitvallen van een teamlid bijvoorbeeld). Zo kan er binnen een kort tijdsbestek een nieuwe oplossing komen om alsnog de deadline te halen. 6.4 Voortgangsrapportages Op welke manier en hoe vaak worden alle betrokkenen (en met name de opdrachtgever) op de hoogte gehouden over de voortgang van het project?
Final Report ETN210
31
Bijlage 1. Grafische Projectplanning In de grafische projectplanning komt een overzichtelijk Gantt-chart met deadlines en de bijbehordende datum voor elke product.
Figuur 2. Grafische Projectplanning
Final Report ETN210
32
Bijlage 2. Product Decompositie Structuur
Product
Feasibility
Idea
Proof of Concept
Research Report
Video
PID
Alfa Product
Test approach
User manual
Beta Product
Figuur 3. Product Decompositie Structuur
Bijlage 3. Product Stroom Diagram
Figuur 4. Product Stroom Diagram
Final Report ETN210
33
Final report
Bijlage 4. Productbeschrijvingen De productbeschrijvingen zullen bestaan uit de verschillende deelproducten van het project. Productbeschrijving Product ID
501
Productnaam
Research Report
Doel
Onderzoeken inhoud project, doelgroep en de haalbaarheid
Samenstelling
PACT, Planning, Haalbaarheid
Kennis en kunde nodig om product te vervaardigen Kwaliteitscriteria
Kennis van de vaardigheden van de teamleden, inzicht in het bedrijf APS
Kwaliteitsmethode
Mandatory Consultancy
Overzichtelijk en uitgebreid onderzoek
Productbeschrijving Product ID
502
Productnaam
Project Initiation Document
Doel
Volledig inhoudelijk rapport voor het opstarten en het voltooien van het project Projectdefinitie , businesscase, projectorganisatie, projectplan en beheersinstrumenten Kennis over PRINCE2 methode, kennis die nodig is om het product te realiseren (programmeertaal, tools etc).
Samenstelling Kennis en kunde nodig om product te vervaardigen Kwaliteitscriteria Kwaliteitsmethode
Volledig ingevuld en overzichtelijk rapport Beoordeling op inhoud en volledigheid van het document
Final Report ETN210
34
Productbeschrijving Product ID
503
Productnaam
Test Approach
Doel
Testen van de bruikbaarheid en bespeelbaarheid van het product
Samenstelling
Beschrijven van het doel van het product, Beschrijving van de planning, materialen en andere middelen die nodig zijn voor het testen Basiskennis over hoe het product gebruikt moet worden, kennis over de gebruikte programmeercode
Kennis en kunde nodig om product te vervaardigen Kwaliteitscriteria
Een volledig ingevuld document
Kwaliteitsmethode Productbeschrijving Product ID
504
Productnaam
Alpha Product
Doel
Het bekijken van de bruikbaarheid van het product in het Itopia lab en bekijken of deze bruikbaarheid voldoende is Volledig werkend product
Samenstelling Kennis en kunde nodig om product te vervaardigen Kwaliteitscriteria
Het kunnen uitleggen hoe het product werkt, kennis over gebruikte programmeercode
Kwaliteitsmethode
Product wordt getest door andere studenten van andere teams en beoordeeld d.m.v. het testformulier.
Test formulieren
Final Report ETN210
35
Productbeschrijving Product ID
504
Productnaam
User Manual
Doel
Uitleggen van de functies van het product
Samenstelling
Gebruikershandleiding geschreven in het engels
Kennis en kunde nodig om product te vervaardigen Kwaliteitscriteria
Beheersen van de Engelse taal, kennis over het gebruik va het product, het kunnen maken van afbeeldingen bij de instructies
Kwaliteitsmethode
Beoordeling op overzichtelijkheid en duidelijkheid van de inhoud van de gebruikershandleiding
Een goed leesbaar gebruikershandleiding
Productbeschrijving Product ID
505
Productnaam
Final Report
Doel
Overzicht van alle producten die tijdens het project zijn opgeleverd
Samenstelling
Van ieder teamlid een pagina lang verslag van zijn bijdrage aan het project, PPT slides van de presentaties, PID, Interaction design, Klassediagram, Test approach met resultaten, User manual met screenshots/foto’s Kunnen documenteren van een verslag, kennis over UML diagrammen, presenteer vaardigheden
Kennis en kunde nodig om product te vervaardigen Kwaliteitscriteria Kwaliteitsmethode
Overzichtelijk rapport met alle inhoud van het project Beoordeling van opdrachtgever en projectleider
Final Report ETN210
36
8.4 Test Approach Inhoudsopgave Revision history 3 1 Test Information 4 1.1 System Under Test 4 1.2 Test Personnel 4 2 Test Summary 4 2.1 Acceptance Criteria 4 2.2 Results 4 3 Background 5 3.1 Purpose and Scope of all test cases 3.2 Additional Information 5 3.3 Experience required 6 3.4 Test Items / Equipment Needed 6 3.5 Reference Documents 6 4 Preparing the Test Environment 7 4.1 Application Setup 7 4.2 Equipment Checks 7 5 Dynamic Quality Testing 8 5.1 Inloggen 8 5.2 Wijzigen order 9 5.3 Voltooien 9 5.4 Aannemen order 10 5.5 Voorraad melding 10 6 Static Code Testing 11 6.1 Test Metrics and Tools 11 6.2 Code conventions 12
Final Report ETN210
5
37
1 Test Information 1.1 System Under Test System name: ______Order Picking ETN210_____________ Version: ____________________________________ 1.2 Test Personnel Name: ___ETN210_______________________ Date: _____________ Time: __________ Name: _________________________________ Date: _____________ Time: __________ Name: _________________________________ Date: _____________ Time: __________
2 Test Summary 2.1 Acceptance Criteria Describe what are the acceptance criteria of your system(s). Formulate these criteria as SMART as possible. These criteria are from different stakeholders and different perspectives. Specifiek: Eén van de criteria is dat de office worker een batch kan selecteren en aanmaken, zodat de order picker deze kan selecteren voor zijn order(s). Meetbaar: Als er een nieuwe batch is aangemaakt door de office worker, dan zal er een scherm worden aangemaakt bij het warehouse interface. Ook kan de order picker nu de batch selecteren als hij een order klaar wilt zetten voor verzenden. Acceptabel: Omdat dit een belangrijk deel is van het system, is dit een acceptabele criteria. Het is ook een belangrijk deel van de management kant van de office worker. Resultaatgericht: Als dit criterium er niet is, zal de office worker niet de mogelijkheid hebben om de order pickers aan te sturen. Tijdsgebonden: Vóór de beta moet dit criterium geïmplementeerd zijn. Specifiek: Orders moeten uit het ERP systeem gehaald kunnen worden, zodat deze zichtbaar zullen zijn in het kantoor interface en het order picker interface. Meetbaar: Als de orders eenmaal worden getoond in het systeem, dan kunnen de orders gebruikt worden om te verwerken door order pickers en kantoor medewerkers. Acceptabel: Dit is een belangrijke criterium, omdat er geen systeem kan zijn zonder orders. Resultaatgericht: Orders kunnen gebruikt worden door order pickers, zodat zij ze uit kunnen lezen en de producten kunnen picken. Tijdsgebonden: Dit is een belangrijk en moet als één van de eerste doelen opgelost worden.
Final Report ETN210
38
2.2 Results Conclusion of the tests: ____% Passed, ____% Failed Comments: ____________________________________________________________________ ____ _______________________________________________________________ ____________________________________________________________________
3 Background 3.1 Purpose and Scope of all test cases TC_FUNCT_01: Inloggen gebruiker Bij deze testcase zal er voornamelijk getest worden of het inlogscherm daadwerkelijk geopend kan worden op Internet Explorer, Firefox en Chrome, Safari en Opera. Ook zal er getest worden of de invoervelden ingevuld kunnen worden en er ingelogd kan worden. Het testen van het inloggen van een gebruiker is noodzakelijk, want als er niet ingelogd kan worden kan er ook geen gebruik van het systeem gemaakt worden. TC_FUNCT_02: Wijzigen van order Bij het wijzigen van een order moeten er een aantal functies getest worden. Daarbij hoort het testen van het selecteren van een order en het wijzigen van de gegevens (uiterste verzend datum) ervan. Daarna moet er ‘Gereed’ geselecteerd worden en komen de wijzigingen te staan in de orderlijst. Deze functie is er belangrijk voor de gebruikers ervan, want wijzigingen moeten ook handmatig aangepast kunnen worden. TC_FUNCT_03: Voltooien van order Bij de derde testcase wordt het voltooien van een order getest. Hierbij moet er een order geselecteerd kunnen worden. Daarnaast moet er een ‘Voltooi order’ knop aanwezig zijn en geselecteerd worden. De status van de geselecteerde order moet daarna veranderd zijn in ‘Voltooid’. TC_FUNCT_04: Aannemen openstaande order Bij de testcase ‘aannemen openstaande order’ wordt er getest of de knop ‘Aannemen’ aanwezig is. Er wordt eerst een openstaande order geselecteerd en daarna ‘Aannemen’ geselecteerd. Daarna verandert de status van de geselecteerde order naar ‘Wordt verwerkt’.
Final Report ETN210
39
TC_FUNCT_05: Melding krijgen als voorraad (bijna) op is. Bij de laatste testcase zal er worden getest of er een melding gekregen wordt als de voorraad (bijna) op is. Daarvoor moet een order een lijst met artikelen en aantallen hebben en de ‘Voltooi order’ knop moet aanwezig zijn. Daarnaast moet de order een artikel bevatten dan bijna op is en wordt de ‘Voltooi order’ knop geselecteerd. De status van de order kot op ‘Voltooid’ te staan en de medewerkers ontvangen een melding via e-mail met daarin het artikel informatie en het geüpdatet voorraad aantal. 3.2 Additional Information De overige documentatie zoals de User Manuel is te vinden op SVN ETN210 /Documenten. De User Manual wordt bijgeleverd tijdens het uitvoeren van de test. 3.3 Experience required De kennis en de ervaring die er nodig zal zijn om het product te testen is dat de tester van de opleiding Informatica moet komen van het HVA. Daarin moeten de testers 1 van de 2 business units Software Engineering en System & Network Engineering volgen indien ze de tests willen uitvoeren. Ook zal er een test uitgevoerd moeten worden door de eindgebruiker van ons product. Indien er geen eindegebruiker beschikbaar is zal er iemand die rol op zich nemen. 3.4 Test Items / Equipment Needed Er zal veel verschillende apparatuur benodigd zijn om de tests uit te voeren. Er zal een laptop beschikbaar moeten zijn en een mobiel apparaat/telefoon. De ideaale opstelling is twee laptops en een mobiel apparaat/telefoon. Hierbij wordt één laptop gebruikt als kantoorapplicatie en één laptop als magazijnscherm. Het mobiele apparaat wordt gebruikt als ‘handheld’ voor de order picker. 3.5 Reference Documents [RD1] Research Report, Research report_final.pdf, SVN ETN210/ Documenten, 28-02-2013, 100 % complete [RD2] Project Initiation Document, PID_ETN210_Version_Final.pdf, SVN ETN210/ Documenten, 01-04-2013, 100 % complete [RD3] User Manual, User Manual 1.0, hardcopy 08-05-2013, 100% complete
Final Report ETN210
40
4 Preparing the Test Environment 4.1 Application Setup De configuratie en opstelling voor de tests zal als volgt zijn. Er zal een laptop opgestart worden met. Daarna wordt er in de browser apps.google.com ingevoerd. De applicatie wordt gedraaid en het zal getest worden. 4.2 Equipment Checks De applicatie moet opgestart worden in een browser. Daarna is hij gereed voor testen. Comments: ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________
5 Dynamic Quality Testing 5.1 Inloggen Special Instructions Test Case ID
TC_FUNCT_01
Description
Inloggen gebruiker (Kantoor medewerker & Magazijn medewerker)
Initial Conditions
Systeem moet gereed staan
Step 1
2
Task & Expected Result Open het inlogscherm Pass / Fail
3
Het loginscherm moet op zowel in Internet Explorer, Firefox, Chrome, Safari en Opera te openen zijn. Voer gebruikersnaam en wachtwoord in.
4
De gebruikersnaam moet ingevuld kunnen worden.
Pass / Fail
5
Het wachtwoord moet ingevuld kunnen worden.
Pass / Fail
6
De “OK” en “Annuleer” knop moeten te zien zijn.
Pass / Fail
Comments: ____________________________________________________________________________ _____________________________________________________________________________ 5.2 Wijzigen order Final Report ETN210
41
Special Instructions Test Case ID
TC_FUNCT_02
Description
Wijzigen van order (Kantoor medewerker & Magazijn medewerker)
Initial Conditions
Er moet al een order in de order lijst staan
Step 1
Task & Expected Result Selecteer gewenste order om te wijzigen.
Pass / Fail
2
Wijzig gewenste gegevens. (Uiterste verzend datum)
Pass / Fail
3
Selecteer “Gereed”.
Pass / Fail
4
Order moet met de juiste gewijzigde gegevens in de orderlijst staan.
Pass / Fail
comments:_____________________________________________________________________ 5.3 Voltooien Special Instructions Test Case ID
TC_FUNCT_03
Description
Voltooien van order (Magazijn medewerker)
Initial Conditions
Er moet een order in de orderlijst staan.
Step 1
2 3 4
Task & Expected Result Selecteer order.
Pass / Fail
De voltooi-knop moet aanwezig zijn.
Pass / Fail
Selecteer “Voltooi order”.
Pass / Fail
De “status” van de geselecteerde order moet veranderd zijn en op “Voltooid” staan.
Pass / Fail
Comments: _____________________________________________________________________________ _____________________________________________________________________________
Final Report ETN210
42
5.4 Aannemen order Special Instructions Test Case ID
TC_FUNCT_04
Description
Aannemen openstaande order (Magazijn medewerker)
Initial Conditions
Er moet een order in de orderlijst staan die nog niet is aangenomen door een magazijnmedewerker
Step 1
2 3 4
Task & Expected Result Selecteer een openstaande order. (Magazijnmedewerker)
Pass / Fail
De knop “Aannemen” moet aanwezig zijn.
Pass / Fail
Selecteer “Aannemen”.
Pass / Fail
De status van geselecteerde order moet gewijzigd zijn naar “Wordt verwerkt”.
Pass / Fail
Comments: ______________________________________________________________________________ ______________________________________________________________________________ 5.5 Voorraad melding Special Instructions Test Case ID
TC_FUNCT_05
Description
Melding krijgen als voorraad (bijna) op is. (Kantoor medewerker)
Initial Conditions
Er moet voldoende voorraad zijn (Bijvoorbeeld: minimum aantal glazen is 20. Als glazen < 20 = melding/e-mail. Voor test moet dus glazen > 20.); Geselecteerde order moet een status hebben van “Wordt verwerkt”.
Step 1
2 3 4 5 6
Task & Expected Result De order moet een lijst hebben met artikelen en aantallen.
Pass / Fail
De knop “Voltooi order” moet aanwezig zijn.
Pass / Fail
De order moet een artikel bevatten dat bijna op is. (Zie Initial Conditions) Selecteer “Voltooi order”.
Pass / Fail
De “status” van de geselecteerde order staat op “Voltooid”
Pass / Fail
De medewerkers krijgen melding via e-mail. E-mail bevat artikel naam, nummer etc. en geüpdatete voorraad aantal.
Pass / Fail
Pass / Fail
Comments: _____________________________________________________________________________ _____________________________________________________________________________
Final Report ETN210
43
6 Static Code Testing 6.1 Test Metrics and Tools To find the codemetrics of Google Apps Scripts and Javascript we used the online tool jsmeter.info Total number of files
13
Total number of classes
N/A
Total number of code lines
1209
Total number of code statements
969
Percentage code comments
2,2%
Average number of methods per class Average number of statements per method Other metrics
N/A
The “biggest” file is:DBConnectie The “biggest” class is: The “biggest” method is: -
Number of classes: Number of methods:Number of statements:-
Comments: ______________________________________________________________________________ ________________________________________________________ 6.2 Code conventions De stappen die we gevolgd en naar gekeken hebben zijn de: • • • • • •
Omvang: Hier wordt gekeken dat de omvang van de methodes maximaal 50 regels is. Aantallen: Structuur: De maximale diepte van de klasseboom is 5. Complexiteit: De maximale complexiteit is 20. Naamgeving: Duidelijke naamgeving. Commentaar: De precentage van het commentaar is 10% - 20%.
Comments: ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________
Final Report ETN210
44
8.5 User Manual Chapter 1 Introduction 2 Chapter 2 Using the system 3 2.1 Logging in 3 2.2 Order Interface 3 2.2.1 Order interface Office worker 3 2.2.2 Order interface Order Picker 3 2.3 Modifying orders 4 2.4 Taking orders 4 2.5 Notifications 4 2.6 Logging out 4
Final Report ETN210
45
Chapter 1 Introduction In this document you will find all the necessary information about the APS order picking system. The purpose of this document is to give you a clear overview of all the possibilities when using this system. The system was designed to create a more efficient workflow for both office workers and order pickers. The current work procedure takes too much time and effort. To reduce the time needed for the office worker to relay the orders from the office to the warehouse, we (ETN210) have designed and built this system. In Chapter 2 you will find all the step-by-step instructions about: • How to log in • How to see the orders • How to modify orders as an office worker • How to take orders as an order picker • How to modify orders as an order picker • How an office worker receives a message when stock is about to run out • How an order picker receives a message when an order gets modified or when the priority changes Images are used to guide the user through all the steps.
Final Report ETN210
46
Chapter 2 Using the system 2.1 Logging in 1. To log in, fill in the username and password in the corresponding fields. 2. Click “Inloggen”. 3. You are now logged in.
2.2 Order Interface There are two order interfaces for the APS order picking system. One is used by the office worker and one is used by the order pickers in the warehouse. Both interfaces have different functions. In 2.2.1 you will find detailed instructions about how the interface works for the office worker. In 2.2.2 you will find information about the order interface for the order pickers. These interfaces are shown below.
Order Interface.
Final Report ETN210
47
Order picker Interface. Shown on a handheld device.
2.2.1 Order Interface Office Worker The order interface shows a list of all the orders in the system. Order number, Date, Costumer, Status, Priority and Employee are shown in the top bar. Selecting an order will show more detailed information about the order in the side bar. 1. 2.
Click the icon next to the order for more details. Detailed information about the order will be shown in the side bar. (See 2.2) Office workers are able to select a batch for a specific order. These batches can be added in the menu on the left hand side of the screen (‘Leveranciers Tijden’). For more information about the batches, see 2.2.3
Final Report ETN210
48
2.2.3 Adding Batches Batches are used to give orders a specific supplier. If a supplier arrives on Wednesday 12th of june at 11 PM, the office worker can add a batch for that time and date. He then selects the order he wants to add to that batch list. This order will now show up on the Warehouse screen. 1. On the left side of the screen, click “Vervoerders Tijden”. A menu will now slide out. 2. In the dropdown menu, select the desired supplier. 3. Fill in the date and time. 4. When you are done, click “Add”. 5. When an order is selected, you can select a Batch in the dropdown list of the “Details” Menu. 6. The batch will automatically update after selecting it and the batch will also be show on the Warehouse Interface.
2.2.4 Order interface Order Picker The order interface for the order picker shows a list of all the orders in the system. The order interface for the order pickers is also referred to as the warehouse interface. This interface contains “All orders”, “My orders” and “Open orders”. It also contains the Order ID and the Deadline date for when the order has to be ready to be sent out. When this interface is opened by an order picker, it will automatically go to the “All Orders” tab first. To navigate to other tabs (In this example the “My order”-tab): 1. 2.
Click the “My order”-tab. A list of all the orders in the “My order”-tab is now shown.
Final Report ETN210
49
To see more details about an order: 1. 2.
Click the desired order number. A detailed list will show up with information about: Employee, Status, Order date, Send date and a product list.
2.4 Taking orders The order picker can take orders with his device from the order list. 1. 2. 3.
You have to open the order list and have to select the order that you want. Then you click on the button ‘Aannemen’. Now the order status changes to ‘Bezig’.
2.4.1 Modifying an order An order picker can either choose to select all the products as Complete, or select only a portion of the products in the order list as Complete. This ensures that you can send an order with only a portion of the complete list (If a product is out of stock for example). A backorder will be made of the remaining products. 1. When you have selected an order, click the product you wish to ‘Complete’. 2. Fill in the amount that is needed for that order. 3. Click ‘OK’ when you are finished.
Final Report ETN210
50
2.4.2 Ready to transport An order is ready to be transported if all the products on the order list are ‘Complete’ or partially complete (Backorder will be made). 1. Click “Verzenden”. 2. Select the desired batch and supplier that is shown on the warehouse interface. 3. Click “Verzenden”. 4. Click “Terug” to go back to the previous screen. 2.6 Notifications Office workers and Order pickers both receive a different notification when either stock is running out, priority changes or an open order changes. An office worker receives a message when a product is almost out of stock. If, for example, a type of glass has a minimum amount set at 20 for a notification to be sent, the office worker will receive a notification with the product name and amount that is left or if it’s out of stock. An order picker will receive a notification when an order he/she is working on changes priority. He/she will also receive a notification when an open order has been changed. 2.7 Logging out When you are done using the system, you can choose to log out. 1. 2.
Click the username in the upper-right corner. Click “Uitloggen”.
You are now logged out.
Final Report ETN210
51