Processi di approvazione del software in grandi organizzazioni


8

Molte organizzazioni più grandi dispongono di dipartimenti IT che bloccano i desktop a una configurazione standard o SOE. Gli utenti finali in genere non hanno i diritti di installare il proprio software e, anche se lo facessero, le organizzazioni tendono a consentire solo l'installazione di software "approvato".

Anche per i software gratuiti / open source, gli utenti finali devono spesso inviare una sorta di modulo di richiesta per verificare e approvare il software. Una volta che il processo è stato seguito e il software è installato, gli aggiornamenti possono essere problematici: molte organizzazioni tendono a rimanere con le versioni precedenti del software (Windows XP, Office 2003, ecc.) Per paura di problemi sconosciuti.

Cosa possono fare gli sviluppatori di software per accelerare il processo di approvazione?

Se sei coinvolto in tale processo di approvazione:

  1. Cosa cerchi nella valutazione del software? Per esempio:
    • Preferisci il software MSI o il software compatibile con xcopy?
    • Se il software richiede framework (Java, .NET) è più o meno probabile che sia problematico?
  2. Se il software supporta gli aggiornamenti automatici, lo consenti in genere?
  3. Quanto tempo impiega generalmente?
  4. Che tipo di modelli di licenza preferisci (trasferibili, per postazione, per CPU, a livello di sito)?
  5. Cos'altro possono fare gli ISV per migliorare le loro possibilità di ottenere l'approvazione del loro software?

La vastità delle risposte fornite a questa domanda fa sembrare che dovrebbe essere un wiki della comunità
Ryan Bolger,

Risposte:


12

Faccio parte del Software Approvals Group per un'azienda multinazionale e vorrei assolutamente fare eco a tutto ciò che Adam dice sopra.

Vorrei anche sottolineare i seguenti punti, in primo luogo pagare sempre tutte le "tasse di sviluppo". Ciò significa assicurarsi che la tua app funzioni correttamente in tutta una varietà di ambienti che potresti non usare mai, ma che molto probabilmente costituirà un punto di rottura per le grandi aziende, come ad esempio assicurarsi che la tua app funzioni bene con i profili utente in roaming e cartelle utente reindirizzate (utilizzare sempre le API di Windows per trovare le cartelle degli utenti e dei profili, non dare mai per scontato che si trovino in posizioni standard o persino sull'unità locale), assicurandosi che vengano riprodotte correttamente sui server Desktop remoto (dove potrebbe esserci un 100 copie della tua app in esecuzione contemporaneamente, alcune con connessioni molto lente), su laptop con connessioni di rete lente o batterie scariche e così via. Ad esempio, abbiamo recentemente rifiutato nuove versioni di più di un software da una società molto grande (inizia con "A" ed è famosa per la grafica) perché le loro app improvvisamente non '

Anche per i software gratuiti / open source, gli utenti finali devono spesso inviare una sorta di modulo di richiesta per verificare e approvare il software.

Dal tono del tuo commento sembra che pensi che il processo di approvazione abbia a che fare con i costi? Dal nostro punto di vista, il costo unitario di un'app non è qualcosa che prenderemmo in considerazione nel processo di approvazione. Le giustificazioni finanziarie per le app saranno state elaborate, le approvazioni del software verranno eseguite dal punto di vista tecnico e di supporto. Il software gratuito e Open Source in genere ha più problemi a superare il nostro processo rispetto a un'app commerciale proprietaria. Spesso questo è semplicemente dovuto alla mancanza di responsabilità. A chi vai quando ci sono problemi con l'app e hai bisogno di supporto, qual è il loro SLA? A chi chiedi quando hai bisogno di scoprire se l'app funzionerà con una nuova versione di OtherApp vX, ti stanno davvero dando una risposta reale a cui le persone stanno davvero lavorando, o è una vaga "

Una volta che il processo è stato seguito e il software è installato, gli aggiornamenti possono essere problematici: molte organizzazioni tendono a rimanere con le versioni precedenti del software (Windows XP, Office 2003, ecc.) Per paura di problemi sconosciuti.

Gli aggiornamenti del software devono passare attraverso lo stesso processo dei nuovi software. L'unico vantaggio che hanno è che sapremo già le risposte ad alcune delle domande poiché abbiamo già supportato il software (questo potrebbe non essere positivo per il software, i team di supporto hanno posto il veto agli aggiornamenti in base all'esperienza con l'azienda).

Preferisci il software MSI o il software compatibile con xcopy?

Entrambi questi metodi di distribuzione possono essere validi, purché siano stati impacchettati correttamente. Altrimenti è molto probabile che strappiamo il tuo programma di installazione e riconfezioniamo il software per la distribuzione da soli.

  • Qualunque sia il programma di installazione che usi, devi assicurarti di rispettare tutte le sue modalità di installazione silenziosa e automatica. Se la tua app richiede un'installazione manuale, ovvero un rompicapo istantaneo, semplicemente non esiste un modo pratico per farlo su macchine in 5 continenti che ottengono tutto il supporto non hardware da un ufficio centrale.
  • Data la scelta, preferirei un'installazione MSI ben eseguita a un'installazione xcopy ben eseguita. Il problema con la maggior parte dei software compatibili con Xcopy è quando provano a installarsi e registrarsi al primo avvio. Molto raramente ho trovato un'app che lo fa correttamente e non causa problemi in un utente in roaming / ambiente hotdesk. I programmi di installazione MSI (se ti attieni all'API standard) non sono in grado di andare troppo lontano.
  • Assicurarsi che l'installazione non presidiata offra la possibilità di apportare tutte le modifiche alla configurazione che è possibile effettuare in un'installazione manuale. Se stai usando MSI e ti attieni all'API, allora va bene, possiamo fare trasformazioni MST e fare tutto questo senza problemi. Se stai utilizzando un programma di installazione di terze parti diverso, assicurati che consenta qualcosa come un file "answer" o un file INI o simile. Testa l'installazione silenziosa e assicurati che tutte le opzioni funzionino, mi sono imbattuto in prodotti che annunciano allegramente le loro opzioni di installazione silenziosa, ma in realtà non hanno mai testato se tutte le opzioni funzionano.
  • Preferibilmente ci offrono opzioni extra nell'installazione invisibile che ci consentono di impostare molte impostazioni che un utente normalmente modifica nel pannello Opzioni. Ciò potrebbe avvenire tramite switch su setup.exe, ad esempio avendo un file INI documentato per le impostazioni, documentando le modifiche del Registro di sistema necessarie o tutto quanto sopra. Comunque sia, vorremmo assicurarci che i nostri utenti possano iniziare a utilizzare il software senza dover eseguire alcuna configurazione da soli, quelli importanti qui sono percorsi predefiniti per file, nomi di server predefiniti, impostazioni proxy (se la tua app funziona su una rete), ecc.

