Encore une fois, ne pas confondre savoir coder et savoir concevoir et développer un logiciel. Dans le premier cas, la personne "pisse" du code sans réfléchir "plus que ça" à l'architecture du logiciel et respectera que rarement les best practices (ex : appli qui respect le design pattern MVC, protection contre les failles XSS ou SQL injection pour une appli web...).
Dans le 2ème cas, la personne conçoit sur papier d'abord l'appli, réfléchit aux différents modules de l'appli (en général, les classes si on fait de la POO, ie de l'Objet), comment ils vont communiquer entre eux (ex : design pattern observeur/observable) puis va coder. On se trouve avec un ratio de temps passé d'environ 20 à 40% pour le code et le reste à la conception et validatoin (TU, TI et recette).
La différence de résultat sera normalement flagrante : dans le premier cas, on aura une appli buguée, mas conçu, avec des failles de sécurité et surtout quasi non maintenable (donc non évolutive ou alors, juste par celui qui l'aura conçue). Il n'y aura aussi quasi pas de documentation (elle représente normalement environ 1/3 du temps consacré au projet). Dans le 2ème cas, on aura normalement une appli qui fonctionne bien (avec peu de bugs, en tout cas, pas bloquants), bien conçue, de la doc et maintenable par n'importe quel développeur digne de ce nom.
Un ex pour bien comprendre pourquoi c'est compliqué de bien concevoir un logiciel :
http://www.yenoussa.fr/informatiqu [...] coire-ssii
Quelque stats sur le taux d'échec des projets et les causes (90%!!!) : https://fr.wikipedia.org/wiki/Project_management_office
Une dernière image parlante : aujourd'hui, l'autodidacte en informatique te fera une appli u même niveau de qualité que les 2 premiers frères des 3 petits cochons : une appli en paille ou en bois, qui finira par se casser la figure. Celui qui a fait des études et aura de l'expérience (j'insiste lourdement sur le fait d'avoir de l'expérience !) te fera une appli en briques, comme celle du 3ème frère des 3 petits cochons), qui elle, même en cas de coups durs, tiendra la route.
Maintenant, un CM, pour faire ton site web, te protégera d'un mauvais codage et de failles où, s'il y en a, vu la taille de la communauté de Wordpress (par ex), sera rapidement corrigée.
Edit : il y a déjà des projets en cours pour de la production automatisée de logiciels. Il y a déjà les RAD comme Windev mais en général, ça fait rapidement de la merde non maintenable. C'est très bien pour faire des prototypes rapidement, mais pour une appli complexe client/serveur (ou web), ça devient vite la merde, en particulier quand il faut optimiser le code.
Il y a aussi des études pour inventer un langage permettant de décrire l'appli souhaitée et des outils qui, à partir de cette description, vont coder le logiciel. Là encore, je doute qu'un robot fasse mieux qu'un humain, tellement coder une bonne appli est complexe, en particulier pour résoudre des pbs d'ergonomie et de linguistique, notamment pour limiter les risques liés au facteur humain ou les pbs liés à l'aspect culturel (ex : un site sur le mariage : tu mets du blanc pour la France, mais du Orange pour l'Inde) 
Message édité par rufo le 06-11-2015 à 10:51:47
---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta