Uitbesteden / outsourcing
19 mei 2009 00:00
Persoonlijk vind ik het moeilijk om het ontwikkelen van software uit te besteden. Waarom? Niet omdat ik denk dat ik het beter kan (al hoewel..), wel omdat ik vind dat je inhouse moet ontwikkelen wanneer het de core van je applicatie is. Niks ergers dan, wanneer iets niet werkt, je afhankelijk bent van anderen en je totaal niet weet waar je het zoeken moet. Een externe partij het werk laten doen kost zo’n 20 euro per uur en dat is wel heel erg goedkoop en verleidelijk.
Dus vorige week voor het eerst een stuk programmatuur / script laten ontwikkelen in het buitenland. Ik kreeg een kleine opdracht van een bevriende relatie en de invulling daarvan leek me heel geschikt om gedeeltelijk uit te besteden.
Eerst heb ik een aantal uur besteed aan het schrijven van een goede opdracht omschrijving (de ervaring heeft me geleerd dat het hebben van verwachtingen, alleen maar leidt tot teleurstellingen). De opdracht bestaat dan ook puur uit eisen en feitelijk wensen welke meetbaar zijn, zodat ik naderhand stapsgewijs de opdracht kan nalopen en afvinken wat wel of niet goed is gedaan. Voor hen ook zo prettig.
Nou had ik zelf weinig kennis over de betreffende database taal (PL/PGSQL), om het script zelf te kunnen maken, maar ik weet er voldoende van om in te schatten dat het geen gemakkelijk script is om te maken. Toen ik dan ook de offerte terug kreeg dacht ik echt:”whoow da’s snel”. In een paar uur tijd zouden ze een script schrijven waar ik zelf, voornamelijk om uit te zoeken hoe ik bepaalde dingen precies moet doen, gerust een dag of vier mee bezig zou zijn. Maar zelfs als ik het helemaal perfect kan, zou het mij niet lukken in die paar uur van hun. Nee, dat leek me niet echt reëel. Immers je moet het ook testen en daar gaat altijd heel veel tijd in zitten.
Dus per mail m’n akkoord gegeven en na een dag ontving ik het eerste stukje (van de 10). Dat werkt perfect en toen….. wachten, wachten en nog eens wachten. Wat gemaild over en weer en ja het is toch wel een lastig script (joh!), etc etc.
Ondanks toezeggingen, nu een volle week later, wacht ik nog steeds. Gelukkig geen aanbetalingen gedaan, maar outsourcing heeft even afgedaan bij me.
Als “noodoplossing” heb ik de betreffende scripts in PHP geschreven (en getest). Dat werkt perfect, maar voor de echte perfectie ben ik me de betreffende database taal (PL/PGSQL) toch aan het leren. Moet zeggen, het gaat supergoed en heb het bijna af.
Gepost door Willem-Peter Perquin
(SEO Validator)
Reacties
@learco,
Klopt php communiceert ook prima met Oracle (OCI8). Waarom ik Oracle niet gebruik? Niet voldoende ervaring mee. Het overzetten van PL/PGSQL naar PL/SQL moet te doen zijn, dus misschien over een paar maanden..... Een ander argument is dat geen enkele hoster (thans ik ken ze niet) Oracle erbij levert.
Met het op die manier uitbesteden kost het je uiteindelijk inderdaad meer dan het zelf doen. Je moet natuurlijk wel de kennis in huis hebben, maar dat spreekt voor zich.
Wat is er mis met PL/SQL van Oracle? De meest gebruikte en meest uitgebreide databasetaal die er is. Daarnaast is het tegenwoordig ook niet meer zo'n dure oplossing. Er is ook een gratis versie.
Jammer dat de eerste ervaring met outsourcing tegenviel. Welk land betrof het hier? Als het te goed klinkt om waar te zijn is het dat meestal ook. Slechte ervaringen komen veelal voort uit experimenten met 'bottom dollar' leveranciers. Uit cijfers van de branchevereniging blijkt dat ongeveer 50% van de manager die uitbesteedt niet tevreden is met de kwaliteit van het werk. Dus je bent geen uitzondering :-)
In mijn ervaring werkt het uitbesteden van kleine stukken code slecht. Outsourcing slaagt WEL als opdrachtnemer fungeert als een echt verlengstuk van de organisatie van de opdrachtgever. Het is niet zozeer de IT kant die lastig is, als wel de communicatie kant. Daarvoor moet je elkaar wat beter kennen.
Beste Bram,
MySQL is een alternatief, maar niet mijn favoriet als je kijkt naar zaken als performance en schaalbaarheid en nog een zwik andere punten. De keuze is een discussie op zich, waarbij je heel goed moet weten WAT je wilt dat de database doet. Desnoods doe je een paar tests. Dankzij Innodb en de meest recente versies kan mysql al heel veel overigens.
Postgresql gebruik ik voor zowel de standaard SQL uitvoer van queries en de hele complexe varianten, als ook voor de triggers, functions en procedures. Zie de vele vergelijkingen tussen mysql en postgresql op het www, postgresql is eigenlijk altijd de betere keuze. Wil je in een database geavanceerde scripts maken met bijvoorbeeld loops dan heb je een programmeertaal nodig. De standaard SQL taal ondersteund dat niet. Voor Postgresql kun je kiezen, maar Pl/Pgsql is toch wel de meest gebruikte. Hiermee wordt het mogelijk om de database allerlei zaken te laten doen die je anders buiten de database had moeten ontwikkelen in bijvoorbeeld PHP of Java. Persoonlijk vind ik dat je de uitvoer daar moet neerleggen waar het, het beste tot zijn recht komt (lees snel).
(keertje erover babbelen is prima)
Komt me bekend voor en ben het met je eens. Als software je core business is, vind ik dat je het zelf moet ontwikkelen. Dan kun je er achter staan en garanderen dat het goed is. Bovendien ken je je eigen code door en door, zodat je bij calamiteiten of gewenste wijzigingen direct actie kunt ondernemen.
Waarom heb je per se PL/PGSQL nodig? En ik neem aan dat je alternatief MySQL is?
Bram | 20 mei 2009 02:15:09
Plaats een reactie