IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment calculer la durée de développement d'une web-application en Python ?


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment calculer la durée de développement d'une web-application en Python ?
    Bonjour,

    A partir d'un cahier des charges, comment faites-vous pour calculer approximativement la durée nécessaire pour développer une web application en Python ?

    * * *

    Des développeurs prétendent qu'il est possible "d'apprendre à apprendre un langage informatique grâce à des méthodologies d'auto-formation à des nouvelles technologies / nouveaux langages".

    Pouvez-vous me donner un petit exemple de méthodologie qui aide à s'auto-former à un nouveau langage comme par exemple apprendre Python car je ne comprends pas ce qu'une méthodologie peut apporter de plus qu'un cours qui enseigne ce nouveau langage ?

    Merci.

    Très cordialement

    Estelle

  2. #2
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Le cours : c'est reproduire des programmes existant (propriété individuelle)

    La méthodologie : c'est documenter au fur et à mesure de nouveaux programmes pendant un projet (propriété collective)

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Estelle 2015 Voir le message
    A partir d'un cahier des charges, comment faites-vous pour calculer approximativement la durée nécessaire pour développer une web application en Python ?
    Un "professionnel" a déjà développé des applications ayant un certain nombre de fonctionnalités similaires.
    Il sait combien de temps çà lui a pris et les difficultés qu'il a du résoudre.
    Il pourra même espérer réutiliser tout ou partie de codes déjà écrits pour d'autres projets.

    "similaire" ne signifie pas "identique", et certaines fonctionnalités sont peut être mal connues.
    L'estimation du temps de développement de certaines fonctionnalités pourra être précis et sans risque: on a déjà fait, on a déjà le code,... Pour d'autre, c'est des nouveaux trucs à apprendre et des difficultés originales à résoudre. On pourra faire une estimation pifométrique et prendre le risque de ne pas terminer dans les délais.
    Prendre un tel risque c'est en anticiper les implications: le client est sympa, je pourrais négocier X semaines de développement supplémentaire et il les paiera. Le client est moins sympa: je devrais bosser gratis. Le client est furieux, il me fout dehors sans même payer le temps déjà passé...

    Une organisation conséquente réalise plusieurs projets pour différents clients, accumule une expérience et spécialise les savoir-faire. Il va falloir mettre en place des méthodes pour pouvoir réutiliser toute cette expérience. Concernant l'estimation des coûts d'un projet, à côté de méthodes empiriques qui fonctionnent, vous avez des méthodes basées sur les cas d'utilisation, les points de fonction,... qui permettent de construire des estimations. Et rien ne vous empêche d'utiliser plusieurs méthodes pour voir si elles tombent dans la même fourchette.

    note: accumuler une expérience et s'en servir pour estimer le temps à passer sur des travaux semblables n'est pas spécifique à la programmation et ni à un langage particulier. Pour les projets informatiques, les méthodologies à connaître sont en général abordées dans la rubrique ALM

    Pouvez-vous me donner un petit exemple de méthodologie qui aide à s'auto-former à un nouveau langage car je ne comprends pas ce qu'une méthodologie peut apporter de plus qu'un cours qui enseigne ce nouveau langage ?
    Pour apprendre une langue étrangère, rien ne vaut la possibilité de vivre dans le pays, de partager le quotidien des natifs pendant de longs mois. Après si c'est juste pour apprendre à se dépatouiller comme touriste, la méthode assimil est "assez bonne" mais largement insuffisante pour passer pour un natif.
    De plus connaître un langage de programmation est utile pour apprendre à programmer mais... le métier de programmeur ne se réduit pas à bien connaître un langage... C'est beaucoup plus "vaste" et il faut avoir la chance de participer à la réalisation de projets intéressant pour transformer ce qu'on a pu apprendre en savoir faire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 473
    Points : 9 270
    Points
    9 270
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Estelle 2015 Voir le message
    A partir d'un cahier des charges, comment faites-vous pour calculer approximativement la durée nécessaire pour développer une web application en Python ?
    Il faut d'abord avoir une bonne méthode de développement avec des points de contrôle intermédiaires. Puis disposer de statistiques propres à l'équipe de développement concernée. En effet, le temps nécessaire pour développer une application dépend de beaucoup de choses:
    - la taille et la complexité du projet
    - l'existence de solution non disponible à trouver (risque technique)
    - la compétence dont on dispose par rapport aux problèmes à résoudre
    - l'existence de bibliothèques (si un gros projet peut se contenter d'assembler des bibliothèques disponibles, ce sera rapide).
    - etc...

    On peut avoir une unité d’œuvre (la ligne de code?) qui permet de calculer le temps, le délai et le coût d'un projet.

    Citation Envoyé par Estelle 2015 Voir le message
    Pouvez-vous me donner un petit exemple de méthodologie qui aide à s'auto-former à un nouveau langage car je ne comprends pas ce qu'une méthodologie peut apporter de plus qu'un cours qui enseigne ce nouveau langage ?
    Il s'agit ici de méthodes pédagogiques. Les méthodes d'auto-formation doivent compenser l'absence d’interaction avec un prof par un parcours prédéfini et une interaction avec la machine. Elles doivent aussi demander un certain courage puisque l'abandon est facile... Mais les fondamentaux du parcours pédagogique doivent être présents: passer les difficultés une à une, passer en permanence de l'apport théorique à l'application, contrôler périodiquement les acquis pour poursuivre, être actif et impliqué, etc...
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    Elles sont très claires et très intéressantes.

    Et aussi merci pour les Cours et tutoriels pour apprendre la programmation Python , en particulier celui la est génial : Apprendre à programmer avec Python 3 par Gérard Swinnen



    Très cordialement,

    Estelle

  6. #6
    Membre chevronné
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2013
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 485
    Points : 2 151
    Points
    2 151
    Par défaut
    comme la évoqué @wiztricks, on estime une durée de développement d'après ses expériences vécu sur des projets similaire.

    Or, un nouveau projet est toujours une nouvelle aventure et ne correspond jamais avec le précédent.
    C'est qui rend, même pour des personnes expérimentés, l'estimation très difficile.

    J'ai tendance a dire que l'on arrive à bien estimer un développement informatique ... quand il est fini

    Un truc quand même pour arriver à faire des estimations:
    • Découper l'ensemble des besoins en petites fonctionnalités ou taches
      Plus c'est gros, plus c'est dure à estimer.
    • Estimer à plusieurs leur durée (en heure) via un vote type "planning poker" (voir https://fr.wikipedia.org/wiki/Planning_poker)
      Si plusieurs personnes ont des avis divergents sur une fonctionnalité, on cherche à comprendre le pourquoi (difficulté non vu par certain, simplification non vu par d'autre)
    • Si on estime une fonctionnalité à plus de 2-3 jours (soit >=21h), on voit pour la couper en 2.

    Il peut être important d'avoir de demandeur avec soit pour être sur de bien avoir compris son besoin pour chacune de ses fonctionnalités.

    Voilà pour une technique d'estimation.

    Quand à ta question sur la formation, je dirais "c'est en forgeant que l'on deviens forgeron"
    C'est en travaillant sur des développement logiciel que l'on acquière de l’expérience dans un domaine (un langage, une techno ou autres)
    C'est en côtoyant aussi d'autres développeurs que l'on découvre des "trucs" propre à ces langages et ses technos

Discussions similaires

  1. Comment calculer le temps d'exécution d'une fonction
    Par gege2061 dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 16h19
  2. comment calculer le temps d'execusion d'une application
    Par ulysse031 dans le forum Langage
    Réponses: 13
    Dernier message: 01/06/2007, 00h11
  3. Comment limiter la durée d'utilisation d'une appli
    Par le lynx dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2006, 16h23
  4. Réponses: 3
    Dernier message: 27/04/2006, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo