Toon posts:

Programming FAQ - Hoeveel kan ik vragen voor ...?

Pagina: 1
Acties:
  • 2.299 views sinds 30-01-2008

Onderwerpen


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 05-06 10:41

NMe

Quia Ego Sic Dico.

Topicstarter
Mede-auteur:

Anoniem: 3057

Hoe bereken ik een redelijke prijs voor mijn software?

Met dank aan MrX. :)

Als een programmeur een offerte moet geven aan een klant, weten velen niet waaraan ze moeten denken (ze zijn tenslotte programmeur, geen sales). Daarom probeer ik hier wat aangrijppunten te geven.

Inhoudsopgave
« · ^

Voorwaarden voor offerte
Voordat je een offerte gaat afgeven moet je natuurlijk heel goed weten wat er van jou verwacht wordt. Zorg dus dat je informatie hebt voor je een offerte afgeeft.

Maak een duidelijke omschrijving van het te maken product, laat deze door de klant doorlezen en aftekenen. Het is erg belangrijk dat de klant de omschrijving begrijpt, ermee eens is, en als teken daarvan een handtekening zet. In de praktijk zul je zien dat er in de loop van het project vaak klantenwensen veranderen. Als je nooit precies hebt omschreven wat je voor welke prijs zou gaan bouwen, is het ook lastig om meerwerk te berekenen en betaald te krijgen.

Als het stuk software redelijk groot is, maak dan ipv een omschrijving een formeel functioneel ontwerp. Bepaal ook welke activiteiten er naast het maken van de software worden verwacht, zoals het installeren van de software, support, training van gebruikers, schrijven van documentatie, etc. Bespreek ook verdere voorwaarden, zoals eigendom van source, intellectueel eigendom, etc.

Let wel dat de klant ook moet betalen voor het werk dat je in deze fase verzet. Als je dus niet zeker bent dat je het project binnenhaalt, stop er dan niet te veel onbetaalde tijd in. Als vooraf niet alle informatie beschikbaar is, geef dan nooit een prijs af. Als alternatief kan je voorstellen om per kleiner onderdeel van de software een prijs af te geven, zodat je minder risico loopt, of stel voor om gewoon per gewerkt uur betaald te worden.

Prijsberekening
Er zijn 3 factoren van groot belang voor het bepalen van een prijs:
  1. Hoeveel kost jou het om de software te maken?
  2. Wat is de prijs van soortgelijke producten op de markt?
  3. Hoeveel is deze opdracht waard voor mijn bedrijf?
« · ^

Tijd & Resources
Om te bepalen wat jouw kosten zijn, moet je aan de volgende punten denken:
  1. Hoeveel uren kost het om deze software te schrijven?
  2. Wat kost een uur van mijn tijd?
  3. Is er sprake van hergebruik van eerder gemaakte software?
  4. Wat is het risico dat het mis gaat, en hoeveel kost dat mij?
Urenschatting
Je kan op grofweg 2 manieren een urenschatting maken:

1. Formele rekenmethodes: er zijn rekenmethodes om tijd te schatten.
Mij is de 'functiepuntanalyse' bekend. Daarbij ga je voor ieder scherm, iedere tabel, etc bepalen hoe 'zwaar' de functionaliteit is, en dat druk je uit in functiepunten. Vervolgens vermenigvuldig je dit met een ervaringscijfer, dat uitdrukt hoeveel uren het kost om 1 functiepunt te realiseren.

Overigens zijn dit hele uitgebreide verhalen, zijn er hele dikke boeken over, en meestal beter geschikt voor grote softwareprojecten.

2. "Work breakdown"
Maak een lijst met alle taken die je moet doen, en schat per taak hoeveel tijd het kost om het te maken. Tel alles bij elkaar op, en je hebt een grof idee van hoeveel tijd het geheel gaat kosten.

Voor beide methodes is het noodzakelijk dat je uit ervaring weet hoeveel tijd iets kost. Als je die ervaring niet hebt, kan je er wel eens behoorlijk de fout mee ingaan. Vaak zul je veel kleine dingen die veel tijd kosten vergeten, en zul je ook veel te optimistisch zijn. Hou daarom als beginner rekening met een faktor 2 tot 3 keer zoveel tijd als je (optimistisch) zou schatten.

