Quelles sont vos obligations lors de la facturation à l'heure par rapport à la facturation par projet?
Essentiellement le même. Sois professionnel.
Si vous acceptez de prendre un projet, donnez une estimation approximative que cela pourrait prendre 10 jours pour vous de travailler et facturer £ X par heure - êtes-vous obligé de travailler gratuitement après ces 10 jours et que vous n'avez toujours pas réussi pour terminer votre projet en raison de problèmes imprévus?
Non - tant que c'est à peu près 10 jours, alors ça va. Je définirais à peu près 10 jours comme n'importe où entre 50 et 120 heures sur les bords extrêmes. Tout ce qui dépasse 120 heures (un dépassement de 50%) est à peu près au-delà du pâle.
Bien que les "problèmes imprévus" laissent beaucoup de flou. Les professionnels expérimentés anticipent beaucoup plus de problèmes que les nouveaux développeurs. Cependant, si le client sait que vous êtes un nouveau développeur (et sait qu'il obtient une remise importante à cause de cela), il y a une marge de manœuvre ici.
Que se passe-t-il si vous avez livré le projet mais que des bogues sont détectés - devez-vous les corriger gratuitement si les 10 jours sont écoulés ou devez-vous facturer votre client?
Bugs? Oui, vous devez les réparer gratuitement. Vous n'êtes pas payé pendant 10 jours pour produire un code cassé.
Maintenant, encore une fois, "bug" est un peu vague. Il y a des bugs show-stopper (comme, le programme ne fonctionne pas - évidemment votre faute) et des bugs de bord (le programme tronque le texte sur Windows localisé en turc avec IME chinois activé - pas vraiment raisonnable). La plupart se situent quelque part au milieu, mais la charge de la preuve vous incombe.
Il y a aussi des bogues de spécification - ce sont les plus difficiles. Vous devrez utiliser votre jugement pour savoir si vous auriez dû raisonnablement prévoir, remettre en question ou impliquer le changement de spécification. Encore une fois, je vous imposerais le fardeau de la preuve.
Pour un projet de 10 jours (80 heures) avec un développeur vert, 10 à 15 heures supplémentaires de corrections de bogues ne seraient pas trop demander. N'importe quoi, j'essaierais de trouver un moyen de paiement - même si je ferais probablement encore 5 à 10 heures gratuitement avant de renvoyer le client.
De plus, pour le projet ci-dessus, quel devrait être le résultat lorsque vous commencez le projet, mais après les 10 jours pour une raison quelconque, vous devez abandonner et dire à votre client que vous ne pouvez plus le faire? Je me rends compte que cela ne fait rien pour bâtir votre réputation et votre relation avec le client, mais êtes-vous obligé de rembourser l'argent qui vous a été versé ou vous livrez-vous simplement le code source à moitié / presque terminé et les aidez-vous à trouver quelqu'un d'autre pour le compléter?
Vous rendez l'argent. Si vous ne pouvez pas terminer le projet, il est probable que vous ne puissiez pas juger à moitié terminé. Si le client vous a embauché, il est encore plus probable qu'il ne puisse pas juger à moitié terminé. Si vous pouvez trouver quelqu'un d'autre pour le terminer, vous pouvez leur sous-traiter - la différence entre ce qu'ils vous facturent et ce que vous avez déjà fait est votre profit (ou perte).
En fin de compte, il est souvent préférable de se plier au client et de le noter comme une leçon apprise. Après un certain temps, vous pourrez repérer les «clients problématiques» et les éviter (ou les augmenter) au début. Vous apprendrez également à estimer un peu mieux, à intégrer les coûts de correction de bogues dans votre tarification, etc.
En tant que développeur étudiant, vous avez une certaine latitude. Personne n'est susceptible de vous poursuivre en justice pour la somme dérisoire que vous avez facturée pour un projet de 10 jours. Vous n'obtiendrez plus jamais d'affaires de ce client (ou de ses amis) - mais, comme ils ont embauché un étudiant développeur, il est probable qu'ils ne veulent qu'une main-d'œuvre bon marché et ne comprennent pas ce qu'il en coûte d'embaucher un bon développeur de toute façon. Vous ne perdrez pas grand-chose à l'avenir, à l'exception des maux de tête, mais au prix d'une conscience propre.
Mon conseil? Il suffit de terminer - vous vous sentirez mieux, le client se sentira mieux et vous serez un meilleur développeur et homme d'affaires pour cela. Ce n'est pas comme si cela valait des années de travail - et vous avez tous vos amis chez Stackoverflow et Stackexchange pour vous aider. ;)