Connect Social Business
Plan van Aanpak voor mijn stage bij ConnectSB
Plan van Aanpak Joey Kaan September 29, 2014
Inhoudsopgave 1 Achtergronden 2 Probleemstelling & Doelstelling 2.1 Leren Professioneel Functioneren . 2.2 Facebook API . . . . . . . . . . . . 2.3 Meteor, een JavaScript framework 2.4 Versiebeheer . . . . . . . . . . . . . 2.5 Functioneel ontwerp . . . . . . . .
1
. . . . .
2 2 2 3 3 4
3 Opdrachten 3.1 Content2Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Profile2Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 5
4 Projectactiviteiten
6
5 Projectgrenzen en randvoorwaarden
7
6 Producten: tussenproducten en eindproducten
8
7 Kwaliteitsbewaking
9
8 Planning
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
10
Plan van Aanpak
1
Achtergronden
Het bedrijf waar de stage wordt gelopen heet Connect Social Business, meestal afgekort tot ConnectSB. ConnectSB is een startup die in korte tijd een goede naam heeft opgebouwd door bedrijven te ondersteunen bij alles wat te maken heeft met social media. Een aantal van de klanten waar ConnectSB mee werkt zijn: • Jumbo • Karwei • Fruittella Naast het ondersteunen hebben veel bedrijven behoefte aan het opzetten van hun social media aanwezigheid. ConnectSB biedt hiervoor verschillende apps aan die op Facebook draaien en die met als doel hebben om klanten toe te trekken naar het bedrijf via social media. Ook werken ze in samenwerking met Obi4Wan. Dit is een platform en bedrijf dat zich bezig houdt met webcare en social media monitoring. ConnectSB biedt klanten een dienst aan waarbij ze de webcare van een klant volledig tot zich nemen, hierbij gebruiken ze Obi4Wan. De developers, een 6-koppig team, zijn verantwoordelijk voor het maken van deze apps. Deze apps komen ook met een administratief beheer. Op deze manier kunnen de community managers hier gemakkelijk mee aan de slag zonder dat een developer hier bij nodig is. De community managers zijn weer verantwoordelijk voor zoals eerder gezegd het beheren van de verschillende apps voor de klanten, ook maken ze posts die voor de klant dan op hun facebook pagina gepost worden. Als laatste komen hier natuurlijk de designers bij kijken, deze ondersteunen bij het maken van apps en het maken van posts om te zorgen dat het er goed uitziet voor de klant.
1
Plan van Aanpak
2
Probleemstelling & Doelstelling
Dit hoofdstuk zal mijn doelstellingen voor mijn stage bij ConnectSB bevatten. Deze doelstellingen, vanaf nu leerdoelen genoemd, zullen mij helpen om richting te geven aan mijn stage. Deze leerdoelen ga ik ook gebruiken om aan te tonen dat ik daadwerkelijk wat geleerd heb tijdens mijn tijd bij ConnectSB. Van deze vijf leerdoelen was er al ´e´en opgesteld door de HZ en de rest heb ik zelf geformuleerd. Elk leerdoel hoort bij een bepaald onderwerp waarin ik mijzelf wil verdiepen en tevens mijn leerdoel op wil baseren. Elk hoofdstuk heeft dus de naam van het onderwerp waar het leerdoel op gebaseerd is.
2.1
Leren Professioneel Functioneren
Bij dit leerdoel, die ik zelf niet heb opgesteld zal er geen motivatie aanwezig zijn. Ik zal overigens wel uitleggen welke bewijslast ik hiervoor zal opleveren in mijn portfolio. Om aan te tonen dat ik er toe in staat ben om professioneel te functioneren binnen een bedrijf zal ik eerst een definitie geven van wat ik denk dat professioneel functioneren omvat. Als professional in een bedrijf moet je kunnen samenwerken met andere developers, maar ook met designers en business-gerichte personen. Je moet risico’s durven nemen. Als een manager je iets opdraagt, maar jij denkt dat het veel mooier zal zijn als je het net iets anders doet moet je dit durven. Je zult als developer vaak alleen aan het programmeren zijn. Het zelfstandig werken en het zelf indelen van je tijd zodat alle taken op tijd af komen hoort ook bij de eigenschappen van een professional. Het werk dat opgeleverd wordt moet accuraat gedaan worden en het moet bijna perfect zijn. Als laatste is het natuurlijk belangrijk dat je flexibel bent. Als een manager iets op het laatste moment van je eist moet je dit als werknemer uitvoeren, hier moet je natuurlijk flexibel in zijn dat je dit snel klaarmaakt. Ik moet tijdens mijn stage aan verschillende opdrachten werken en ik zal op deze eerder genoemde kwaliteiten reflecteren tijdens elke opdracht die ik uitvoer.
2.2
Facebook API
Het leerdoel is: Facebook API leren door middel van een applicatie te maken die hiervan gebruik maakt door informatie van een pagina van een klant op te halen. Dit leerdoel valt onder de competentie Realiseren. Deze gaat in op het vergaren van nieuwe kennis met betrekking tot het realiseren van een applicatie. Deze applicatie zal gebruik maken van de Facebook API, de applicatie zal het mogelijk maken voor een klant om een facebook pagina die beheert wordt door de klant te importeren en hiervan zal de likes, comments, fans etc. opgehaald worden. De bewijslast die hiervoor in mijn portfolio zal staan is een volledig functionele app die in een Facebook pagina draait, maar gehost zal zijn op een server van ConnectSB. Deze applicatie zal ook gebruik maken van de Facebook API, welke aspecten van de API gebruikt zullen worden zal in het portfolio vermeld staan. De verdere technische details met betrekking tot het draaien op
2
Plan van Aanpak
Facebook zal ook in het portfolio te vinden zijn. ConnectSB stelt mij in staat om dit leerdoel te halen doordat de developers zich het meeste bezig houden met het maken van applicaties die gebruik maken van de Facebook API. De reden dat ik gekozen heb voor dit leerdoel is, omdat ik meer wil leren over de Facebook API. Facebook is razend populair en er worden veel applicaties en zelfs games gemaakt die gebruik maken van de Facebook API. Dit loopt uit een van het simpele inloggen met een Facebook account tot het toegang krijgen tot alle pagina´s die een gebruiker leuk vindt. Er is veel om te ontdekken en dat spreekt me heel erg aan, aan de Facebook API. Ik ben naast het functionele aspect van de API ook benieuwd naar het technische aspect.
2.3
Meteor, een JavaScript framework
Meteor is een framework gemaakt in JavaScript en het maakt het mogelijk om gemakkelijk de back- en front-end te maken met JavaScript. Het leerdoel is: Meteor leren kennen door middel van een applicatie te maken die real-time informatie weergeeft over een klant’s social media kanalen aan meerdere eind-gebruikers, dit wordt verwezenlijkt door Meteor’s collections en het publish-subscripe pattern te gebruiken. Dit leerdoel valt onder de competentie Realiseren. Het leerdoel gaat in op het aan leren van een framework voor een bekende taal waarmee het realiseren van een applicatie kan worden volbracht. De bewijslast die hiervoor in mijn portfolio terecht komt is een functionele applicatie welke gebruik maakt van Meteor. De bewijslast zal bevatten wat ik heb geleerd met betrekking tot Meteor, mijn ervaringen, welke functionaliteit ik heb ontwikkeld aan de applicatie. ConnectSB is sinds een paar weken bezig met de ontwikkeling van een platform waar alle data uit alle verschillende apps voor de verschillende klanten in opgeslagen zullen zijn. Dit platform wordt ontwikkeld met Meteor en ik zal hier ook aan bij dragen. Ik heb gekozen voor dit leerdoel, omdat JavaScript tegenwoordig heel erg in is. NodeJS maakt het mogelijk om zelfs de backend volledig in JavaScript te maken en Meteor voegt weer een aantal gave dingen toe. Met Meteor kun je bijvoorbeeld een nieuwe versie uitrollen zonder dat er enige down-time is. De gebruiker zal het niet eens merken als ze op dat moment met de applicatie aan het werken zijn.
2.4
Versiebeheer
Het leerdoel is: Versiebeheer volgens de Gitflow workflow gebruiken zodat er altijd een fout vrije en uitrolbare versie van de applicatie beschikbaar is en als er een fout optreedt deze snel weer ongedaan gemaakt kan worden door naar een vorige versie terug te keren. Dit leerdoel valt onder de competentie Beheren. Dit leerdoel zal ingaan op het gebruik van versiebeheer en met name op het correct en effici¨ent gebruik hiervan volgens een bestaande en bewezen workflow. In mijn portfolio zal ik de volgende bewijslast voor dit leerdoel beschrijven; bij alle gemaakte applicaties 3
Plan van Aanpak
zal versiebeheer gebruik worden en zullen ook in productie gezet worden. Bij elke applicatie zullen fouten optreden en door het gebruik van versiebeheer volgens de beschreven workflow zal ik bijna meteen een correcte versie tijdelijk kunnen opleveren terwijl ik tegelijkertijd de fout op los. ConnectSB gebruikt Git voor versiebeheer en de Gitflow workflow is een branching model dat zorgt dat er snel terug gekeerd kan worden naar een vorige versie en dat er altijd een versie gereed is die geen bugs bevat. Versiebeheer wordt door elk goed bedrijf wel gebruikt voor het beheer van code van bepaalde software. Overigens zijn er heel veel dingen die je met versiebeheer kunt vergemakkelijken. Ik wil hier meer kennis van op doen en daarom heb ik ook dit leerdoel opgesteld.
2.5
Functioneel ontwerp
Het leerdoel is: Functioneel ontwerp opstellen zodat deze makkelijk leesbaar en begrijpbaar is voor een persoon die niets af weet van de te maken software en dat de opdrachtgever gemakkelijk zijn eisen in het functioneel ontwerp terug kan vinden. Dit leerdoel valt in de competentie Ontwerpen. Het leerdoel gaat over het opzetten van een functioneel ontwerp en gaat dus heel erg diep in op alle aspecten van een functioneel ontwerp. Bij ConnectSB wordt bij elke applicatie een functioneel- en een technisch ontwerp opgesteld. Ik zal daarom voor de applicaties die ik zal gaan maken functionele ontwerpen die gemaakt zijn opnemen in mijn portfolio en hiermee aantonen dat dit leerdoel behaald is. Contact met de opdrachtgever en de andere stakeholders is cruciaal in elk software ontwikkel proces. Het is belangrijk voor een opdrachtgever dat een functioneel ontwerp duidelijk is zonder dat een developer uitleg hier over hoeft te geven. Als een functioneel ontwerp goed gemaakt en duidelijk is dan zal het minder lang duren voordat er begonnen kan worden en zo wordt er veel tijd en geld bespaard. Daarom wil ik graag mijn kennis van het correct schrijven van een functioneel ontwerp vergroten.
4
Plan van Aanpak
3
Opdrachten
Dit hoofdstuk zal de verschillende opdrachten bevatten waar ik aan zal gaan werken bij ConnectSB. Deze opdrachten kunnen nog veranderen, er kunnen er bijkomen en/of verdwijnen. Twee opdrachten staan al vast waar ik tijdens mijn stage aan zal gaan werken.
3.1
Content2Connect
Dit is een afzonderlijk platform waarmee het mogelijk is om grafische content te bestellen. Deze grafische content kan dan gebruikt worden op verschillende social media paltformen waaronder Facebook en Twitter. Dit platform zal worden gemaakt met Symfony, dit is een PHP framework waarmee gemakkelijk dergelijke platformen mee gemaakt kunnen worden. Met deze opdracht kan ik dus laten zien dat ik mijn leerdoel over het functioneel ontwerp en het leerdoel over versiebeheer kan gaan halen.
3.2
Profile2Connect
Dit project is heel erg bijzonder. Profile2Connect is eigenlijk een enorme database waarin alle gegevens die beschikbaar zijn van een klant in opgeslagen kunnen worden. De klanten van ConnectSB kunnen hier dan een abonnement opnemen en zo kunnen ze hier data uithalen. ConnectSB biedt dan de mogelijkheid om hier op te filteren en sorteren zodat je bijvoorbeeld alle personen kunt selecteren die zich hebben geabonneerd op een nieuwsbrief van die desbetreffende klant. Dit project wordt gemaakt met het Meteor JavaScript framework en zal tevens ook gebruik maken van de Facebook API om alle fans van een klant op te halen. Als de Facebook API op deze manier gebruik wordt hoeft ConnectSB en de klant de database niet zelf te vullen met heel veel informatie maar kan er gewoon vanaf een bestaande bron data worden ge¨ımporteerd.
5
Plan van Aanpak
4
Projectactiviteiten
Tijdens mijn stage zijn er een aantal activiteiten die uitgevoerd moeten worden en die op een bepaalde tijd af moeten zijn. Hieronder staan de activiteiten die tijdens deze stage zullen worden afgerond met een uitleg erbij. • Plan van Aanpak opstellen • Wekelijks een e-mail sturen naar de toegewezen stagedocent - hierin staat hoe ver ik ben ten opzichte van mijn planning • Eens per zes weken het portfolio opsturen naar de toegewezen stagedocent • Terugkomdag - dit is een dag waarbij ik op HZ een presentatie houdt waar ik tijdens mijn stage mee bezig ben geweest. • Portfolio opstellen - het belangrijkste document, hierin staat al het werk wat verricht is en hierin moeten ook bewijzen staan voor het behalen van mijn eigen opgestelde leerdoelen • Werken aan de verschillende stage opdrachten - deze activiteit zal de gehele stage door plaatsnemen. Ik heb verschillende opdrachten waar ik tijdens mijn stage aan moet werken, een paar hiervan staan bij het hoofdstuk opdrachten, maar hier zullen vermoedelijk nog wel wat taken/applicaties bij komen.
6
Plan van Aanpak
5
Projectgrenzen en randvoorwaarden
De producten die opgeleverd worden deze stage zijn: • Startdocument • Plan van Aanpak • Portfolio Er zijn ook een aantal randvoorwaarden aan deze stage waar rekening mee gehouden moet worden: • Einddatum van stage is 27 januari 2015 • Projecten die gemaakt worden in opdracht van ConnectSB zullen niet opgeleverd worden tijdens deze stage en vallen dus ook buiten de scope van deze stage. • De projecten die gemaakt worden zullen wel genoemd worden in het documenteren van de bewijslast voor deze stage.
7
Plan van Aanpak
6
Producten: tussenproducten en eindproducten
Tijdens de stage wordt er aan verschillende producten gewerkt, dit zijn de volgende drie: • Start document • Plan van Aanpak • Portfolio Het portfolio wordt verschillende keren ingeleverd, eerst een concept versie en daarna elke 6 weken om de voortgang van de stage aan te tonen. Het portfolio heeft dus verschillende tussenproducten, want er wordt steeds een completere versie ingeleverd totdat op 30 januari 2015 het portfolio definitief ingeleverd moet worden.
8
Plan van Aanpak
7
Kwaliteitsbewaking
De kwaliteit van mijn stage is te onder verdelen in twee categori¨en. Je hebt de categorie met de documenten en dan mijn daadwerkelijke stage bij ConnectSB. De kwaliteit van de documenten wordt grootendeels bepaald door de HZ, zij hebben een aantal regels waar aan gehouden moet worden als er een plan van aanpak en een portfolio opgeleverd moet worden. Deze moeten voldoen aan de opzet die te vinden is in het boek van Succesvol studeren, communiceren en onderzoeken - Alfabetisch naslagwerk voor het hoger onderwijs (2012) van N. van Glabbeek. Mijn documenten zullen worden beoordeeld aan de hand van naslagwerk van N. van Glabbeek. In mijn Plan van Aanpak zijn er leerdoelen bepaald en deze moeten S.M.A.R.T. zijn om hiermee zo goed mogelijk mijn stage te kunnen beoordelen. De kwaliteit van mijn stage bij ConnectSB wordt natuurlijk volledig bepaald door mij. Er zijn een aantal feedback momenten waarmee ik dus kan zien of ik goed bezig ben of niet, maar de kwaliteit wordt bepaald door mijzelf. Door goede leerdoelen op te stellen wordt er een voorbeeld gegeven van de kwaliteit van mijn stage en ik zal mij hier de gehele stage ook aan houden. ConnectSB heeft zelf ook een aantal kwaliteitseisen die nagelopen moeten worden voordat iets echt af is. Dit zijn de volgende: • Unit tests acceptatie- tests schrijven • Twee keer usability tests uitvoeren en hierbij alle feedback verwerken
9
Plan van Aanpak
8
Planning
Dit hoofdstuk zal de planning bevatten die ik voor mijn stage aan zal houden. Zoals staat beschreven in het hoodfstuk Opdrachten zijn er twee opdrachten die al bekend zijn, deze zullen op de planning staan en alle dagen waar niks voor is ingevuld op de planning zal hier aan besteedt worden. De startdatum geeft dus aan wanneer een project wordt gestart en hier zal dus elke dag die niet op de planning is ingevuld aan gewerkt worden totdat er gestart wordt met een nieuw project. Elke week wordt er een mail verstuurd naar de toegewezen stagedocent met de voortgang t.o.v. de planning. Om de zes weken wordt hierbij dan ook het portfolio opgestuurd. De startdatum van het werken aan het portfolio is 29 september. De wekelijkse mail en het om de zes weken opsturen van het portfolio zal gebeuren op de woensdag. De woensdag is ook de dag dat er aan het portfolio wordt gewerkt en aan andere school gerelateerde zaken. Datum Ma 01-09-2014 (wk36) Plan van Aanpak inleveren indien niet goedgekeurd. Ma 20-10-2014 (wk43) Inleveren definitieve versie portfolio Vr 06-03-2015 (wk10)
10
Activiteit Start stage en start met Conte Start met Profile2Connect In d Inleveren definitief portfolio in