In vielen größeren Unternehmen gibt es IT-Abteilungen, die Desktops für eine Standardkonfiguration (SOE) sperren. Endbenutzer haben im Allgemeinen keine Rechte zur Installation ihrer eigenen Software, und selbst wenn dies der Fall ist, erlauben Organisationen in der Regel nur die Installation von "genehmigter" Software.
Selbst für freie / Open-Source-Software müssen Endbenutzer häufig ein Antragsformular einreichen, um die Software überprüfen und genehmigen zu lassen. Sobald der Prozess befolgt und die Software installiert wurde, können Upgrades problematisch sein. Viele Unternehmen halten sich aus Angst vor unbekannten Problemen eher an ältere Softwareversionen (Windows XP, Office 2003 usw.).
Was können Softwareentwickler tun, um den Genehmigungsprozess zu beschleunigen?
Wenn Sie an einem solchen Genehmigungsprozess beteiligt sind:
- Worauf achten Sie bei der Bewertung von Software? Zum Beispiel:
- Bevorzugen Sie MSIs oder xcopy-fähige Software?
- Wenn die Software Frameworks (Java, .NET) erfordert, ist das mehr oder weniger problematisch?
- Wenn die Software automatische Updates unterstützt, erlauben Sie dies im Allgemeinen?
- Wie lange dauert es in der Regel?
- Welche Art von Lizenzmodellen bevorzugen Sie (übertragbar, pro Sitzplatz, pro CPU, standortweit)?
- Was können ISVs noch tun, um ihre Chancen auf eine Genehmigung ihrer Software zu verbessern?
quelle
Antworten:
Ich bin Teil der Software Approvals Group für ein multinationales Unternehmen und würde absolut alles wiederholen, was Adam oben gesagt hat.
Ich möchte auch die folgenden Punkte ansprechen: Erstens zahlen Sie immer alle Ihre "Entwicklungssteuern".. Dies bedeutet, dass Sie sicherstellen müssen, dass Ihre App in einer Vielzahl von Umgebungen ordnungsgemäß funktioniert, die Sie möglicherweise nie verwenden, die aber höchstwahrscheinlich für große Unternehmen ein Deal-Breaker sein werden. Dies sind Dinge wie die Sicherstellung, dass Ihre App gut mit Roaming-Benutzerprofilen und funktioniert umgeleitete Benutzerordner (verwenden Sie immer Windows-APIs, um Benutzer- und Profilordner zu finden, gehen Sie niemals davon aus, dass sie sich an Standardspeicherorten oder sogar auf dem lokalen Laufwerk befinden), und stellen Sie sicher, dass sie auf Remotedesktopservern (auf denen möglicherweise eine vorhanden ist) einwandfrei funktionieren 100 Kopien Ihrer App werden gleichzeitig ausgeführt (einige verwenden sehr langsame Verbindungen), auf Laptops mit langsamen Netzwerkverbindungen oder schwachen Batterien und so weiter. Als Beispiel haben wir kürzlich neue Versionen von mehr als einer Software von einem sehr großen Unternehmen abgelehnt (beginnt mit "A" und ist berühmt für Grafiken), weil ihre Apps plötzlich nicht mehr funktionieren.
Nach dem Ton Ihres Kommentars klingt es so, als ob Sie denken, dass der Genehmigungsprozess etwas mit den Kosten zu tun hat? Aus unserer Sicht würden wir die Kosten pro Einheit einer App im Genehmigungsprozess überhaupt nicht berücksichtigen. Finanzielle Rechtfertigungen für Apps wurden ausgearbeitet, Software-Genehmigungen erfolgen aus technischer Sicht und unter dem Gesichtspunkt der Support-Fähigkeit. Freie und Open Source-Software hat im Allgemeinen mehr Probleme, unseren Prozess zu durchlaufen als eine proprietäre kommerzielle App. Oft liegt dies einfach an der mangelnden Rechenschaftspflicht. An wen gehst du, wenn es Probleme mit der App gibt und du Unterstützung brauchst, was ist ihre SLA? Wen fragen Sie, wenn Sie herausfinden möchten, ob die App mit einer neuen Version von OtherApp vX funktioniert? Geben sie Ihnen wirklich eine Antwort, auf die die Leute wirklich hinarbeiten, oder ist dies eine vage Antwort? "
Software-Upgrades müssen denselben Prozess durchlaufen wie völlig neue Software. Der einzige Vorteil, den sie haben, ist, dass wir die Antworten auf einige der Fragen bereits kennen, da wir die Software bereits unterstützt haben (dies ist möglicherweise nicht positiv für die Software, Support-Teams haben Upgrades aufgrund von Erfahrungen mit abgelehnt das Unternehmen).
Jede dieser Bereitstellungsmethoden kann gut sein, solange sie ordnungsgemäß verpackt wurden. Andernfalls wird Ihr Installationsprogramm wahrscheinlich herausgerissen und die Software für die Bereitstellung selbst neu verpackt.
Es ist definitiv problematischer. Die Versionierung in den meisten Frameworks und die Abwärts- / Vorwärtskompatibilität sind grausam. Insbesondere mit Java erfordern viele Apps (und Websites) eine bestimmte Haupt- und Nebenversion von Java und funktionieren mit nichts anderem. Wenn Sie drei verschiedene Apps auf einem Computer installieren müssen, für die alle unterschiedliche Java-Versionen erforderlich sind, und diese nicht mit den Standardmethoden zum Tarnen einer Java-Version als andere zufrieden sind, treten Probleme auf. .Net hat seine eigenen Probleme mit der Versionierung, lässt Sie jedoch gerne alle wichtigen Versionen des Frameworks gleichzeitig installieren, wodurch viele dieser Probleme behoben werden.
Noch nie. Es gibt viel zu viele Probleme bei der Versionierung und Interoperabilität, als dass sich eine App jemals ohne Vorwarnung selbst aktualisieren könnte. App-Upgrades erfordern Tests und Planung. Auch Benutzer mit normalen Benutzerrechten können die Updates ohnehin nicht anwenden. Wenn Sie eine Bereitstellungsmethode verwenden, die das Patchen ermöglicht (z. B. MSIs mit MSP-Patches verwenden), kann dies das Sicherheitspatching für Apps erheblich erleichtern, und wir können die automatische Aktualisierung mithilfe unserer Bereitstellungstools (WSUS und SMS) selbst verwalten ). Auch unser Sicherheitsteam ist sehr misstrauisch gegenüber jeder App, die "zur Basis zurück spricht". Sie möchten genau wissen, welche Informationen gesendet werden und warum sie etwas über das Internet an einen unbekannten Server senden müssen.
Einige einfache Apps und Versions-Upgrades können festgelegt werden, solange 6 Personen in Outlook auf die Schaltfläche "Genehmigen" klicken. Komplexere oder kontroverse warten möglicherweise alle zwei Wochen auf unser Gruppentreffen. Einige Apps werden möglicherweise bei mehr als einem dieser Meetings besprochen, wenn Teams Fragen zu einer App wegnehmen und recherchieren / testen.
Kommt ganz darauf an, wie und von wie vielen Personen die App genutzt wird. Das Wichtigste ist, dass Ihre Lizenzierung klar definiert ist. Wir müssen unsere Mitarbeiter zu (wenn auch kostenlosen) Kursen schicken, um die Microsoft-Lizenzierung zu verstehen. Wir werden uns nicht die Mühe machen, das für einen ISV zu tun.
Berücksichtigen Sie bei der Lizenzierung unsere stillen, automatisierten Installationsanforderungen. Wenn Ihre Lizenzen aktiviert werden müssen, müssen wir Sie nicht jedes Mal anrufen / per E-Mail benachrichtigen, wenn wir eine App auf einem PC neu installieren. Wenn für jede Kopie der App ein separater, anderer Lizenzschlüssel eingegeben werden muss, können wir diesen nicht automatisch bereitstellen. Wenn wir jedoch einen Bulk-Schlüssel (2, 10, 50, 500 usw.) kaufen können, der gespeichert werden kann die leise Installation, dann freuen wir uns. Es ist sogar noch besser, wenn wir ein Jahr später zu Ihnen zurückkehren und verhandeln können, um die Anzahl unserer Lizenzen zu erhöhen, ohne den in die Software eingegebenen Schlüssel ändern zu müssen.
Wir werden uns auch mit Dingen befassen, die nicht eng mit dem aktuellen Stand Ihrer App zusammenhängen. Denken Sie daran, dass Ihre App, wenn sie Teil des Standard-Workflows für einen unserer Bereiche wird, möglicherweise 10 Jahre oder länger verwendet wird. Wie sieht also die Roadmap Ihres Produkts aus? Wenn Sie die neueste brandneue oder in der Entwicklung befindliche Version von Windows noch nicht unterstützen, haben Sie einen Plan, wann Sie dies tun werden? Sieht es so aus, als würden Sie sich an diese Roadmaps halten? Sieht es so aus, als hätten Sie Pläne für drastische Änderungen an Ihrer App, entweder in Bezug auf die Funktionsweise oder die verwendeten Technologien / Frameworks? Steckt Ihre App in andere Apps, z. B. MS Office oder IE, wenn ja, wie tolerant ist sie gegenüber älteren oder neueren Versionen?
quelle
Wir sind eine recht kleine Organisation, haben jedoch auf Standard-Desktops und genehmigte Software umgestellt, um den Verwaltungsaufwand zu verringern.
Alles, was eine "stille" Installation durchführen kann. MSIs funktionieren hier im Allgemeinen gut, aber viele Installationsprogramme sind auch in Ordnung. Wenn wir es auf irgendeine Weise konfigurieren müssen, ist es gut, auch das Skript zu erstellen, entweder durch Xcopy-Dateien oder durch Zusammenführen der Registrierung.
Dies kann aufgrund der unterschiedlichen Versionsanforderungen problematisch sein. Wenn Sie .NET 3.5 benötigen und 3.0 verwenden, müssen wir dieses Upgrade verwalten und sicherstellen, dass nichts anderes beschädigt wird.
Nein. Zu viel Risiko, dass die neue Version Probleme verursacht. Außerdem haben Benutzer keine Administratorrechte, sodass Updates normalerweise sowieso nicht funktionieren.
Wenn es einen dringenden geschäftlichen Bedarf gibt, so schnell wie möglich - in nur wenigen Stunden. Für umständlichere Software vielleicht eine Woche oder länger.
Je billiger desto besser! Wir können mit den meisten vernünftigen Optionen umgehen, aber es wird schwierig, wenn die Software irgendeine Art von automatisierter Überprüfung durchführt oder eine Aktivierung erfordert. Diese können mit toten PCs, fehlgeschlagenen Aktivierungen usw. nicht gut umgehen und machen im Allgemeinen zusätzliche Arbeit für uns.
Zwei Dinge fallen mir ein:
Und natürlich muss man Software erst einmal lohnenswert machen - wenn der Benutzer sie wirklich liebt, wird er lauter schreien, um sie zu genehmigen!
quelle
Das erste, was ich allgemein betrachte, ist - haben Sie die Grundlagen richtig verstanden? Wenn Sie das nicht können, werde ich unglaublich ungern weiter gehen. Daher möchte ich ein MSI-Installationsprogramm mit einem Standardanpassungstool sehen, mit dem ich eine Transformation erstellen kann. Ich möchte keine Anforderung an Administratorrechte für die Installation oder Verwendung der Software sehen. Ich möchte keine Anforderung zur Neukonfiguration von PCs sehen. Ich möchte keine Benutzerdaten sehen, die an Computerstandorte geschrieben wurden. Ich möchte keine manuellen Besuche auf Desktops sehen, sondern eine ordnungsgemäße Remoteverwaltung und -konfiguration, die über Gruppenrichtlinienobjekte verfügbar ist. Mit anderen Worten, verstehen Sie die Anforderungen einer verwalteten Unternehmensbereitstellung?
Wenn für die Software Aktualisierungen erforderlich sind, handelt es sich besser um eine AV-Definitionsdatei oder ähnliches, es ist besser möglich, Ihren eigenen zentralen Aktualisierungsserver zu verwalten, wenn Sie dies wünschen, und es ist besser, vollständig und offensichtlich zentral konfigurierbar zu sein. Ich habe nichts gegen Software, die mit Programmaktualisierungen geliefert wird, solange ich sie ausschalten kann.
Ich möchte keine Internetkommunikation von der Software sehen, abgesehen von der, die unbedingt erforderlich ist, damit sie funktioniert. Und es sollte besser alles dokumentiert werden. Indem ich Ihre Software in mein Netzwerk lasse, vertraue ich Ihnen, dass Sie weder Fehler machen noch böse sind. Ich gehe daher davon aus, dass Sie dieses Vertrauen nicht verraten werden. Wenn Sie das tun, werde ich sehr enttäuscht sein. Denken Sie daran - Sie sind ein Gast in meinem Haus, also behandeln Sie mein Haus mit Respekt.
KEINE JAVA . Nach meiner Erfahrung hat Java jedes Mal, wenn es um die Bereitstellung geht, völlige Verwüstungen angerichtet, vor allem, weil alle oben genannten Fehler aufgetreten sind. Ich bin froh, .NET zu akzeptieren, da es zumindest aus Sicht der zentralen Verwaltung sinnvoller zu sein scheint (und eine .NET-App hat aufgrund von Einschränkungen im Framework eine bessere Chance, die Grundlagen richtig zu machen).
Für die Lizenzierung suche ich zunächst eine kostenlose Testversion, die ich herunterladen kann, ohne mich registrieren zu müssen. Wenn ich das nicht sehe, werde ich wahrscheinlich vermuten, dass Sie etwas zu verbergen haben. Ich bin zeitlich begrenzt, aber ich mag keine eingeschränkte Funktionalität. Schließlich ist dies die Phase, in der ich mich entscheide, ob Ihre Software ein akzeptabler Gast in meinem Haus sein wird, also möchte ich alles sehen können.
Ich möchte einen einzigen Lizenzschlüssel für meine gesamte Site. Die Eingabe eines separaten Lizenzschlüssels auf jedem PC verstößt gegen die Regel "Muss über einen zentralen Administrator / eine zentrale Verwaltung verfügen". Preis Sie sich auch vernünftig, so dass ich, wenn ich Ihre Software nur auf 200 meiner PCs installieren muss, nicht das gleiche bezahle, als ob ich sie auf 1500 installieren müsste.
Schließlich ist die fortlaufende Unterstützung und Wartung wichtig. Das schmerzlose Ein- und Ausschalten der Software ist schließlich nur eine Kleinigkeit, aber wie sie sich im täglichen Gebrauch im Laufe der Zeit verhält, ist äußerst wichtig. Wenn ich mich mit Ihnen in Verbindung setzen muss, um ein Problem zu lösen, erwarte ich keine Hindernisse, und ich erwarte nicht, dass Sie die Schuld an anderer Stelle auf sich ziehen, ohne zumindest eine Untersuchung durchzuführen, um die Fakten festzustellen. Ich nehme auch keinen offensichtlichen Versuch in Kauf, mich in einem Wartungsvertrag abzureißen.
quelle
GAThrawns Antwort deckt das meiste ab, was ich sagen wollte. Ich möchte den Lizenzierungsaspekt der Dinge etwas näher erläutern.
Apps, die zur Überprüfung der Lizenz nach Hause zum Mutterschiff telefonieren müssen, werden normalerweise abgelehnt. Wenn Sie Ihre Software wirklich so schützen, stellen Sie einen Lizenzserver bereit, den wir selbst hosten können. Dies kann eine Drittanbieterlösung wie FLEXlm oder etwas sein, das Sie im eigenen Haus entwickeln. FLEXlm ist bei weitem das häufigste in unserer Umgebung.
Lizenzierungsoptionen für die gleichzeitige Verwendung sind immer ein großes Plus.
Wenn Sie uns dazu bringen, einen Lizenzserver zu hosten, stellen Sie sicher, dass der TCP / UDP-Port, über den kommuniziert wird, konfigurierbar ist. Gehen Sie nicht davon aus, dass Ihr Lizenzserver der einzige ist, der auf der Box ausgeführt wird.
Alle Client / Server-Interaktionen müssen ohne Endbenutzerinteraktion durchgeführt werden.
Eine Textdatei auf einer Netzwerkfreigabe, für die Endbenutzer Schreibzugriff benötigen, ist KEINE akzeptable Lizenzlösung. Benutzer haben und werden keinen Schreibzugriff auf unsere Lizenz- oder Anwendungsserver haben. Wir werden keine Ausnahme für Sie machen. Es ist mir egal, ob Sie denken, wir können es mit Quoten und dergleichen abschließen. Es ist den Aufwand nicht wert und Ihre Software ist einfach nicht so wichtig.
quelle
Ich werde zuerst # 5 beantworten, weil es das Wichtigste für mich ist.
Das Wichtigste, was Sie tun können, ist, die Windows-Logo-Tests zu bestehen. Das Programm "Designed for Windows" (oder wie auch immer sie es heutzutage nennen) testet eine Reihe von Programmfunktionen und Systeminteraktionen, die, wenn sie gemäß den Regeln geschrieben werden, die Arbeit für mich reduzieren und ein Maß an Stabilität und Benutzerfreundlichkeit für die Benutzer sicherstellen.
Hier finden Sie Antworten auf die restlichen Fragen in der angegebenen Reihenfolge:
Verwenden Sie nach Möglichkeit immer ein MSI-Installationsprogramm in einer einzelnen Datei. Auf diese Weise kann ich manuell, mit Gruppenrichtlinien oder mit so ziemlich jedem gewünschten Softwarebereitstellungstool bereitstellen. Windows Vista (und Server 2008) enthält Microsoft .NET Framework 3.0 (und 2.0) als Betriebssystemkomponente. Wenn Sie .NET verwenden, machen Sie Version 2.0 oder 3.0 zu Ihrer Anforderung, und Sie werden mir das Leben leichter machen. Wenn Sie eine andere Framework-Anforderung haben, z. B. .NET 3.5 oder Java Runtime Environment, befolgen Sie die Anweisungen des Herstellers für die Installation genauestens.
Nein. In einer Umgebung mit eingeschränkten Benutzern können Benutzer keine Updates genehmigen, und ich möchte fast nie, dass andere Programmupdates als Betriebssystem-Sicherheitsupdates automatisch heruntergeladen werden. Deaktivieren Sie automatische Updates standardmäßig in leisen oder grundlegenden UI-Installationsmodi, sodass ich bei der Bereitstellung über Gruppenrichtlinien keine registrierungsmodifizierenden Skripts oder Workstation-Besuche durchführen muss, um Ihren Updater auszuschalten. In einer manuellen, interaktiven Installation ist es in Ordnung, dazu aufzufordern.
Ich habe keine gute Antwort, wie lange es dauert. Bei meinem letzten Job war es sehr unterschiedlich im Bereich von unmittelbar bis zu Jahren.
Die Lizenzierung muss einfach und vertraut sein. Je ähnlicher Ihre Produktlizenzierung etwas ist, das ich bereits kenne, desto weniger muss ich darüber lernen und desto schneller kann ich mit dem Kauf und der Bereitstellung Ihres Produkts fortfahren. Je nach Art des Programms bevorzuge ich die Lizenzierung pro Computer oder pro Benutzer. Diese können leicht nachverfolgt werden, indem sie bestimmten Benutzern zugewiesen werden. Für meinen vorherigen Job war unser Unternehmen zu klein, als dass die normalerweise sehr teuren Standortlizenzen erschwinglich wären.
quelle
Die Funktion der IT besteht darin, Technologien zur Unterstützung des Kerngeschäfts bereitzustellen und zu warten.
Für Sie, den ISV, bedeutet das:
Die Lizenzierung hängt davon ab, was Sie tun. Als IT-Mann. Wenn Sie eine Softwarelösung für die Beschaffung auswählen, muss das Lizenzmodell Teil dieses Prozesses sein. Wir kosten die Lizenzverwaltung für unsere Beschaffungen. Wenn Sie also ein Unternehmen wie Symantec sind, das uns mit 6 verschiedenen Lizenzmetriken vernickeln und belasten möchte, werden unsere Compliance-Kosten für Sie angerechnet. Wenn Sie ein Unternehmen wie Microsoft sind und Ihr unerhörter Lizenzierungsprozess schrecklich ist, aber ich keine Wahl habe ... dann wird dies nur zu einem Teil der Geschäftskosten.
quelle