Overigens is dit heel persoonlijk. Afhankelijk van de ontwikkelomgeving en persoonlijke ervaring en vaardigheden kan het soms 3 keer zo lang duren om hetzelfde te maken. Ga dus nooit af op hoeveel tijd een ander zegt dat het hem/haar zou kosten.

Tarief
Wat kost ik per uur? Ook daarvoor zijn er 2 factoren:

1. Wat moet ik verdienen?
Dit is heel persoonlijk. Je moet natuurlijk jouw kosten dekken, bijv. aanschaf soft- en hardware, werving klanten, boeken, telefoonkosten, etc. Zorg dus dat je een goed idee hiervan hebt. Daarnaast heb je een verwacht inkomen. Als fulltime programmeur zal je iets anders verwachten dan als bijbaantje als student bijvoorbeeld. Wees gewoon redelijk in je wensen.

De kosten en je gewenste inkomsten moeten opgebracht worden door een verwacht aantal uren werk. Daarbij moet je een redelijke inschatting kunnen maken van hoeveel werk je zult binnenhalen. Je loopt altijd risico dat je werkvoorraad opdroogt, dus hou daar rekening mee.

Verder zal je nooit 100% declarabele uren draaien. Je hebt af en toe vakantie nodig, zal klanten moeten werven, offertes moeten maken, studeren op nieuwe technieken, belastingpapieren moeten invullen, etc. Ook al verdien je hier niet direkt aan, deze uren werk je wel, dus je moet ze bij de verwachte uren werk meerekenen.

Bereken jouw uurprijs op basis hiervan door (kosten + gewenste inkomsten) / verwacht aantal uren werk. Zorg dat dat allemaal op dezelfde tijdsbasis is (dus bijv. inkomen, kosten en verwacht werk allemaal per maand, of per jaar).

2. Wat is de marktprijs voor iemand van mijn niveau?
Kijk eens om je heen naar wat concurrenten rekenen per uur voor iemand van jouw niveau. Ga daarbij niet af op 1 of 2 personen, aangezien omstandigheden heel erg kunnen verschillen. Als er weinig werk is, zullen prijzen laag zijn. Verder kunnen bedrijven met erg afhankelijke klanten meer rekenen dan wanneer je klant de leveranciers voor het uitzoeken heeft.

Als jouw uurprijs veel onder de marktprijs ligt, kies dan voor een hoger tarief. Als jouw prijs boven de marktprijs ligt heb je een probleem, en zal je minder inkomsten moeten accepteren of je kosten drukken.

Hergebruik software
Soms heb je al delen van de te leveren software gebouwd, of zelfs de hele software. In dat geval zal je de kostprijs van die delen moeten verdelen over het aantal keer dat je het gebruikt hebt of verwacht te gaan leveren.

Stel dat je een CMS systeem hebt gemaakt voor 15.000 Euro, en je levert het aan 3 klanten, en je maakt voor 1 klant een aanpassing voor 3.000 Euro, dan zou de totale kostprijs voor die klant 15.000/3 + 3.000 = 8.000 Euro zijn.

Risicomanagement
Meer dan de helft van alle software projecten is over budget en te laat, dus er gaat nogal iets mis. Daarom moet je ook hier rekening mee houden, dus je moeten proberen uit te zoeken wat het risico is dat er iets fout gaat, en hoeveel dit zou gaan kosten.

Ook hierbij is ervaring van groot belang. Daarom is het zinvol om niet alleen vooraf aan een project te schatten, maar achteraf ook te evalueren hoeveel tijd / resources het nou werkelijk heeft gekost. Zo kan je een gemiddelde risico opslag over ieder project berekenen. Als je onervaren ben met schatten, zorg dan ook dat je risicomarge voldoende is om misschattingen op te kunnen vangen.

Verder kan je per project ook bepaalde risico's identificeren. Als je bijvoorbeeld weinig tijd hebt mogen besteden aan het functioneel ontwerp, dan is de kans groter dat het project de mist in gaat. Als je een nieuwe techniek moet gebruiken (bijv. als je voor de eerste keer een webservice bouwt), dan is voor dit specifieke onderdeel een extra risico-opslag zinvol.

« · ^