Se il software richiede framework (Java, .NET) è più o meno probabile che sia problematico?

È decisamente più problematico. Il controllo delle versioni nella maggior parte dei framework e la compatibilità con le versioni precedenti è atroce. Con Java in particolare, molte app (e siti Web) richiedono una particolare versione principale e secondaria di Java installata e non funzioneranno con nient'altro. Se hai bisogno di mettere tre diverse app su una macchina che hanno tutte bisogno di versioni diverse di Java e non sono contente dei modi standard di mascherare una versione Java come un'altra, allora ci saranno problemi. .Net ha i suoi problemi con il controllo delle versioni, ma ti consente felicemente di installare tutte le principali versioni del framework allo stesso tempo, il che aggira molti di questi.

Se il software supporta gli aggiornamenti automatici, lo consenti in genere?

Mai. Esistono troppi mal di testa per il controllo delle versioni e l'interoperabilità per consentire a un'app di aggiornarsi senza alcun avviso. Gli aggiornamenti delle app richiedono test e pianificazione. Inoltre, gli utenti con diritti utente normali non possono comunque applicare gli aggiornamenti. Se si utilizza un metodo di distribuzione che consente l'applicazione di patch (ad es. Utilizzare MSI con patch MSP), ciò può rendere le cose come la patch di sicurezza per le app molto meno problematiche e possiamo gestire l'aggiornamento automatico tramite i nostri strumenti di distribuzione (WSUS e SMS ). Inoltre, il nostro team di sicurezza è molto diffidente nei confronti di qualsiasi app che "risponda alla base", gli piace sapere esattamente quali informazioni sta inviando e esattamente perché deve inviare qualsiasi cosa a un server sconosciuto su Internet.

Quanto tempo impiega generalmente?

Alcune semplici app e gli aggiornamenti di versione possono essere decisi fintanto che ci vogliono 6 persone a fare clic su un pulsante di votazione "Approva" in Outlook. Quelli più complessi o controversi possono attendere la riunione del nostro gruppo ogni due settimane. Alcune app possono essere citate in più di uno di questi incontri mentre i team pongono domande su un'app e ricercano / effettuano test.

Che tipo di modelli di licenza preferisci (trasferibili, per postazione, per CPU, a livello di sito)?

