Plan van Aanpak Project Unittest Pascal de Vilder Miguel Agterberg
13116266 12109886
Inhoudsopgave
1.
Achtergronden ............................................................................................................... 2
2.
Projectresultaat .............................................................................................................. 3
3.
Projectactiviteit .............................................................................................................. 4
4.
Projectgrenzen en Randvoorwaarden ............................................................................. 5
5.
Tussenresultaten ............................................................................................................ 6
6.
Kwaliteit ......................................................................................................................... 7
7.
Projectorganisatie .......................................................................................................... 8
8.
Planning ....................................................................................................................... 10
9.
Kosten en baten............................................................................................................ 11
10.
Risico’s ...................................................................................................................... 13
Bijlage 1: ............................................................................................................................. 14
1
1. Achtergronden Project Unittest is een intern project binnen Croon Elektrotechniek BV. Croon Elektrotechniek staat al 125 jaar aan de basis van vele technologische ontwikkelingen. Ze zijn verantwoordelijk voor de complete technische installaties in duizenden gebouwen, talloze schepen, tunnels, bruggen, sluizen, vele industriële complexen en tienduizenden andere projecten in allerlei marksectoren. Croon opereert zowel op de nationale en internationale markt. Met deze diensten dragen zij bij aan het goed én kostenefficiënt functioneren van organisaties, gebouwen, schepen, infrastructurele en industriële installaties. Het project Unittest zal worden uitgevoerd door de afdeling Techniek Technische Automatisering. Deze afdeling is dagelijks bezig om innovatieve systemen en technologieën te integreren in de bedrijfsprocessen van klanten. Dit wordt gedaan conform de internationaal gehanteerde standaarden zoals IEC 1131, ISA-88 en ISA-95. Indien gewenst, vanaf consultancy tot en met maintenance. Met een gedegen en integrale aanpak zijn zij in staat om eventuele productieverliezen of procesverstoringen tot een minimum te beperken. PLC’s zijn “programmable logic controllers”, een product wat multifunctioneel inzetbaar is voor specifiek aansturingstaken door deze te herprogrammeren. Het is hierbij de bedoeling dat er een zogenaamde unit testbench wordt gemaakt. Deze unit test moet alle aspecten die in de praktijk van de PLC voorkomen kunnen testen, om zo correcte werking te garanderen en een fout te vinden. PLC programma’s worden in veel technische apparaten binnen Croon gebruikt daarom is dit onderzoek van belang. Wanneer er een positief resultaat uit het onderzoek komt betekent dit dat veel projecten effectiever uitgevoerd kunnen worden en zal veel tijd bespaard worden. In volgende hoofdstukken zal verder worden ingegaan op de project resultaten, tussenresultaten en activiteiten die nodig zullen zijn. Projectgrenzen waarin wordt aangegeven wat nog wel en wat nog niet gedaan moet worden. Kwaliteiten waarin wordt aangegeven hoe de kwaliteit van de resultaten gewaarborgd zal worden. Verder wordt er ook nog gekeken naar de organisatie, planning, kosten en baten en risico’s.
2
2. Projectresultaat Het doel van dit project is te onderzoeken wat de mogelijkheden zijn voor unittesting binnen de projecten van Croon en een advies over de toepasbaarheid van unittesten op te stellen. Dit advies moet worden weergegeven in een rapport met bevindingen van het onderzoek, tevens moet een unit testcase worden ontwikkeld. Het advies moet antwoord geven op de vraag, Wat voor effect zal het invoeren van unittesten hebben op nieuwe projecten. Er moet worden gekeken naar de kosten van het ontwikkelen en invoeren van unit testen, en de besparingen na de invoering. Het ontwikkelen van PLC programma’s is een complex procedure. Een belangrijk onderdeel is het testen van het programma. Tijdens het testen kunnen fouten worden opgespoord en weet men dat het functioneel is. Om dit proces te verbeteren kan gebruikt worden gemaakt van unittesting. Onderdelen van een programma kunnen apart van elkaar getest worden. Dit levert veel voordelen op zoals: vereenvoudigd opsporen van fouten, documentatie en verbeterde integratie. Inmiddels is de ontwikkeling van unittesten verder ontwikkeld en zijn er tools, methoden en bibliotheken beschikbaar. Hierdoor is het hard nodig om opnieuw te kijken naar de toepasbaarheid van unit-testen binnen de projecten van Croon. Een resultaat van dit project is ook dat de Projectteamleden kennis ontwikkelen over de programmeertaal .Net en de functionaliteiten van diverse PLC’s
3
3. Projectactiviteit Het project kan worden ingedeeld in een aantal projectfases. Elke fase heeft een aantal projectactiviteiten waaraan gewerkt moet worden. Hieronder worden de Fases en de projectactiviteiten benoemd: Fase 0: Maken van een Plan van Aanpak - Verdiepen in het onderwerp unit testen. - Gesprek met opdrachtgever binnen Croon - Maken van een voorlopig plan van aanpak. - Bespreken voorlopig plan van aanpak met opdrachtgever. - Opstellen van een definitief plan van aanpak. Fase 1: Onderzoek Unit testen - Verdiepen in de programmeertaal .Net. - Verdiepen in de functionaliteiten van diverse PLC’s. - Onderzoek over de werking van unit testen. - Documentatie over de werking van unit testen verwerken in het rapport. - Onderzoek naar huidige procedure voor het schrijven/debuggen van programma’s. - Documentatie over de huidige procedure voor het schrijven/debuggen van programma’s verwerking in het rapport. - Samenstellen onderzoeksrapport als tussenresultaat - Bespreking met opdrachtgever Fase 2: Ontwikkelen Test unit case - Ontwikkelen unitcase - Ontwikkelen programma voor test - Testen unitcase - Verbeteren unitcase - Rapport samenstellen over ontwikkeling. - Handleiding unitcase schrijven Fase 3: Onderzoeken Toepasbaarheid Unit testen - Onderzoeken effect gebruiken unit testcase in project - Documentatie onderzoek effect gebruiken unit testcase in project verwerken - Onderzoeksrapport met voor- en nadelen - Rapport concrete cijfers (winst/verlies) - Bespreking met opdrachtgever - Advies maken - Concept adviesrapport maken - Bespreking met opdrachtgever
4
4. Projectgrenzen en Randvoorwaarden Er zullen een aantal grenzen worden gesteld aan het project om ervoor te zorgen dat er niet te veel of te weinig wordt gedaan. Dit zal helpen om de planning effectief te houden. Voor de eerste fase van het project zal alleen een onderzoek worden gedaan. Het is nog niet nodig om en testcase te maken. Na de eerste fase kan worden bepaald of doorgaan met het project rendabel is. Er zal alleen onderzoek worden gedaan naar unit testen, andere vormen van testen hoeven niet onderzocht te worden. In de tweede fase zal een test unitcase worden ontwikkeld, deze unitcase hoeft niet compleet te zijn, het hoeft alleen geschikt te zijn voor vooraf gekozen project, waarop het getest zal worden. Het project begint op 27 januari, vertraging van de startdatum heeft als gevolg dat enkele teamleden geen project hebben en zullen dus extra kosten veroorzaken. De geplande einddatum van het project is vrijdag 1 augustus. Verschuiving van de deadline is alleen acceptabel ten gevolge van een veranderd startdatum. Voor het project is een budget van 420.000 euro begroot, (zie het hoofdstuk Kosten en Baten), dit budget mag niet worden overschreden. Er zijn een aantal zaken die voor het project van belang zijn. Er moet voor een geschikte werkruimte ter beschikking worden gesteld waarin het team kan overleggen en werken. Voor het onderzoeken kan ook gebruikt worden gemaakt van flexwerken. Het project kan alleen slagen als er voldoende mensen beschikbaar zijn, in totaal 4 teamleden nodig zijn en een teamleider.
5
5. Tussenresultaten Aan de hand van de projectactiviteiten kunnen tussenresultaten worden bepaald. Fase 0:
Gesprek met opdrachtgever van Croon gehad Definitief plan van aanpak geschreven
Fase 1:
Rapport met documentatie van werking test unit Rapport met documentatie van procedure van schrijven en debuggen van programma’s Onderzoeksrapporten naar opdrachtgever(Croon) gestuurd
Fase 2:
Testcase theorie geschreven Programma voor testcase opgeleverd Rapport over ontwikkeling van testcase Rapport over werking van testcase Handleiding voor testcase
Fase 3:
Onderzoeksrapport effectiviteit unit testcase Adviesrapport Rapport over uiteindelijk kosten en baten project Eindgesprek met opdrachtgever gehad
6
6. Kwaliteit Omdat de conclusies van de onderzoeken van dit project lastig of niet te kwantificeren zijn, draait de kwaliteitscontrole voornamelijk op documentatie van de genomen stappen en de feedback hierop. Om de kwaliteit van de tussenresultaten te waarborgen, moeten alle (onderzoeks)verslagen aan de volgende voorwaarden voldoen:
Het doel van het onderzoek moet worden gesteld De onderzoeksmethode moet worden beschreven, dit moet, indien van toepassing, bevatten: - De verrichte handelingen - Gebruikte software - Meetopstelling De rapporten worden, zowel tussentijdig als op het eind, teruggekoppeld aan de opdrachtgever, die dan kan beoordelen of de kwaliteit voldoet. - Deze terugkoppeling naar de opdrachtgever vindt 1x per week plaats in de vorm van weekrapporten. - Terugkoppeling komt ook als een tussenrapport geschreven is.
7
7. Projectorganisatie Project Unittest zal onder leiding van een projectleider en 4 groepsleden worden uitgevoerd. De taak van de projectleider is het bewaken van de voortgang, het maken van de werkplanning, het aansturen van de groepsleden en wanneer nodig hulp bieden bij problemen, en het contact met de opdrachtgever. Het is van belang dat de projectleider tijdig geïnformeerd wordt over knelpunten door de Projectteamsleden. Zij dragen hier zelf verantwoordelijk voor. Deelresultaten worden besproken met de opdrachtgever. Mogelijke vertraging en bijstelling van de aanpak worden door de projectleider met de opdrachtgever besproken. Op basis van de projectactiviteiten is gekeken welke expertise nodig is voor de realisatie van de activiteiten. Op basis hiervan is het projectteam samengesteld. Alle projectteamleden zijn in dienst bij Croon. Opdrachtgever: Naam: Jeroen Hooft Adres: Van Breestraat 145, Amsterdam Telefoonnummer: 020-3536852 Emailadres:
[email protected] Beschikbaarheid: Maandag t/m Vrijdag van 9:00 tot 18:00 Functie: Afdelingshoofd Technische automatisering Projectteam: Naam: Patrick van den Sloot Adres: Rivierpad 45, Delft Telefoonnummer: 015-8279852 Emailadres:
[email protected] Beschikbaarheid: Maandag t/m Donderdag van 9:00 tot 18:00 Vrijdag van 9:00 tot 15:00 Functie: Projectleider Naam: Adres: Telefoonnummer: Emailadres: Beschikbaarheid: Functie:
Anneliek Scholenbeek President Kennedystraat 13, Nootdorp 015-3642618
[email protected] Maandag t/m Vrijdag van 9:00 tot 18:00 Senior Engineer en projectsecretaris
Naam: Adres: Telefoonnummer: Emailadres: Beschikbaarheid: Functie:
Max Copper Fluitekruid 42, Delft 015-2383695
[email protected] Maandag t/m Vrijdag van 9:00 tot 18:00 Programmeur en Notulist
8
Naam: Adres: Telefoonnummer: Emailadres: Beschikbaarheid: Funtie:
Frederiek de Groot Pootstraat 85, Delft 015-9684824
[email protected] Maandag t/m Woensdag van 9:00 tot 18:00 Vrijdag van 9:00 tot 18:00 Programmeur
Naam: Adres: Telefoonnummer: Emailadres: Beschikbaarheid: Functie:
Arie Noot Bentelosstraat 53, Den Haag 070-4472953
[email protected] Maandag t/m Vrijdag van 9:00 tot 18:00 Informatieanalist
Team afspraken: Werkafspraken: Op de werkplek zal een agenda aanwezig zijn, de groepsleden kunnen hier afspraken en deadlines in plaatsen. Vakantiedagen en verlof kunnen alleen in overleg met de projectleider worden aangevraagd, bijvoorkeur tenminste 2 weken van te voren, zodat hier bij planning rekening mee gehouden kan worden. Overleg: Elke Week zal op donderdag om 9:00 uur gezamenlijk worden vergaderd. Tijdens de vergadering kunnen de groepsleden over de voortgang van het project praten, en eventuele problemen naar voren brengen. De notulist houd in het kort bij wat besproken is en zet gemaakte afspraken in een verslag. Ziekte: Bij ziekte moet projectleider op de hoogte worden gesteld via telefoon of mail. Bij langdurige ziekte komt er vervanging voor de projectmedewerker..
Communicatie: De Projectleider heeft de taak om de opdrachtgever op de hoogte te stellen van de voortgang. Dit zal doormiddel van weekverslagen en tussenrapporten gebeuren. In weekverslagen zal kort worden samengevat welke activiteiten zijn verricht en de vooruitgang ten opzichte van de planning. Alle documenten dienen in een archief te worden ondergebracht. Dit gebeurt zowel digitaal als op papier. Definitieve documenten dienen als PDF opgeslagen te worden
9
8. Planning
10
9. Kosten en baten Bij ieder project zal kosten en baten een belangrijk onderdeel vormen. Er kan worden gezien welke investering gemaakt zal moeten worden en wat de opbrengst zal worden. In dit hoofdstuk zullen de kosten en baten van dit project worden toegelicht. Kosten Ieder Projectteamlid werkt 40 uur per week tijdens de uitvoering. Het project heeft een looptijd van 6 maanden. Dit betekent in totaal 26 weken. Uitgegaan wordt van 4 weken verlof (inclusief feestdagen). uur per werknemer of een totaal van uur. Uitgegaan wordt van een gemiddeld uurtarief van € 70,= per uur (geen verschil in tarieven tussen de verschillende Projectteamleden). Dit is in overeenstemming met de interne begrotingsrichtlijnen van Croon. De kosten van het huren/onderhouden van de werkruimte zal €400 per week kosten, bij deze kosten zijn computers inbegrepen. Om betrouwbare informatie te verkrijgen zal toegang tot een database nodig zijn, hiervoor is eenmalig een bedrag van €1000 nodig. Bij het maken van een testcase zal benodigde software ter beschikking moeten worden gesteld, een licentie van 12 maanden zal €3000 kosten. Voor kantoorartikelen, het printkosten en andere zaken zal een bedrag van €60 per week nodig zijn. Er wordt een post onvoorzien begroot van 10%. Deze is post in opgenomen om mogelijk onverwachte uitgaven zoals kosten voor extra programmatuur , inhuur deskundigen en om extra inzet bij vertraging op te vangen.
Mensuren/uur Werkruimte/week Database Software Drukkosten/week Onvoorziene uitgaven Totaal Kosten
Kosten Aantal Totaal € 70,00 4400 € 308.000,00 € 400,00 26 € 10.400,00 € 1.000,00 1 € 1.000,00 € 3.000,00 1 € 3.000,00 € 60,00 26 € 1.560,00 10,00% € 32.396,00 € 356.356,00
Baten 11
De opbrengsten van dit project zullen zijn in de vorm van kostenbesparing. Wanneer het project succesvol is afgerond kan worden besloten om unit testen in te voeren en zullen de kosten van alle projecten met PLC’s worden verlaagd. De baten zijn op het moment nog niet in te schatten.
12
10.
Risico’s
Tijdens het project zullen een aantal risico’s aanwezig zijn die vertraging kunnen opleveren, we maken onderscheid tussen interne en externe risico’s. De volgende risico’s hebben voornamelijk gevolgen op ons project. Intern: -
-
Definitieve deadline o Een definitieve deadline kan ervoor zorgen dat een project wordt gehaast om op tijd met een eindproduct te komen. o Langere doorlooptijd nodig om voldoende kwaliteit te leveren. Onvoldoende expertise binnen het bedrijf aanwezig. o omdat dit een nieuw onderwerp is kan het zijn dat buiten het bedrijf deskundigen moeten worden ingehuurd. Dit brengt kosten met zich mee.
Extern: -
Onduidelijke randvoorwaarden o Omdat het onderwerp nieuw kan het zijn dat de scope van het project breder is dan nu in het plan van aanpak is gedefinieerd.
Er is op een risico analyse gemaakt voor het project, hieruit is gekomen dat er een risicopercentage van 18% is, dit valt in een acceptabele range. Een ingevuld spreadsheet is te vinden in bijlage 1.
13
Bijlage 1: Categorie Risico Tijdsfactor 1 Geschatte looptijd van het project
Factor Waarde * ** maak keuze 3 - 6 maanden 1
4
4
2
Kent het project en definitieve deadline
Ja
2
4
8
3
Is de tijd voldoende om project te realiseren
Voldoende
1
4
4
maak keuze 1 0
4
0
1
0
2
0
Geheel nieuw
3
5
15
Minimaal
1
5
5
Nee
0
5
0
Geïnteresseerd
1
5
5
Zijn er deelprojecten, is de voortgang afhankelijk van de coordinatie Nee 1 hiertussen De Projectteam maak keuze 11 Welke medewerkers werken aan het project mee Voorn. interne 0
3
3
4
0
12
Wat is het geografische spreiding van de projecten
1-3
1
2
2
13
Aantal projectleden dat op piektijden > 80% betrokken is
1-5
0
5
0
14
Verhouding materiedeskundigen tov projectdeskundigen
Goed
0
5
0
15
Nemen gebruikers deel aan de Projectteam
In sterke mate
0
3
0
De projectleiding 16 Is de projectleiding materiedeskundig
maak keuze Zeer deskundig 0
3
0
17
Hoe deskundig is de projectleiding mbt de projectplanning
Redelijk deskundig
2
3
6
18
Hoeveel ervaring heeft de projectleider met projecten als deze
Redelijk ervaring
veel 1
3
3
19
Hoe deskundig zijn de adviseurs op het te onderzoeken gebied
Zeer deskundig
0
5
0
20
Hoe deskundig zijn de materiedeskundigen op het te onderzoeken Zeer deskundig gebied
0
5
0
21
Hoe betrokken zijn de verantwoordelijke lijnmanagers bij het project
0
5
0
22
Is de kans groot dat de samenstelling van de Projectteam wijzigt tijdens het project
0
5
0
23
Worden door de Projectteam standaardmethoden gebruikt
0
4
0
Complexiteit van het project 4
Zwaarte ** Risicotot.
Aantal functionele deelgebieden dat betrokken is 5
Aantal functionele deelgebieden dat gebruik gaat maken van de resultaten
6 Gaat het om een aanpassing of een nieuw project 7 8 9
In hoeverre zullen bestaande verantwoordelijkheden moeten wijzigen Zijn er andere projecten afhankelijk van dit project Wat zal de houding zijn van de gebruikers
10
Sterk betrokken
Ja, alleen maar
14
Vervolg risico-analyse
Categorie Duidelijkheid van het project 24 Zijn probleem en projectleden
Risico doelstelling
voldoende
bekend
bij
Factor Waarde * ** maak keuze alle Ja, iedereen 0
Zwaarte ** Risicotot. 5
0
25
Is het onderzoeksgebied nauwkeurig vastgelegd
Redelijk
2
5
10
26
Is er voldoende afbakening met andere projecten
Voldoende
0
4
0
27
Is er voldoende tijd gepland voor afstemming en besluitvorming
Voldoende
0
4
0
28
Zijn de randvoorwaarden duidelijk
De meeste wel
1
4
4
29
Werken de randvoorwaarden beperkend genoeg
Redelijk
2
5
10
Totaal Risicopercentage ***
79 18%
15