Marktprijs software
Kijk naar de prijs van gelijksoortige software in de markt. Dit is vaak moeilijk te weten te komen, aangezien concurrenten jou niet snel aan hun prijzen willen leveren, tenzij het geen maatwerk is, maar standaard software. Standaardsoftware is vaak goedkoper dan maatwerk vanwege de lagere kostprijs door hergebruik (zie hierboven).

Vergelijk jouw prijs dus met vergelijkbare standaardsoftware, en bereken jouw prijs eens met uurlonen van concurrenten, en kijk hoe jij daarmee vergelijkt. Als je goedkoper bent, is dat goed, en kan je evt. de prijs ophogen. Als een klant een stuk software koopt wat bijv. een besparing van 50.000 Euro oplevert, dan is het onlogisch om je software voor slechts 5.000 Euro te verkopen. Het is tenslotte veel meer waard in de ogen van je klant.

Als je duurder bent, probeer dan 'unique selling points' voor jouw software te bedenken, die de klant kunnen overtuigen om jouw software te kopen. Als die er niet (voldoende) zijn, zul je jouw prijs moeten verlagen. Bedenk echter wel dat jouw business gevaar loopt als je structureel beneden jouw prijs moet verkopen.

« · ^

Waarde van project voor bedrijf
Het is altijd zinvol om te overwegen wat een project waard is voor jouw bedrijf. Hoewel de meeste projecten gewoon een klus en dus inkomsten zijn, zijn sommige projecten meer waard voor jouw bedrijf dan wat de klant ervoor zou willen betalen.

Denk daarbij aan de volgende factoren:
  1. Opdoen ervaring
  2. Opbouw klantenkring & portfolio
  3. Zekerheid werkvoorraad
  4. Ontwikkeling nieuw product / dienst
Opdoen ervaring
Ervaring is simpelweg geld waard. Je efficienty zal verhogen, kennis zal uitgroeien en je zal leren van je fouten. Zeker met nieuwe technologieen is het zinvol om ervaring op te doen, en dan kan dat van invloed zijn op jouw uurprijs. Geef een korting, en zie dit als investering in je eigen marktwaarde.

Opbouw klantenkring & portfolio
Nieuwe klanten werver kost veel meer tijd en inspanning dan het behouden van klanten. Daarom is het zinvol om, om nieuwe klanten voor je te winnen, een korting te geven.

Daarnaast zijn sommige klanten extra waardevol om te hebben, zeker als ze naamsbekendheid genieten, of een markktleider zijn in een bepaalde industrie. Het feit dat zij vertrouwen getoond hebben door jou een opdracht te gunnen is voor andere nieuwe klanten soms net dat wat nodig is om hun over de streep te kunnen trekken. Ook voor belangrijke klanten is een korting een investering in je marktwaarde.

Zekerheid werkvoorraad
Een grote, langdurige opdracht kan extra waardevol zijn. Zeker in magere tijden is de zekerheid van een ruime werkvoorraad belangrijk.

Ontwikkeling nieuw product / dienst
Als je een nieuw product of nieuwe dienst wil ontwikkelen, maar je hebt er geen klant voor, dan zal je eerst zelf alle kosten op moeten hoesten, en heb je daarna nog de onzekerheid of je het wel verkocht krijgt. Als je echter een klant binnenhaalt die hier wel voor wil betalen, is dat extra waardevol. Je hoeft zelf niet alle kosten zelf voor te schieten en je hebt direkt een klant ervoor. Bovendien is de implementatie voor die klant direkt een Proof of Concept voor andere klanten.

« · ^

Conclusie
Niemand kan jou vertellen hoe duur jouw software zal moeten zijn, want dat is veel te veel afhankelijk van kennis die alleen jij hebt.

Belangrijk zijn de volgende punten:
  • Zorg dat je zo veel mogelijk informatie ophaalt, vastlegt en overlegt met de klant voordat je een prijs afgeeft.
  • Doe geen gok naar een prijs, maar bepaal het op een gestructureerde wijze. Als het fout gaat, kan je achteraf dan tenminste vaststellen waarom.
  • Vergelijk je prijs zoveel mogelijk met de concurrerende softwaremakers en software, en pas de prijs evt. aan.
  • Maak gebruik van je ervaring met vorige projecten, en evalueer een project achteraf, zodat je ervaring groeit.

[Voor 120% gewijzigd door NMe op 05-11-2008 17:26]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee