Processus d'approbation des logiciels dans les grandes organisations

8

De nombreuses grandes entreprises ont des services informatiques qui verrouillent les postes de travail à une configuration standard, ou SOE. Les utilisateurs finaux n'ont généralement pas le droit d'installer leurs propres logiciels, et même s'ils le faisaient, les organisations ont tendance à autoriser uniquement l'installation de logiciels «approuvés».

Même pour les logiciels libres / open source, les utilisateurs finaux doivent souvent soumettre une sorte de formulaire de demande pour faire vérifier et approuver le logiciel. Une fois le processus suivi et le logiciel installé, les mises à niveau peuvent être gênantes - de nombreuses organisations ont tendance à s'en tenir aux anciennes versions des logiciels (Windows XP, Office 2003, etc.) par crainte de problèmes inconnus.

Que peuvent faire les développeurs de logiciels pour accélérer le processus d'approbation?

Si vous êtes impliqué dans un tel processus d'approbation:

  1. Que recherchez-vous lors de l'évaluation d'un logiciel? Par exemple:
    • Préférez-vous les logiciels compatibles MSI ou xcopy?
    • Si le logiciel nécessite des frameworks (Java, .NET), est-ce plus ou moins susceptible d'être problématique?
  2. Si le logiciel prend en charge les mises à jour automatiques, autorisez-vous généralement cela?
  3. Combien de temps cela prend-il généralement?
  4. Quel type de modèles de licence préférez-vous (transférable, par siège, par processeur, à l'échelle du site)?
  5. Que peuvent faire les éditeurs de logiciels indépendants pour améliorer leurs chances de faire approuver leur logiciel?
Paul Stovell
la source
L'immensité des réponses fournies à cette question donne l'impression qu'il devrait s'agir d'un wiki communautaire
Ryan Bolger

Réponses:

12

Je fais partie du groupe des approbations de logiciels pour une entreprise multinationale et je ferais absolument écho à tout ce que dit Adam ci-dessus.

Je voudrais également faire les remarques suivantes, tout d'abord toujours payer toutes vos "taxes de développement". Cela signifie que vous devez vous assurer que votre application fonctionne correctement dans une grande variété d'environnements que vous n'utiliserez peut-être jamais, mais qu'elle sera très probablement un facteur de rupture pour les grandes entreprises, ce sont des choses comme s'assurer que votre application fonctionne bien avec les profils d'utilisateurs itinérants et dossiers utilisateur redirigés (utilisez toujours les API Windows pour trouver les dossiers d'utilisateurs et de profils, ne supposez jamais qu'ils se trouvent à des emplacements standard, ou même sur le lecteur local), en vous assurant qu'il fonctionne bien sur les serveurs Bureau à distance (où il peut y avoir un 100 copies de votre application exécutées en même temps, certaines utilisant des connexions très lentes), sur des ordinateurs portables avec des connexions réseau lentes ou des piles faibles, etc. À titre d'exemple, nous avons récemment rejeté les nouvelles versions de plus d'un logiciel d'une très grande entreprise (commence par "A" et est célèbre pour les graphiques) parce que leurs applications ne soudainement pas '

Même pour les logiciels libres / open source, les utilisateurs finaux doivent souvent soumettre une sorte de formulaire de demande pour faire vérifier et approuver le logiciel.

D'après le ton de votre commentaire, il semble que vous pensiez que le processus d'approbation a quelque chose à voir avec le coût? De notre point de vue, le coût unitaire d'une application n'est pas quelque chose que nous considérerions du tout dans le processus d'approbation. Les justifications financières pour les applications auront été élaborées, les approbations de logiciels se feront toutes sous l'angle technique et de la capacité de support. Les logiciels libres et open source ont généralement plus de mal à passer à travers notre processus qu'une application commerciale propriétaire. Souvent, cela est simplement dû au manque de responsabilité. À qui vous adressez-vous lorsqu'il y a des problèmes avec l'application et que vous avez besoin d'assistance, quel est leur SLA? À qui demandez-vous quand vous avez besoin de savoir si l'application fonctionnera avec une nouvelle version d'AutreApp vX, vous donnent-ils vraiment une réponse réelle vers laquelle les gens travaillent vraiment, ou est-ce un vague "

Une fois le processus suivi et le logiciel installé, les mises à niveau peuvent être gênantes - de nombreuses organisations ont tendance à s'en tenir aux anciennes versions des logiciels (Windows XP, Office 2003, etc.) par crainte de problèmes inconnus.

Les mises à niveau logicielles doivent suivre le même processus que les logiciels totalement nouveaux. Le seul avantage qu'ils ont est que nous connaîtrons déjà les réponses à certaines des questions car nous avons déjà pris en charge le logiciel (cela peut ne pas être positif pour le logiciel, les équipes de support ont opposé un veto aux mises à niveau en fonction de l'expérience avec l'entreprise).

Préférez-vous les logiciels compatibles MSI ou xcopy?

L'une ou l'autre de ces méthodes de déploiement peut être bonne, à condition qu'elles soient correctement conditionnées. Sinon, il est fort probable que nous supprimions votre programme d'installation et que nous reconditionnions le logiciel pour le déploiement nous-mêmes.

  • Quel que soit le programme d'installation que vous utilisez, vous devez vous assurer que vous respectez tous ses modes d'installation silencieux et sans assistance. Si votre application nécessite une installation manuelle, c'est-à-dire un accord instantané, il n'y a tout simplement pas de moyen pratique de le faire sur des machines sur 5 continents qui reçoivent toute la prise en charge non matérielle d'un bureau central.
  • Étant donné le choix, je préférerais une installation MSI bien faite à une installation xcopy bien faite. Le problème avec la plupart des logiciels compatibles Xcopy est lorsqu'ils essaient de s'installer et de s'enregistrer lors de la première exécution. J'ai très rarement trouvé une application qui le fait correctement et ne cause pas de problèmes dans un environnement utilisateur / hotdesk itinérant. Les installateurs MSI (si vous vous en tenez à l'API standard) ne peuvent pas aller trop loin.
  • Assurez-vous que votre installation silencieuse donne la possibilité d'apporter toutes les modifications de configuration qui peuvent être apportées lors d'une installation manuelle. Si vous utilisez MSI et que vous vous en tenez à l'API, cela ne pose aucun problème, nous pouvons effectuer des transformations MST et faire tout cela sans problème. Si vous utilisez un programme d'installation tiers différent, assurez-vous qu'il autorise quelque chose comme un fichier "réponse" ou un fichier INI ou similaire. Testez l'installation silencieuse et assurez-vous que toutes les options fonctionnent, je suis tombé sur des produits qui annoncent avec joie leurs options d'installation silencieuse, mais ils n'ont jamais réellement testé si toutes les options fonctionnent.
  • De préférence, donnez-nous des options supplémentaires dans l'installation silencieuse qui nous permettent de définir de nombreux paramètres qu'un utilisateur changerait normalement dans le panneau Options. Cela pourrait être par des commutateurs sur setup.exe, pourrait avoir un fichier INI documenté pour les paramètres, en documentant les modifications de registre nécessaires, ou tout ce qui précède. Quoi qu'il en soit, nous aimerions nous assurer que nos utilisateurs peuvent être opérationnels avec le logiciel sans avoir à effectuer de configuration eux-mêmes, les plus importants ici sont les emplacements par défaut pour les fichiers, les noms de serveur par défaut, les paramètres de proxy (si votre application fonctionne via un réseau), etc.

Si le logiciel nécessite des frameworks (Java, .NET), est-ce plus ou moins susceptible d'être problématique?

C'est certainement plus problématique. La gestion des versions dans la plupart des frameworks et la compatibilité ascendante / descendante est atroce. Avec Java en particulier, de nombreuses applications (et sites Web) nécessitent une version majeure et mineure particulière de Java installée et ne fonctionneront avec rien d'autre. Si vous avez besoin de mettre trois applications différentes sur une machine qui ont toutes besoin de différentes versions de Java, et qu'elles ne sont pas satisfaites des méthodes standard de masquer une version Java comme une autre, alors il y aura des problèmes. .Net a ses propres problèmes de versionnage, mais vous laissera volontiers installer toutes les versions majeures du framework en même temps, ce qui contourne la plupart d'entre elles.

Si le logiciel prend en charge les mises à jour automatiques, autorisez-vous généralement cela?

Jamais. Il y a beaucoup trop de problèmes de version et d'interopérabilité pour permettre à une application de se mettre à jour sans aucun avertissement. Les mises à niveau de l'application nécessitent des tests et une planification. De plus, les utilisateurs avec des droits d'utilisateur normaux ne peuvent pas appliquer les mises à jour de toute façon. Si vous utilisez une méthode de déploiement qui permet d'appliquer des correctifs (par exemple, utilisez des MSI avec des correctifs MSP), cela peut rendre les choses comme les correctifs de sécurité pour les applications beaucoup moins difficiles, et nous pouvons gérer nous-mêmes la mise à jour automatique à l'aide de nos outils de déploiement (WSUS et SMS ). De plus, notre équipe de sécurité se méfie de toute application qui "revient à la base", elle aime savoir exactement quelles informations elle envoie et pourquoi elle doit envoyer quoi que ce soit à un serveur inconnu sur Internet.

Combien de temps cela prend-il généralement?

Certaines applications simples et les mises à niveau de version peuvent être décidées dans la mesure où il faut 6 personnes pour cliquer sur un bouton de vote "Approuver" dans Outlook. Des réunions plus complexes ou controversées peuvent attendre notre réunion de groupe toutes les deux semaines. Certaines applications peuvent faire l'objet de discussions lors de plusieurs de ces réunions, car les équipes répondent aux questions sur une application et effectuent des recherches / tests.

Quel type de modèles de licence préférez-vous (transférable, par siège, par processeur, à l'échelle du site)?

Tout dépend de la façon dont l'application va être utilisée et du nombre de personnes. Le plus important est que votre licence soit clairement définie. Nous devons envoyer nos employés suivre des cours (quoique gratuits) pour comprendre les licences Microsoft. On ne va pas se donner la peine de faire ça pour un ISV.

Tenez compte de nos besoins d'installation automatisée et silencieuse en matière de licence. Si vos licences doivent être activées, nous ne voulons pas avoir à vous appeler / vous envoyer un e-mail chaque fois que nous réinstallons une application sur un PC. Si chaque copie de l'application nécessite une clé de licence distincte et différente, nous ne pouvons pas le déployer automatiquement, alors que si nous pouvons acheter une clé en vrac (2, 10, 50, 500, etc.) qui peut être enregistrée dans l'installation silencieuse, alors nous sommes heureux. C'est encore mieux si nous pouvons vous recontacter un an plus tard et négocier pour étendre notre nombre de licences sans avoir à changer la clé saisie dans le logiciel.

Que peuvent faire les éditeurs de logiciels indépendants pour améliorer leurs chances de faire approuver leur logiciel?

Nous examinerons également des éléments qui ne sont pas strictement liés à l'état actuel de votre application. Gardant à l'esprit que si votre application fait partie du flux de travail standard pour l'un de nos domaines, elle pourrait être utilisée pendant 10 ans ou plus, alors à quoi ressemble la feuille de route de votre produit? Si vous ne prenez pas encore en charge la toute nouvelle version de Windows ou en cours de développement, avez-vous un plan pour quand vous le ferez? Vous semble-t-il que vous vous en tenez à ces feuilles de route? Semble-t-il que vous envisagez de modifier radicalement votre application, que ce soit son fonctionnement ou les technologies / cadres qu'elle utilise? Votre application se connecte-t-elle à d'autres applications, par exemple MS Office ou IE, si oui, dans quelle mesure est-elle tolérante des versions plus anciennes ou plus récentes de celles-ci?

GAThrawn
la source
Bonne réponse complète. Beaucoup de choses que GAThrawn spécifie explicitement ici sont couvertes par le programme de logo Windows (par exemple, payer vos taxes de développement).
Jay Michaud
+1 pour le simple effort de répondre à chaque point.
osij2is
6

Nous sommes une toute petite organisation, mais nous sommes passés à des ordinateurs de bureau standard et à des logiciels approuvés pour réduire nos tracas administratifs.

Préférez-vous les logiciels compatibles MSI ou xcopy?

Tout ce qui peut effectuer une installation "silencieuse". Les MSI fonctionnent généralement bien ici, mais de nombreux logiciels d'installation conviennent également. Si nous devons le configurer d'une manière ou d'une autre, il est bon de pouvoir également l'écrire, soit par fichiers xcopy, soit par fusion de registre.

Si le logiciel nécessite des frameworks (Java, .NET), est-ce plus ou moins susceptible d'être problématique?

Cela peut être problématique en raison des exigences de version différentes. Si vous avez besoin de .NET 3.5 et que nous utilisons 3.0, nous devons gérer cette mise à niveau et nous assurer qu'elle ne casse rien d'autre.

Si le logiciel prend en charge les mises à jour automatiques, autorisez-vous généralement cela?

Non. Trop de risques que la nouvelle version cause des problèmes. De plus, les utilisateurs n'ont pas de droits d'administrateur, donc les mises à jour ne fonctionnent généralement pas de toute façon.

Combien de temps cela prend-il généralement?

S'il y a un besoin commercial urgent, le plus rapidement possible - aussi peu que quelques heures. Pour les logiciels plus maladroits, peut-être une semaine ou plus.

Quel type de modèles de licence préférez-vous (transférable, par siège, par processeur, à l'échelle du site)?

Le moins cher, mieux c'est! Nous pouvons traiter les options les plus raisonnables, mais cela devient difficile si le logiciel effectue une sorte de vérification automatisée ou nécessite une activation. Ceux-ci n'ont pas tendance à bien gérer les PC morts, les échecs d'activation, etc., et font généralement du travail supplémentaire pour nous.

Que peuvent faire les éditeurs de logiciels indépendants pour améliorer leurs chances de faire approuver leur logiciel?

Deux choses me viennent à l'esprit:

  • Tenez compte de la différence entre la machine (Program Files ou HKLM) et le profil utilisateur (ou HKCU) lors du stockage des paramètres. Si vous le faites correctement, je n'aurai pas à m'en excuser.
  • Documentez clairement l'installation, les paramètres et les détails de la licence sur votre site Web ou dans la documentation de votre logiciel. Il est beaucoup plus facile de suivre un «guide de déploiement» que d'essayer de le découvrir par moi-même.

Et bien sûr, vous devez faire en sorte que les logiciels valent la peine d'être utilisés - si l'utilisateur les aime vraiment, ils vont crier plus fort pour les faire approuver!

Adam
la source
3

La première chose que je regarde généralement est - avez-vous les bonnes bases? Si vous ne pouvez pas faire cela, je serai incroyablement réticent à aller plus loin. Je veux donc voir un programme d'installation MSI avec un outil de personnalisation standard pour me permettre de construire une transformation. Je ne veux voir aucune exigence de droits d'administrateur pour installer ou utiliser le logiciel. Je ne veux voir aucune exigence de reconfiguration des PC. Je ne veux pas voir les données par utilisateur écrites sur des emplacements par ordinateur. Je ne veux pas voir les visites manuelles sur les postes de travail, je veux voir la bonne gestion à distance et la configuration disponible via les GPO. En d'autres termes, comprenez-vous les exigences d'un déploiement d'entreprise géré?

Si le logiciel nécessite tout type de mises à jour, il vaut mieux s'apparenter à un fichier de définition AV ou similaire, il est préférable de maintenir votre propre serveur de mises à jour central si vous le souhaitez, et il vaut mieux qu'il soit entièrement et évidemment configurable de manière centrale. Cela ne me dérange pas les logiciels fournis avec les mises à jour du programme tant que je peux les désactiver.

Je ne veux pas voir de communication Internet à partir du logiciel en dehors de ce qui est absolument nécessaire pour qu'il fonctionne. Et il vaut mieux que tout soit documenté. En laissant votre logiciel sur mon réseau, je vous fais confiance pour ne pas gâcher ni être mauvais, alors je m'attends à ce que vous ne trahissiez pas cette confiance. Si vous le faites, je serai très déçu. N'oubliez pas - vous êtes un invité dans ma maison, alors traitez ma maison avec respect.

PAS DE JAVA . D'après mon expérience, Java a causé des ravages absolus en matière de déploiement, à chaque fois, principalement en se trompant. Je suis heureux d'accepter .NET car il semble au moins être conçu de manière plus sensée du point de vue de la gestion centrale (plus une application .NET a de meilleures chances d'obtenir les bonnes bases en raison des contraintes du cadre).

Pour obtenir une licence, la première chose que je vais rechercher est une version d'essai gratuite que je peux télécharger sans avoir à m'inscrire. Si je ne vois pas cela, je soupçonnerai probablement que vous avez quelque chose à cacher. Je suis d'accord avec une durée limitée, mais je n'aime pas les fonctionnalités réduites; après tout, c'est à ce stade que je décide si votre logiciel sera un invité acceptable dans ma maison, donc je veux pouvoir tout voir.

Je veux une clé de licence unique pour l'ensemble de mon site. Le fait de devoir saisir une clé de licence distincte sur chaque PC enfreint la règle "doit avoir une administration / gestion centrale". Évaluez-vous également de manière raisonnable, de sorte que si je n'ai besoin d'installer votre logiciel que sur 200 de mes PC, je ne paie pas le même prix que si je devais l'installer sur 1500.

Enfin, l'assistance et la maintenance continues sont importantes. Après tout, le fait d’installer le logiciel sans douleur n’est qu’une petite chose, mais la façon dont il se comporte au fil du temps dans le cadre d’une utilisation quotidienne est extrêmement critique. Si j'ai besoin de vous contacter pour résoudre un problème, je ne m'attends à aucun obstacle et je ne m'attends pas à ce que vous commenciez à pousser le blâme ailleurs sans au moins une enquête pour établir les faits. Je n'apprécie pas non plus toute tentative évidente de m'arnaquer dans un contrat de maintenance.

Maximus Minimus
la source
3

La réponse de GAThrawn couvre la plupart de ce que j'allais dire. Je veux développer un peu l'aspect licence des choses.

  • Les applications qui doivent téléphoner au domicile du navire-mère pour la vérification des licences sont généralement refusées. Si vous êtes vraiment protecteur de votre logiciel, fournissez un serveur de licences que nous pouvons héberger nous-mêmes. Cela peut être une solution tierce comme FLEXlm ou quelque chose que vous développez en interne. FLEXlm est de loin le plus courant dans notre environnement.

  • Les options de licence d'utilisation simultanée sont toujours un gros plus.

  • Si vous nous faites héberger un serveur de licences, assurez-vous que le port tcp / udp sur lequel il communique est configurable. N'ASSUMEZ PAS que votre serveur de licences est le seul à fonctionner sur la box.

  • Toutes les interactions client / serveur doivent être effectuées sans aucune interaction avec l'utilisateur final.

  • Un fichier texte vivant sur un partage réseau qui nécessite que les utilisateurs finaux aient un accès en écriture N'EST PAS une solution de licence acceptable. Les utilisateurs n'ont pas et n'auront jamais accès en écriture à nos serveurs de licences ou d'applications. Nous n'allons pas faire d'exception pour vous. Je me fiche que vous pensiez que nous pouvons le garder enfermé avec des quotas et autres. Cela ne vaut pas la peine et votre logiciel n'est tout simplement pas si important.

Ryan Bolger
la source
2

Je vais d'abord répondre à la question 5, car c'est la chose la plus importante pour moi.

5. Que peuvent faire les éditeurs de logiciels indépendants pour améliorer leurs chances de faire approuver leur logiciel?

La première chose à faire est de réussir le test du logo Windows. Le programme "Conçu pour Windows" (ou ce qu'ils appellent de nos jours) teste un certain nombre de fonctions de programme et d'interactions système qui, si elles sont écrites selon les règles, réduisent le travail pour moi et assurent un niveau de stabilité et de convivialité pour les utilisateurs.

Voici les réponses aux autres questions dans l'ordre:

  1. Que recherchez-vous lors de l'évaluation d'un logiciel? Par exemple: Préférez-vous les logiciels compatibles MSI ou xcopy? Si le logiciel nécessite des frameworks (Java, .NET), est-ce plus ou moins susceptible d'être problématique?
    Utilisez toujours un programme d'installation MSI dans un seul fichier si possible. Cela me permet de déployer manuellement, avec la stratégie de groupe ou avec à peu près n'importe quel outil de déploiement logiciel que je souhaite. Windows Vista (et Server 2008) inclut Microsoft .NET Framework 3.0 (et 2.0) en tant que composant de système d'exploitation. Si vous utilisez .NET, faites de la version 2.0 ou 3.0 votre exigence, et vous me faciliterez la vie. Si vous avez une autre exigence de structure, telle que .NET 3.5 ou Java Runtime Environment, suivez les instructions du fabricant pour l'installation à la lettre.
  2. Si le logiciel prend en charge les mises à jour automatiques, autorisez-vous généralement cela?
    Non. Dans un environnement limité, les utilisateurs ne peuvent pas approuver les mises à jour et je ne souhaite presque jamais que les mises à jour de programme autres que les mises à jour de sécurité du système d'exploitation soient téléchargées automatiquement. Désactivez les mises à jour automatiques par défaut dans les modes d'installation d'interface utilisateur silencieux ou de base, de sorte que si je déploie via la stratégie de groupe, je n'ai pas à suivre ensuite les scripts de modification du registre ou les visites de poste de travail pour désactiver votre programme de mise à jour. Dans une installation manuelle et interactive, il est correct de demander cela.
  3. Combien de temps cela prend-il généralement?
    Je n'ai pas une bonne réponse pour combien de temps cela prend. Lors de mon dernier emploi, cela variait considérablement dans la gamme de immédiatement à des années.
  4. Quel type de modèles de licence préférez-vous (transférable, par siège, par processeur, à l'échelle du site)?
    La licence doit être simple et familière. Plus votre licence de produit est similaire à quelque chose que je connais déjà, moins je dois en savoir plus et plus vite je peux acheter et déployer votre produit. Selon le type de programme, j'ai tendance à préférer les licences par machine ou par utilisateur; ceux-ci sont faciles à suivre en les affectant à des utilisateurs spécifiques. Pour mon travail précédent, notre entreprise était trop petite pour que des licences de site généralement très coûteuses soient abordables.
Jay Michaud
la source
1

La fonction de l'informatique est de déployer et de maintenir la technologie pour soutenir le cœur de métier.

Pour vous, l'ISV, cela signifie:

  • Fournir un processus d'installation ET de désinstallation automatisable qui est bien testé
  • Intégrez votre processus de mise à jour aux outils de gestion des systèmes, si possible. Si vous avez un ou deux bureaux avec des connexions WAN / Internet rapides, la mise à jour automatique est correcte. Pour un endroit comme où je travaille avec plus d'un millier d'emplacements distants avec une bande passante allant de 56k Frame Relay à 1GB metro ethernet, nous devons contrôler quand les choses se produisent.
  • Lorsque des groupes de développement internes ou une unité commerciale soumettent un logiciel pour distribution, nous sommes en mesure de distribuer ce logiciel en 3 à 5 jours. En règle générale, les tests d'acceptation des utilisateurs prennent le plus de temps et dépendent entièrement du processus de test du groupe auquel nous avons affaire. (Le système 24/7 utilisé dans le centre d'appels a un processus de test formel. La mise à niveau de Dreamweaver est un processus de test à très faible impact)
  • Si votre logiciel est impossible à emballer en 3-5 jours, vous perdez des points lorsque nous vous évaluons. Si votre modèle de distribution est vraiment stupide et que nous avons le choix, nous vous disqualifierons.
  • Document, document, document

La licence dépend de ce que vous faites. En tant qu'informatique. Lorsque vous sélectionnez une solution logicielle pour l'approvisionnement, le modèle de licence doit faire partie de ce processus. Nous incluons l'administration des licences dans nos achats, donc si vous êtes une entreprise comme Symantec qui veut nous nickeler et nous minimiser avec 6 mesures de licence différentes, nos coûts de conformité compteront contre vous. Si vous êtes une entreprise comme Microsoft et que votre processus de licence scandaleux est horrible, mais je n'ai pas le choix ... alors cela fait simplement partie du coût de faire des affaires.

duffbeer703
la source