Dipende totalmente da come verrà utilizzata l'app e da quante persone. La cosa più importante è che la tua licenza è chiaramente definita. Dobbiamo inviare la nostra gente su corsi (anche se gratuiti) per comprendere le licenze Microsoft. Non ci preoccuperemo di farlo per un ISV.

Considera le nostre esigenze di installazione automatizzata e silenziosa quando si tratta di licenze. Se è necessario attivare le licenze, non è necessario squillare / inviare e-mail ogni volta che si reinstalla un'app su un PC. Se ogni copia dell'app necessita di una chiave di licenza separata e diversa digitata, non possiamo distribuirla automaticamente, mentre se possiamo acquistare una chiave in blocco (2, 10, 50, 500, ecc.) Che può essere salvata in l'installazione silenziosa, quindi siamo felici. È ancora meglio se possiamo tornare da te un anno dopo e negoziare per espandere il nostro numero di licenze senza dover cambiare la chiave digitata nel software.

Cos'altro possono fare gli ISV per migliorare le loro possibilità di ottenere l'approvazione del loro software?

Vedremo anche cose che non sono strettamente correlate a come è la tua app al momento. Tenendo presente che se l'app diventa parte del flusso di lavoro standard per una delle nostre aree, potrebbe essere utilizzata per 10 anni o più, quindi come sarà la roadmap del tuo prodotto? Se non supportate ancora l'ultima versione di Windows nuova di zecca o in sviluppo, avete un piano per quando lo farete? Sembra che ti attieni a queste tabelle di marcia? Sembra che tu abbia in programma modifiche drastiche alla tua app, sia nel modo in cui funziona sia nelle tecnologie / framework che utilizza? La tua app si collega ad altre app, ad esempio MS Office o IE, in caso affermativo quanto è tollerante rispetto alle versioni precedenti o più recenti di quelle?


Buona risposta completa. Molte delle cose che GAThrawn specifica esplicitamente qui sono coperte dal programma logo Windows (ad esempio, pagando le tasse di sviluppo).
Jay Michaud,

+1 per il semplice sforzo di rispondere a ciascun punto.
osij2is

6

Siamo un'organizzazione piuttosto piccola, ma ci siamo spostati su desktop standard e software approvato per ridurre i problemi di amministrazione.

Preferisci il software MSI o il software compatibile con xcopy?

Tutto ciò che può eseguire un'installazione "non presidiata". In genere MSI funziona bene qui, ma anche molti software di installazione vanno bene. Se dobbiamo configurarlo in qualche modo, allora è bene essere in grado di eseguire lo script anche tramite i file xcopy o l'unione del registro.

Se il software richiede framework (Java, .NET) è più o meno probabile che sia problematico?

Può essere problematico a causa dei diversi requisiti di versione. Se hai bisogno di .NET 3.5 e stiamo usando 3.0, allora dobbiamo gestire quell'aggiornamento e assicurarci che non rompa nient'altro.

Se il software supporta gli aggiornamenti automatici, lo consenti in genere?

No. Troppo rischio che la nuova versione causi problemi. Inoltre, gli utenti non dispongono dei diritti di amministratore, quindi gli aggiornamenti in genere non funzionano comunque.

Quanto tempo impiega generalmente?

Se c'è un'esigenza aziendale urgente, il più rapidamente possibile - in poche ore. Per software più scomodo, forse una settimana o più.

Che tipo di modelli di licenza preferisci (trasferibili, per postazione, per CPU, a livello di sito)?

Più economico è, meglio è! Siamo in grado di gestire le opzioni più ragionevoli, ma diventa difficile se il software esegue qualsiasi tipo di controllo automatico o richiede l'attivazione. Questi non tendono a gestire bene i PC morti, le attivazioni fallite ecc. E generalmente fanno un lavoro extra per noi.

Cos'altro possono fare gli ISV per migliorare le loro possibilità di ottenere l'approvazione del loro software?

Mi vengono in mente due cose:

  • Considerare la differenza tra la macchina (Programmi o HKLM) e il profilo utente (o HKCU) quando si memorizzano le impostazioni. Se lo fai bene, non dovrò scusarmi.
  • Installazione del documento, impostazioni e dettagli della licenza chiaramente sul tuo sito Web o nella documentazione del software. È molto più facile seguire una "guida alla distribuzione" che cercare di capirlo da solo.

E ovviamente devi rendere il software degno di essere usato in primo luogo - se l'utente lo adora davvero, urleranno più forte per farlo approvare!


3

