Strijp-S projectinitiatiedocument (PID) Auteur: Ruben Sissing Opdrachtgever: Oddessey Solutions Periode: 31 augustus 2015 t/m 31 januari 2016 Versie: 1.0 Versie Status 0.1 0.2 0.3 concept concept concept 0.4 0.5 0.6 1.0 Datum Wijzigingen 03-09-2015 Eerste opzet 04-09-2015 Feedback Tom verwerken 24-09-2015 Feedback Michael Schifferling verwerken Planning aanpassen concept 02-10-2015 Feedback Michael Schifferling verwerken concept 21-10-2015 Tekst laten overlezen en planning aangepast eerste versie 27-10-2015 Feedback Tom verwerkt definitieve versie 09-11-2015 Kleine aanpassingen en planning bijgewerkt Ruben Sissing 2 Inhoudsopgave Oddessey Solutions 4 De opdracht Opdracht omschrijving Werkzaamheden Eisen aan de opdracht 5 5 5 6 Aanpak 8 Planning 9 Ruben Sissing 3 Oddessey Solutions Oddessey Solutions is een ICT-bedrijf gestart in 2003 met sms-diensten/-abonnementen voor consumenten. Een voorbeeld hiervan is Corendon vliegvakanties. In samenwerking met SBS6 zijn er winacties getoond op televisie. In 2011 heeft Oddessey de overstap gemaakt naar mobiele software. Tegenwoordig worden namelijk sms-diensten bijna niet meer gebruikt in Nederland, alleen nog wel voor verificatie van telefoonnummers in (web)applicaties. Door de komst van mobiel internet en doordat de telefoons veel slimmer zijn geworden, zijn sms-diensten overbodig geworden. De organisatiestructuur (fig. 1) van Oddessey Solutions ziet er al volgt uit. Clifford Francis is de Directeur en daaronder zitten de projectmanagers Tom Hoekstra en John Hertogs. De projectmanagers sturen het developer team aan. Zelf heb ik voor mijn project alleen te maken met Tom. Aan het Strijp-S iOS Meetups project werk ik alleen. fig. 1 Organisatiestructuur Ruben Sissing 4 De opdracht Opdracht omschrijving Op Strijp-S zijn veel verschillende bedrijven aanwezig met ieder zijn of haar expertises. Door deze grote diversiteit is het lastig om te achterhalen waar welke kennis te vinden is. Wanneer er voor een project bijvoorbeeld een fotograaf ingeschakeld moet worden, is het onnodig om ver buiten Strijp-S te zoeken. De kennis is aan zekerheid grenzende waarschijnlijkheid op steenworp afstand aanwezig. Oddessey Solutions wil bereiken dat mensen op Strijp-S sneller met elkaar in contact komen. Er is veel kennis en specialisme op Strijp-S aanwezig, maar het is onbekend welke bedrijven er gevestigd zijn. Door middel van een iPhone en Android app die alle kennis op Strijp-S bundeld wil Oddessey het probleem gaan verhelpen. Via deze app de zal de kennis eenvoudig en inzichtelijk weergegeven worden, waarna onderling een afspraak gepland kan worden om in contact te komen. In de app kan worden opgegeven wat voor werkzaamheden je verricht en waar je naar op zoek bent. Ook moet er een afspraakadres worden opgegeven waar men elkaar kan gaan ontmoeten. Dit kan in de vorm van een suggestie voor een koffiezaak of restaurant waar je voorkeur naar uitgaat. De app zoekt door middel van de opgegeven informatie naar een persoon die aan jouw voorkeuren voldoet. Hierna kan een uitnodiging gestuurd worden met details over de ontmoeting een een voorkeur voor dag en tijd. Aan het eind wordt er onderzoek gedaan om te kijken of de Apple Watch een toegevoegde waarde heeft voor de app. Omdat Strijp-S een omgeving is waar veel nieuwe ideeën ontstaan, is het goed om ook de app voor Strijp-S te voorzien van moderne snufjes zoals een Apple Watch app. Uit het onderzoek zal moeten blijken of dit voor de app een echte toevoeging is. Werkzaamheden Voor dit project moet gebruik gemaakt worden van de bestaande iOS Strijp-S app. Hieraan wordt het meetups onderdeel toegevoegd. De huidige app is geschreven in Objective-C. Het meetups onderdeel wordt geschreven in de nieuwe Swift programmeertaal. Deze taal is nog volop in ontwikkeling en het zal daarom extra tijd vergen om de benodigde functies uit te werken. Het meetups onderdeel is al opgeleverd voor Android. Deze versie kan als voorbeeld worden gebruikt voor de iOS app. Daarbij is het ontwerp uitgewerkt in een flowchart hoe het uiteindelijk in de app eruit moet komen te zien. Naast het Strijp-S meetups onderdeel wordt er onderzoek gedaan naar de toevoeging van een Apple Watch app. Hiervoor wordt onderzoek gedaan naar de voordelen en of er überhaupt vraag naar is. Aan het begin zal er veel tijd gaan zitten in het uitzoeken en leren begrijpen van de bestaande code. In tegenstelling tot waarin de applicatie is geschreven wordt tegenwoordig de taal Swift gebruikt voor het programmeren voor Apple producten. Het is mogelijk om in beide talen te werken in één applicatie, hier moeten echter wel handelingen voor worden uitgevoerd. Daarbij is de programmeertaal Swift erg nieuw (geïntroduceerd op 2 juni 2014) Ruben Sissing 5 en volop in ontwikkeling. Op moment van schrijven is versie 2.0 beschikbaar. Een valkuil voor mij is dat ik voor mijn gevoel alles al moet kunnen voordat ik ergens ga werken, terwijl dit niet de bedoeling is van een opleiding/stage. De benodigde basiskennis is echter wel aanwezig om een app op te zetten. Risico’s Daar mijn programmeer kennis voor iOS nog niet op hoog niveau zal er een risico zijn dat de app niet op tijd af komt. Om dit te voorkomen moet er een goede planning worden gemaakt. Wanneer er vertraging dreigt op te treden moet op tijd worden ingegrepen. Daarnaast volg ik verschillende iOS cursussen om mijn kennis te verhogen. De methodes die ik hiervoor gebruik zijn van de iOS Academie en Team Treehouse. Een ander risico is dat nieuwe programmeertaal van Apple volop in ontwikkeling is. Zo komen hier geregeld updates van uit, waardoor de syntax en ingebouwde functies snel kunnen wijzigen. Hierdoor werken tutorials niet direct, tevens kost het meer tijd om uit te zoeken hoe het dan wel werkt. Om dit risico te beperken moet er meer tijd ingepland worden. Wanneer ik aan de slag ga aan het eind van het project met de Apple Watch kan ik tegen problemen aanlopen doordat de Apple Watch net nieuw is en hierover nog niet veel uitleg vindbaar is. Hierdoor kan het voorkomen dat ik sommige functies die ik vooraf bedenk niet kan realiseren. Randvoorwaarden De API voor de Strijp-S app is al gerealiseerd. Dit geldt ook voor het meetups onderdeel voor de Android toestellen. Tijdens dit project wordt hier dan ook geen tijd aan besteed om hier onderdelen aan toe te voegen of aan te passen. Indien toch wijzigingen noodzakelijk zijn zal dit door iemand anders worden gerealiseerd. Het design van de Strijp-S app staat vast. Hier kunnen geen veranderingen in worden doorgevoerd. Vanuit Oddessey Solutions is het ontwerp al uitgewerkt in een flowchart. Hierin is te zien hoe de app flow werkt en hoe de schermen eruit moeten komen te zien. Daarnaast is de Android app al gerealiseerd en kan als voorbeeld worden gebruikt. Het Strijp-S meetups onderdeel wordt tijdens dit project alleen gerealiseerd voor de iPhone. Niet voor andere platformen. Eisen aan de opdracht De eisen aan de opdracht zijn uitgewerkt via de MOSCOW-methode. Hierdoor is er een duidelijk overzicht van de eisen aan de opdracht. Must have De app moet minimaal de volgende onderdelen bevatten: Voorkeuren opgeven voor industrieën; koffie/restaurant locaties; uitnodigingen versturen; datum prikken; uitnodigingen accepteren. Ruben Sissing 6 Should have Datum aanpassen door diegene die de uitnodiging ontvangt wanneer geen van de datum suggesties uitkomen. Filter optie bij de voorkeur tags en koffie / restaurant locaties. Push notificaties, vanaf de Push notificatie naar de juiste locatie in de app gestuurd worden. Could have Wanneer uit het onderzoek blijkt dat een Apple Watch app een toegevoegde waarde heeft kijken naar de mogelijkheden om deze te realiseren als hier genoeg tijd voor is. Dit is niet noodzakelijk. Won’t have iPad app of een uitbreiding naar andere platformen. Voor het Android platform is het meetups onderdeel al gerealiseerd. Ruben Sissing 7 Aanpak Tijdens dit project wordt gebruik gemaakt van Trello. Oddessey Solutions maakt hier zelf gebruik van. Dit is een vorm van scrum via het internet. Op deze manier is het scrumbord van computer tot smartphone altijd beschikbaar en zelfs op je Apple Watch. Het voordeel hiervan is het dat er geen Post-it blaadjes hoeven te worden opgeplakt. Tijdens dit project werk ik alleen aan het meetups onderdeel. Tijdens het project zullen er sprints worden opgezet waarbij aan het eind een werkend onderdeel moet kunnen worden aangetoond. Door deze methode te gebruiken heeft Oddessey Solutions tijdens het project inzicht of het goed gaat en of alle functies werken die worden gerealiseerd. Wanneer er een onderdeel klaar is kan deze worden getest en uiteindelijk worden aangepast op basis van feedback. In volgende sprint kan dan verder gewerkt worden aan de volgende functie binnen de app. Hieronder een overzicht van de sprints die doorlopen gaan worden. Sprint 1: Bestaande code bestuderen en view controllers bekijken en mee oefenen Sprint 2: Alamofire framework Sprint 3: Schermen van het meetups onderdeel aanmaken en aan elkaar linken Sprint 4: Benodigde data ophalen en koppelen aan het meetup registratie onderdeel Sprint 5: Benodigde data ophalen voor het weergeven van de matches Sprint 6: Benodigde data ophalen voor het contacten met een match Sprint 7: App finetunen Nadat het meetups onderdeel opgeleverd is zullen er twee onderzoeken worden uitgevoerd. Het eerste onderdeel is Automation UI testing. Vanuit Oddessey Solutions komt de vraag of dit toegevoegde waarde heeft om toe te passen bij meerdere projecten. Dit kan bijvoorbeeld worden toegepast tijdens het toevoegen van functies aan de Strijp-S app. Hiermee kan gecontroleerd worden of bestaande functies nog werken na het toevoegen van nieuwe functies. In het tweede onderzoek zal gekeken worden of de Apple Watch een toegevoegde waarde heeft voor de Strijp-S app. Indien er tijd over is en uit het onderzoek een positief signaal komt kan deze app gerealiseerd worden. Dit is echter geen must om de huidige opdracht af te ronden. Hoofdvraag: Welke functie(s) kan de Apple Watch voor de Strijp-S app vereenvoudigen zodat de Watch app een toegevoegde waarde heeft ten opzichte van de huidige app? Deelvragen: 1. Heeft een Apple Watch een toegevoegde waarde boven op de huidige smartphone app? 2. Wat zijn functies die de Apple Watch kan overnemen van de smartphone App? Ruben Sissing 8 Planning In deze planning wordt op een globale wijze de planning omschreven. Hierin wordt uitgegaan van een de verwachte tijd in weken uitgedrukt. Tijdens het project zal deze nog worden aangepast en/of aangevuld op basis van werkzaamheden die langer dan wel korter kunnen duren dan verwacht. Week 1 2 3 4 5 6 7 8 9 Werkzaamheden SPRINT 1 Oriëntatie PID-opstellen Huidige Strijp-S app bestuderen Introductie presentatie voorbereiden SPRINT 1 Introductie presentatie geven Strijp-S app: - Trello taken toevoegen - Start scherm meetups - Profiel configuratie opzet Automation UI testing onderzoek: - Bekijk wat het voor toegevoegde waarde heeft SPRINT 1 Strijp-S app: - Uiterlijk van app opzetten SPRINT 2 Strijp-S app: - Connectie maken met de API - Koffielocatie SPRINT 2 Strijp-S app: - Alamofire framework uitzoeken SPRINT 2 Strijp-S app: - Alamofire framework uitzoeken SPRINT 3 Strijp-S app: - Collection View met interesse tags / registratie onderdeel SPRINT 3 Strijp-S app: - Weergave van matches overzicht - Weergave van profielen binnen eigen interesse tags Stageverslag: - Opzet maken SPRINT 3 Strijp-S app: - Afspraak planner weergave - Koffie/restaurant locatie weergave Ruben Sissing 9 10 11 12 13 14 15 Stageverslag: - Hoofdstukken aanmaken - Hoofdstuk: bedrijf SPRINT 4 Strijp-S app: - Tags voor registratie van meetups onderdeel voltooien - Koffie locaties weergeven en laten kiezen - Onderdeel testen Stageverslag: - Hoofdstuk: Opdracht omschrijving - Hoofdstuk: Evaluatie SPRINT 5 Strijp-S app: - Matches weergeven - Profiel weergeven - Eigen profiel aanpassen (registratie opnieuw doorlopen) - Onderdeel testen Stageverslag: - Hoofdstuk: Inleiding - Stageverslag ter eerste controle naar docent opsturen SPRINT 6 Strijp-S app: - Afspraak maken realiseren - Datum laten kiezen - Geschiedenis weergave Stageverslag: - Stageverslag feedback verwerken - Evaluatie SPRINT 6 Strijp-S app: - Andere datum suggestie geven - Gemaakte afspraken weergeven - Onderdeel testen Automation UI testing onderzoeken uitbreiden - Breid het onderzoek aan het begin van de stage verder uit SPRINT 6 Strijp-S app: - Push notificaties realiseren - Push notificaties testen SPRINT 7 Strijp-S app: - App finetunen - App testen Onderzoek Apple Watch app: - Juiste template opzetten - Eerste opzet maken - Lijst met mogelijke toepassingen - Prototype opstellen Ruben Sissing 10 16 17 18 19 Onderzoek Apple Watch app: - Prototype bij verschillende mensen uittesten met Apple Watch - Onderzoek verder uitwerken Stageverslag: - Samenvatting schrijven - Voorwoord schrijven - Evaluatie aanvullen Apple Watch app: - Planning maken voor uitwerking Stageverslag: - Onderzoek samenvoegen in stageverslag - Literatuurlijst vanuit onderzoek invullen Stageverslag: - Tekst controle Stageverslag: - Laatste aanpassingen doorvoeren - Klaarmaken voor oplevering 20 Ruben Sissing 11