Le tarif va dépendre de :
1. De votre relation avec votre client
2. du domaine d'expertise (app d'appel d'API simple, conception de jeux, modélisation 3D, etc.)
3. de votre niveau d'implication (vous contentez-vous de coder un wireframe parfait en pixels ? Ou définissez-vous également l'aspect et la convivialité de l'application ?)
4. Votre niveau d'expérience
J'ai'vu des tarifs aux États-Unis d'une moyenne de 70 $/heure à 250 $+/heure selon le domaine de spécialité.
Il y a 2 façons d'aborder cela :
Base par projet
J'aime utiliser cette approche lorsque :
a. Le client a un budget fixe en tête
b. Le projet est petit et bien cadré (wireframes, ensemble de fonctionnalités exactes, délai réaliste)
Si une application a un composant serveur qui'est géré par une équipe ou un développeur secondaire, assurez-vous de le prendre en compte dans votre calendrier et votre contrat.
Une fois que vous avez les fonctionnalités, commencez par les décomposer en jalons. Idéalement, vous voulez que les jalons soient décomposés de sorte que le premier produise réellement quelque chose qui soit visible pour votre client (c'est-à-dire que le jalon 1 ne devrait pas être 'setup model objects&apos ;). Cela aidera à garder votre client heureux et engagé.
Aussi, ayez votre structure de paiement décomposée en :
1. Acompte (minimum pour démarrer le projet)
2. Jalons 1, 2, 3 (J'essaie personnellement d'éviter plus de 4 si je peux l'aider)
3. Paiement d'achèvement (Cela peut être la soumission à l'AppStore)
Une fois terminé, vous pouvez éventuellement négocier un contrat secondaire pour la maintenance. J'aime généralement faire cela séparément, car j'ai une bien meilleure idée de la quantité exacte de travail nécessaire à la maintenance après la fin d'un projet.
Base horaire
Ceci est plus simple et est excellent pour les apps en cours qui sont de la maintenance ou les apps non cadrées. Lorsque je fournis des feuilles de temps, j'aime fournir un nombre exact d'heures travaillées chaque jour et également des références de tickets (JIRA, Trello, etc.) qui'sont visibles pour le client/développeur manager afin qu'ils sachent que je'ne joue pas à Fallout pendant que je pointe des heures.
Une autre recommandation ? Assurez-vous de mettre une clause de résiliation du client lors de la négociation de votre contrat. J'ai eu des expériences où j'ai travaillé avec un ingénieur serveur en tandem, et les retards de leur côté ont fait que mes jalons ont été retardés, entraînant des retards de paiement et ainsi de suite. Le stress n'en vaut pas la peine. Bien sûr, il existe des moyens de contourner cela, comme l'utilisation de classes fantaisie dans votre code pour simuler des réponses, mais cela retarde le livrable final et peut avoir un impact sur vos délais pour prendre en charge de futurs projets.
J'espère que cela vous aidera. N'hésitez pas à m'envoyer un message si vous souhaitez obtenir plus d'informations. Heureux de vous aider.