La prima cosa che guardo generalmente è: hai le basi giuste? Se non puoi farlo, sarò incredibilmente riluttante ad andare oltre. Quindi voglio vedere un programma di installazione MSI con uno strumento di personalizzazione standard per consentirmi di creare una trasformazione. Non voglio vedere alcun requisito per i diritti di amministratore per installare o utilizzare il software. Non voglio vedere alcun requisito per riconfigurare i PC. Non voglio vedere i dati per utente scritti nelle posizioni per computer. Non voglio vedere le visite manuali ai desktop, voglio vedere la corretta gestione remota e la configurazione disponibili tramite oggetti Criteri di gruppo. In altre parole, capisci i requisiti di una distribuzione aziendale gestita?

Se il software richiede qualsiasi tipo di aggiornamento, è meglio che sia simile a un file di definizione AV o simile, è meglio mantenere il proprio server centrale di aggiornamenti se lo si desidera, ed è meglio che sia completamente e ovviamente configurabile centralmente. Non mi interessa il software fornito con gli aggiornamenti del programma, purché sia ​​possibile spegnerli.

Non voglio vedere alcuna comunicazione Internet dal software a parte ciò che è assolutamente necessario per farlo funzionare. Ed è meglio che sia tutto documentato. Lasciando il tuo software sulla mia rete, mi fido di te per non rovinare né essere malvagio, quindi mi aspetto che non tradirai quella fiducia. Se lo farai, rimarrò molto deluso. Ricorda: sei un ospite a casa mia, quindi tratta la mia casa con rispetto.

