prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
Quand on ne sait pas exactement ce qu'il faut réaliser, chez nous on fait
des maquettes.
Cela peut prendre la forme d'animations flash ou de code rapidement écrit
(mais jamais en C++) pour démontrer un aspect visuel. Cela peut prendre
d'un morceau de protocole rapidement implémenté pour juger l'intérêt de tel
ou tel serveur. etc.
Dans tous les cas, ce n'est jamais quelque chose d'utilisable soit parce
que c'est n'est que du "dessin", soit parce que la plupart des
fonctionnalités indispensables ne sont tout simplement pas présentes.
Je me demande donc ce que sont tous ces prototypes. Même si on sait
que la version 1 d'un logiciel ne pourra durer qu'un temps limité
(parce que l'on n'a pas pu y mettre tout ce que l'on y voudrait ou
que l'on n'a pas pu la construire comme on l'aurait souhaité), je ne
vois pas pourquoi elle devrait avoir un statut différent de celui
des versions suivantes, qui, en toute logique, ne peuvent être que
"plus" réfléchies.
prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
Quand on ne sait pas exactement ce qu'il faut réaliser, chez nous on fait
des maquettes.
Cela peut prendre la forme d'animations flash ou de code rapidement écrit
(mais jamais en C++) pour démontrer un aspect visuel. Cela peut prendre
d'un morceau de protocole rapidement implémenté pour juger l'intérêt de tel
ou tel serveur. etc.
Dans tous les cas, ce n'est jamais quelque chose d'utilisable soit parce
que c'est n'est que du "dessin", soit parce que la plupart des
fonctionnalités indispensables ne sont tout simplement pas présentes.
Je me demande donc ce que sont tous ces prototypes. Même si on sait
que la version 1 d'un logiciel ne pourra durer qu'un temps limité
(parce que l'on n'a pas pu y mettre tout ce que l'on y voudrait ou
que l'on n'a pas pu la construire comme on l'aurait souhaité), je ne
vois pas pourquoi elle devrait avoir un statut différent de celui
des versions suivantes, qui, en toute logique, ne peuvent être que
"plus" réfléchies.
prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
Quand on ne sait pas exactement ce qu'il faut réaliser, chez nous on fait
des maquettes.
Cela peut prendre la forme d'animations flash ou de code rapidement écrit
(mais jamais en C++) pour démontrer un aspect visuel. Cela peut prendre
d'un morceau de protocole rapidement implémenté pour juger l'intérêt de tel
ou tel serveur. etc.
Dans tous les cas, ce n'est jamais quelque chose d'utilisable soit parce
que c'est n'est que du "dessin", soit parce que la plupart des
fonctionnalités indispensables ne sont tout simplement pas présentes.
Je me demande donc ce que sont tous ces prototypes. Même si on sait
que la version 1 d'un logiciel ne pourra durer qu'un temps limité
(parce que l'on n'a pas pu y mettre tout ce que l'on y voudrait ou
que l'on n'a pas pu la construire comme on l'aurait souhaité), je ne
vois pas pourquoi elle devrait avoir un statut différent de celui
des versions suivantes, qui, en toute logique, ne peuvent être que
"plus" réfléchies.
Si dans ton projet de 3 mois, le client débarque au bout de 8
semaines pour te dire que en fait il voudrait modifier
quelques trucs, tu ne seras pas en mesure de commencer le
codage car ta conception risque fort d'être sérieusement
remise en cause...
(Ceci suppose, évidemment, qu'on connaît le domaine de
l'application, et qu'on sait donc prévoyer les types de
modifications probables.)
Si dans ton projet de 3 mois, le client débarque au bout de 8
semaines pour te dire que en fait il voudrait modifier
quelques trucs, tu ne seras pas en mesure de commencer le
codage car ta conception risque fort d'être sérieusement
remise en cause...
(Ceci suppose, évidemment, qu'on connaît le domaine de
l'application, et qu'on sait donc prévoyer les types de
modifications probables.)
Si dans ton projet de 3 mois, le client débarque au bout de 8
semaines pour te dire que en fait il voudrait modifier
quelques trucs, tu ne seras pas en mesure de commencer le
codage car ta conception risque fort d'être sérieusement
remise en cause...
(Ceci suppose, évidemment, qu'on connaît le domaine de
l'application, et qu'on sait donc prévoyer les types de
modifications probables.)
Olivier Azeau
writes:
prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
"Plan to throw one away, you'll anyway." On fournit la premiere
version. On ne dit pas que c'est un prototype, mais j'ai pas
d'autres
mots pour designer ce que c'est.
Quand on ne sait pas exactement ce qu'il faut réaliser, chez nous
on fait
des maquettes.
Cela peut prendre la forme d'animations flash ou de code rapidement
écrit
(mais jamais en C++) pour démontrer un aspect visuel. Cela peut
prendre
d'un morceau de protocole rapidement implémenté pour juger
l'intérêt de tel
ou tel serveur. etc.
Dans tous les cas, ce n'est jamais quelque chose d'utilisable soit
parce
que c'est n'est que du "dessin", soit parce que la plupart des
fonctionnalités indispensables ne sont tout simplement pas
présentes.
Montrer une animation, c'est facile. Nos problemes, c'est de
l'algorithmique. Resoudre des problemes connus pour etre NP-Complet
ou pire sur des donnees monstrueuses. Allez le dernier sur lequel
j'ai travaille: trouver dans un graphe (relativement petit, de
l'ordre
de la centaine de noeuds -- on en a souvent avec des millions) les
sous-graphes "semblables" a un autre graphe donne. Pour une
definition de semblable mal definie qui ressemble a "faites moi ce
que
je veux, c'est evident que dans ce cas-ci la solution est celle-ci et
que ca c'est vraiment pas une bonne solution".
Mais ca c'est l'aspect
interessant. Le frustrant c'est quand on a quelque chose qui marche
relativement bien de ne pas pouvoir le retravailler pour en faire
quelque chose de robuste. C'est presque mieux d'avoir quelque chose
qui ne marche mal mais de savoir pourquoi: alors on peut mieux
defendre le fait de tout refaire sur la bonne voie. Naturellement ca
coute plus cher au total et le client est frustre et le developpeur
est frustre mais ne pas delivrer tout de suite est parait-il
impossible.
Olivier Azeau <read.my.name.and.email.to.firstname@lastname.com>
writes:
prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
"Plan to throw one away, you'll anyway." On fournit la premiere
version. On ne dit pas que c'est un prototype, mais j'ai pas
d'autres
mots pour designer ce que c'est.
Quand on ne sait pas exactement ce qu'il faut réaliser, chez nous
on fait
des maquettes.
Cela peut prendre la forme d'animations flash ou de code rapidement
écrit
(mais jamais en C++) pour démontrer un aspect visuel. Cela peut
prendre
d'un morceau de protocole rapidement implémenté pour juger
l'intérêt de tel
ou tel serveur. etc.
Dans tous les cas, ce n'est jamais quelque chose d'utilisable soit
parce
que c'est n'est que du "dessin", soit parce que la plupart des
fonctionnalités indispensables ne sont tout simplement pas
présentes.
Montrer une animation, c'est facile. Nos problemes, c'est de
l'algorithmique. Resoudre des problemes connus pour etre NP-Complet
ou pire sur des donnees monstrueuses. Allez le dernier sur lequel
j'ai travaille: trouver dans un graphe (relativement petit, de
l'ordre
de la centaine de noeuds -- on en a souvent avec des millions) les
sous-graphes "semblables" a un autre graphe donne. Pour une
definition de semblable mal definie qui ressemble a "faites moi ce
que
je veux, c'est evident que dans ce cas-ci la solution est celle-ci et
que ca c'est vraiment pas une bonne solution".
Mais ca c'est l'aspect
interessant. Le frustrant c'est quand on a quelque chose qui marche
relativement bien de ne pas pouvoir le retravailler pour en faire
quelque chose de robuste. C'est presque mieux d'avoir quelque chose
qui ne marche mal mais de savoir pourquoi: alors on peut mieux
defendre le fait de tout refaire sur la bonne voie. Naturellement ca
coute plus cher au total et le client est frustre et le developpeur
est frustre mais ne pas delivrer tout de suite est parait-il
impossible.
Olivier Azeau
writes:
prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
"Plan to throw one away, you'll anyway." On fournit la premiere
version. On ne dit pas que c'est un prototype, mais j'ai pas
d'autres
mots pour designer ce que c'est.
Quand on ne sait pas exactement ce qu'il faut réaliser, chez nous
on fait
des maquettes.
Cela peut prendre la forme d'animations flash ou de code rapidement
écrit
(mais jamais en C++) pour démontrer un aspect visuel. Cela peut
prendre
d'un morceau de protocole rapidement implémenté pour juger
l'intérêt de tel
ou tel serveur. etc.
Dans tous les cas, ce n'est jamais quelque chose d'utilisable soit
parce
que c'est n'est que du "dessin", soit parce que la plupart des
fonctionnalités indispensables ne sont tout simplement pas
présentes.
Montrer une animation, c'est facile. Nos problemes, c'est de
l'algorithmique. Resoudre des problemes connus pour etre NP-Complet
ou pire sur des donnees monstrueuses. Allez le dernier sur lequel
j'ai travaille: trouver dans un graphe (relativement petit, de
l'ordre
de la centaine de noeuds -- on en a souvent avec des millions) les
sous-graphes "semblables" a un autre graphe donne. Pour une
definition de semblable mal definie qui ressemble a "faites moi ce
que
je veux, c'est evident que dans ce cas-ci la solution est celle-ci et
que ca c'est vraiment pas une bonne solution".
Mais ca c'est l'aspect
interessant. Le frustrant c'est quand on a quelque chose qui marche
relativement bien de ne pas pouvoir le retravailler pour en faire
quelque chose de robuste. C'est presque mieux d'avoir quelque chose
qui ne marche mal mais de savoir pourquoi: alors on peut mieux
defendre le fait de tout refaire sur la bonne voie. Naturellement ca
coute plus cher au total et le client est frustre et le developpeur
est frustre mais ne pas delivrer tout de suite est parait-il
impossible.
Jean-Marc Bourguet wrote:Olivier Azeau
writes:prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
"Plan to throw one away, you'll anyway." On fournit la premiere
version. On ne dit pas que c'est un prototype, mais j'ai pas
d'autresmots pour designer ce que c'est.
"V1.0" ca ne convient pas ?
Montrer une animation, c'est facile. Nos problemes, c'est de
l'algorithmique. Resoudre des problemes connus pour etre
NP-Complet ou pire sur des donnees monstrueuses. Allez le dernier
sur lequel j'ai travaille: trouver dans un graphe (relativement
petit, de l'ordre de la centaine de noeuds -- on en a souvent avec
des millions) les sous-graphes "semblables" a un autre graphe
donne. Pour une definition de semblable mal definie qui ressemble
a "faites moi ce que je veux, c'est evident que dans ce cas-ci la
solution est celle-ci et que ca c'est vraiment pas une bonne
solution".
Mais si qqun peut donner une telle information dans un cas, il doit
pouvoir la donner dans n cas, non ?
Bien souvent, on passe d'une expression de besoin mal définie a une
bien définie en multipliant les cas d'utilisations.
Jean-Marc Bourguet wrote:
Olivier Azeau <read.my.name.and.email.to.firstname@lastname.com>
writes:
prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
"Plan to throw one away, you'll anyway." On fournit la premiere
version. On ne dit pas que c'est un prototype, mais j'ai pas
d'autres
mots pour designer ce que c'est.
"V1.0" ca ne convient pas ?
Montrer une animation, c'est facile. Nos problemes, c'est de
l'algorithmique. Resoudre des problemes connus pour etre
NP-Complet ou pire sur des donnees monstrueuses. Allez le dernier
sur lequel j'ai travaille: trouver dans un graphe (relativement
petit, de l'ordre de la centaine de noeuds -- on en a souvent avec
des millions) les sous-graphes "semblables" a un autre graphe
donne. Pour une definition de semblable mal definie qui ressemble
a "faites moi ce que je veux, c'est evident que dans ce cas-ci la
solution est celle-ci et que ca c'est vraiment pas une bonne
solution".
Mais si qqun peut donner une telle information dans un cas, il doit
pouvoir la donner dans n cas, non ?
Bien souvent, on passe d'une expression de besoin mal définie a une
bien définie en multipliant les cas d'utilisations.
Jean-Marc Bourguet wrote:Olivier Azeau
writes:prototype : du grec protos "premier" et typos "empreinte, marque"
Comment définissez-vous donc "prototype" dans un tel contexte de
développement logiciel ?
"Plan to throw one away, you'll anyway." On fournit la premiere
version. On ne dit pas que c'est un prototype, mais j'ai pas
d'autresmots pour designer ce que c'est.
"V1.0" ca ne convient pas ?
Montrer une animation, c'est facile. Nos problemes, c'est de
l'algorithmique. Resoudre des problemes connus pour etre
NP-Complet ou pire sur des donnees monstrueuses. Allez le dernier
sur lequel j'ai travaille: trouver dans un graphe (relativement
petit, de l'ordre de la centaine de noeuds -- on en a souvent avec
des millions) les sous-graphes "semblables" a un autre graphe
donne. Pour une definition de semblable mal definie qui ressemble
a "faites moi ce que je veux, c'est evident que dans ce cas-ci la
solution est celle-ci et que ca c'est vraiment pas une bonne
solution".
Mais si qqun peut donner une telle information dans un cas, il doit
pouvoir la donner dans n cas, non ?
Bien souvent, on passe d'une expression de besoin mal définie a une
bien définie en multipliant les cas d'utilisations.
Si dans ton projet de 3 mois, le client débarque au bout de
8 semaines pour te dire que en fait il voudrait modifier
quelques trucs, tu ne seras pas en mesure de commencer le
codage car ta conception risque fort d'être sérieusement
remise en cause...
[..](Ceci suppose, évidemment, qu'on connaît le domaine de
l'application, et qu'on sait donc prévoyer les types de
modifications probables.)
Houlala ! C'est du balèze !
Le codage post conception assisté par boule de cristal. Des
projets probalistiques préconçus !
Vertigineux !
PS :
Mais, si tu sais prévoir les modifications que te
demanderas ton client dans le futur, alors à chaque réunion
avec ce client, lorsqu'il fait mine de prendre la parole tu
l'interromps avec :
- HA ! mais c'est DEJA fait !
Et le client sans dire un seul mot part content.
Si dans ton projet de 3 mois, le client débarque au bout de
8 semaines pour te dire que en fait il voudrait modifier
quelques trucs, tu ne seras pas en mesure de commencer le
codage car ta conception risque fort d'être sérieusement
remise en cause...
[..]
(Ceci suppose, évidemment, qu'on connaît le domaine de
l'application, et qu'on sait donc prévoyer les types de
modifications probables.)
Houlala ! C'est du balèze !
Le codage post conception assisté par boule de cristal. Des
projets probalistiques préconçus !
Vertigineux !
PS :
Mais, si tu sais prévoir les modifications que te
demanderas ton client dans le futur, alors à chaque réunion
avec ce client, lorsqu'il fait mine de prendre la parole tu
l'interromps avec :
- HA ! mais c'est DEJA fait !
Et le client sans dire un seul mot part content.
Si dans ton projet de 3 mois, le client débarque au bout de
8 semaines pour te dire que en fait il voudrait modifier
quelques trucs, tu ne seras pas en mesure de commencer le
codage car ta conception risque fort d'être sérieusement
remise en cause...
[..](Ceci suppose, évidemment, qu'on connaît le domaine de
l'application, et qu'on sait donc prévoyer les types de
modifications probables.)
Houlala ! C'est du balèze !
Le codage post conception assisté par boule de cristal. Des
projets probalistiques préconçus !
Vertigineux !
PS :
Mais, si tu sais prévoir les modifications que te
demanderas ton client dans le futur, alors à chaque réunion
avec ce client, lorsqu'il fait mine de prendre la parole tu
l'interromps avec :
- HA ! mais c'est DEJA fait !
Et le client sans dire un seul mot part content.