NO JAVA . Java nella mia esperienza ha causato il caos totale quando si tratta di distribuzione, ogni volta, principalmente sbagliando tutto quanto sopra. Sono felice di accettare .NET poiché almeno sembra essere progettato in modo più sensato dal punto di vista della gestione centrale (inoltre un'app .NET ha maggiori possibilità di ottenere le basi giuste a causa di vincoli nel framework).

Per quanto riguarda le licenze, la prima cosa che cercherò è una versione di prova gratuita che posso scaricare senza registrarmi. Se non lo vedo, probabilmente sospetterò che tu abbia qualcosa da nascondere. Sto bene con il tempo limitato, ma non mi piace la funzionalità ridotta; dopo tutto, questo è il palcoscenico in cui decido se il tuo software sarà un ospite accettabile a casa mia, quindi voglio poter vedere tutto.

Voglio un unico codice di licenza per l'intero sito. Dover inserire una chiave di licenza separata su ogni PC infrange la regola "deve avere amministrazione / gestione centrale". Valuta anche te in modo ragionevole, in modo che se ho solo bisogno di installare il tuo software su 200 dei miei PC, non pagherò lo stesso che se dovessi installarlo su 1500.

Infine, l'assistenza e la manutenzione continue sono importanti. Dopotutto installare il software senza problemi è solo una piccola cosa, ma il modo in cui si comporta nel tempo durante il normale uso quotidiano è assolutamente critico. Se devo mettermi in contatto con te per risolvere un problema, non mi aspetto alcun ostacolo e non mi aspetto che inizi a spingere la colpa altrove senza almeno un'indagine per stabilire i fatti. Non prendo gentilmente alcun evidente tentativo di derubarmi in un contratto di manutenzione.


3

La risposta di GAThrawn copre gran parte di ciò che stavo per dire. Voglio espandere un po 'l'aspetto delle licenze delle cose.

  • Le app che devono telefonare a casa alla nave madre per la verifica delle licenze sono generalmente negate. Se sei davvero così protettivo nei confronti del tuo software, fornisci un server di licenze che possiamo ospitare noi stessi. Questa può essere una soluzione di terze parti come FLEXlm o qualcosa che sviluppi in casa. FLEXlm è di gran lunga il più comune nel nostro ambiente.

  • Le opzioni di licenza per uso simultaneo sono sempre un grande vantaggio.

  • Se ci rendi host di un server licenze, assicurati che la porta tcp / udp su cui comunica sia configurabile. NON ASSUMERE che il server delle licenze sia l'unico in esecuzione sulla confezione.

  • Tutte le interazioni client / server devono essere eseguite senza alcuna interazione con l'utente finale.

  • Un file di testo che vive su una condivisione di rete che richiede agli utenti finali l'accesso in scrittura NON È una soluzione di licenza accettabile. Gli utenti non hanno e non avranno mai accesso in scrittura ai nostri server di licenze o applicazioni. Non faremo un'eccezione per te. Non mi importa se pensi che possiamo tenerlo bloccato con quote e simili. Non vale la seccatura e il tuo software non è poi così importante.


2

Prima risponderò al numero 5, perché è il più importante per me.

5. Cos'altro possono fare gli ISV per migliorare le loro possibilità di ottenere l'approvazione del loro software?

La prima cosa che puoi fare è passare il test del logo di Windows. Il programma "Progettato per Windows" (o come lo chiamano in questi giorni) testa una serie di funzioni del programma e interazioni di sistema che, se scritte secondo le regole, riducono il lavoro per me e assicurano un livello di stabilità e usabilità per gli utenti.

Ecco le risposte alle altre domande in ordine:

  1. Cosa cerchi nella valutazione del software? Ad esempio: Preferisci il software MSI o xcopy? Se il software richiede framework (Java, .NET) è più o meno probabile che sia problematico?
    Se possibile, utilizzare sempre un programma di installazione MSI in un singolo file. Questo mi consente di distribuire manualmente, con Criteri di gruppo o praticamente con qualsiasi strumento di distribuzione software che desidero. Windows Vista (e Server 2008) include Microsoft .NET Framework 3.0 (e 2.0) come componente del sistema operativo. Se stai usando .NET, rendi la tua versione 2.0 o 3.0 il tuo requisito e mi semplificherai la vita. Se hai un altro requisito di framework, come .NET 3.5 o Java Runtime Environment, segui le indicazioni del produttore per l'installazione alla lettera.
  2. Se il software supporta gli aggiornamenti automatici, lo consenti in genere?
    No. In un ambiente con utenti limitati, gli utenti non possono approvare gli aggiornamenti e non desidero quasi mai scaricare automaticamente aggiornamenti di programma diversi dagli aggiornamenti di sicurezza del sistema operativo. Disattiva gli aggiornamenti automatici per impostazione predefinita in modalità di installazione dell'interfaccia utente silenziosa o di base, in modo che se eseguo la distribuzione tramite Criteri di gruppo, non è necessario seguire gli script che modificano il registro o le visite della workstation per disattivare il programma di aggiornamento. In un'installazione manuale e interattiva, è bene richiederlo.
  3. Quanto tempo impiega generalmente?
    Non ho una buona risposta per quanto tempo ci vuole. Nel mio ultimo lavoro, è variata ampiamente nell'arco di anni immediatamente.
  4. Che tipo di modelli di licenza preferisci (trasferibili, per postazione, per CPU, a livello di sito)?
    Le licenze devono essere semplici e familiari. Più la licenza del tuo prodotto è simile a qualcosa che già conosco, meno devo imparare a riguardo e più velocemente posso andare avanti con l'acquisto e la distribuzione del tuo prodotto. A seconda del tipo di programma, tendo a preferire le licenze per macchina o per utente; sono facili da tracciare assegnandoli a utenti specifici. Per il mio lavoro precedente, la nostra azienda era troppo piccola perché quelle che di solito erano licenze per siti molto costose fossero convenienti.

1

La funzione dell'IT è quella di implementare e mantenere la tecnologia a supporto del core business.

Per te, l'ISV, ciò significa:

  • Fornire un processo di installazione e disinstallazione automatizzabile che è stato testato
  • Integra il tuo processo di aggiornamento con gli strumenti di gestione dei sistemi, se possibile. Se si dispone di uno o due uffici con connessioni WAN / Internet veloci, l'aggiornamento automatico va bene. Per un posto come dove lavoro con oltre un migliaio di postazioni remote con una larghezza di banda che va da Frame Relay a 56k a Ethernet da 1 GB di metro, dobbiamo controllare quando le cose accadono.
  • Quando gruppi di sviluppo interni o un'unità aziendale inviano software per la distribuzione, siamo in grado di distribuire tale software in 3-5 giorni. In genere, i test di accettazione da parte dell'utente richiedono più tempo ed è interamente dipendente dal processo di test del gruppo con cui abbiamo a che fare. (Il sistema 24/7 utilizzato nel callcenter ha un processo di test formale. L'aggiornamento di Dreamweaver è un processo di test a impatto molto basso)
  • Se il tuo software è impossibile da impacchettare in 3-5 giorni, perdi punti quando ti valutiamo. Se il tuo modello di distribuzione è davvero stupido e abbiamo una scelta, ti squalificheremo.
  • Documento, documento, documento

Le licenze sono qualcosa che dipende da ciò che fai. Come un ragazzo IT. Quando si seleziona una soluzione software per l'approvvigionamento, il modello di licenza deve far parte di tale processo. Costituiamo un costo per l'amministrazione delle licenze nei nostri acquisti, quindi se sei un'azienda come Symantec che vuole darci un nickel e usurparci con 6 diversi parametri di licenza, i nostri costi di conformità verranno conteggiati contro di te. Se sei un'azienda come Microsoft e il tuo oltraggioso processo di gestione delle licenze è terribile, ma non ho scelta ... questo diventa parte del costo per fare affari.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.