大型组织中的软件批准流程


8

许多大型组织的IT部门将台式机锁定为标准配置或SOE。最终用户通常没有安装自己的软件的权利,即使这样做,组织也倾向于只允许安装“批准的”软件。

即使对于免费/开源软件,最终用户也经常必须提交某种形式的请求表,以对软件进行验证和批准。一旦遵循了该过程并安装了软件,升级就会很麻烦-许多组织倾向于使用较旧版本的软件(Windows XP,Office 2003等),以免出现未知问题。

软件开发人员可以采取什么措施来加快审批流程?

如果您参与了这样的批准过程:

  1. 您在评估软件时会寻找什么?例如:
    • 您喜欢MSI或可xcopy的软件吗?
    • 如果该软件需要框架(Java,.NET),那么或多或少会出现问题?
  2. 如果软件支持自动更新,通常是否允许这样做?
  3. 一般需要多长时间?
  4. 您更喜欢哪种许可模式(可转让,每个用户,每个CPU,整个站点)?
  5. ISV还可以采取哪些其他措施来提高其软件获得批准的机会?

提供给该问题的答案之广,似乎应该成为社区Wiki
Ryan Bolger

Answers:


12

我是一家跨国公司的软件批准小组的成员,我绝对会回应亚当上面所说的一切。

我还要指出以下几点,首先要始终支付您的所有“开发税”。这意味着要确保您的应用程序可以在您可能从未使用过的各种环境中正常运行,但很可能会成为大型公司的交易破坏者,这些事情包括确保您的应用程序在漫游用户个人资料和重定向的用户文件夹(始终使用Windows API查找用户和配置文件文件夹,永远不要假定它们位于标准位置,甚至不在本地驱动器上),确保它在远程桌面服务器(可能存在在网络连接速度慢或电池电量低的笔记本电脑上,一次运行100份应用程序副本,有些使用非常慢的连接。例如,我们最近拒绝了一家大型公司(以“ A”开头并以图形显示而闻名)的多个软件的新版本,因为他们的应用突然间

即使对于免费/开源软件,最终用户也经常必须提交某种形式的请求表,以对软件进行验证和批准。

用您的评论语气听起来好像您认为批准过程与成本有关?从我们的角度来看,在审批过程中根本不会考虑应用的单位成本。应用的财务依据已经确定,软件的批准全部从技术和支持能力的角度进行。与专有的商业应用程序相比,免费和开源软件通常很难通过我们的流程。通常这归结为缺乏责任感。当应用程序出现问题并且需要支持时,您去找谁,他们的SLA是多少?您想问谁,什么时候需要确定该应用程序是否可以与新版本的OtherApp vX一起使用,他们是在为您提供人们正在努力解决的实际答案,还是模糊的“

一旦遵循了该过程并安装了软件,升级就会很麻烦-许多组织倾向于使用较旧版本的软件(Windows XP,Office 2003等),以免出现未知问题。

软件升级必须与全新软件一样经历相同的过程。他们唯一的优势是,因为我们已经在支持该软件,所以我们已经知道了一些问题的答案(这可能对软件没有积极意义,支持团队已根据对产品的经验否决了升级公司)。

您喜欢MSI或可xcopy的软件吗?

只要已正确打包,这些部署方法中的任何一种都可以。否则,我们很可能会淘汰您的安装程序并重新打包软件以供自己部署。

  • 无论使用哪种安装程序,都必须确保遵守其所有无提示,无人值守的安装模式。如果您的应用程序需要手动安装,这是即时解决方案,那么根本没有实际方法可以在五大洲的计算机上执行此操作,这些计算机都可以从中央办公室获得所有非硬件支持。
  • 如果有选择,我宁愿做得好的MSI安装也要好做的xcopy安装。大多数支持Xcopy的软件的问题在于,它们尝试在首次运行时进行设置和注册。我很少找到能正确执行此操作且不会在漫游用户/ hotdesk环境中引起问题的应用程序。MSI安装程序(如果您坚持使用标准API)不会出错。
  • 确保您的静默安装能够进行可以在手动安装中进行的所有配置更改。如果您使用的是MSI并坚持使用API​​,那么这很好,我们可以进行MST转换,而这一切都没有问题。如果您使用其他第三方安装程序,请确保它允许类似“ answer”文件或INI文件之类的文件。测试静默安装并确保所有选项都有效。我遇到了一些产品,它们高兴地宣布了它们的静默安装选项,但它们从未真正测试过所有选项是否都有效。
  • 最好在静默安装中为我们提供其他选项,使我们可以设置用户通常会在“选项”面板中更改的许多设置。这可能是通过setup.exe上的开关进行的,也可能是通过文档记录了设置的INI文件,通过记录了必要的注册表更改,或者是上述所有方法。无论如何,我们要确保我们的用户可以自行启动并运行该软件,而无需自己进行任何配置,其中重要的是文件的默认位置,默认的服务器名称,代理设置(如果您的应用程序正在运行)通过网络)等

如果该软件需要框架(Java,.NET),那么或多或少会出现问题?

肯定有更多问题。大多数框架中的版本控制和向后/向前兼容性都非常糟糕。特别是使用Java时,许多应用程序(和网站)都需要安装特定的Java主要版本和次要版本,并且不能与其他任何版本一起使用。如果您需要在需要所有Java不同版本的机器上放置三个不同的应用程序,而他们对将一个Java版本掩盖为另一个Java版本的标准方法不满意,那么就会有问题。.Net在版本控制方面有其自身的问题,但是很高兴可以让您同时安装框架的所有主要版本,从而解决了很多此类问题。

如果软件支持自动更新,通常是否允许这样做?

决不。存在太多的版本控制和互操作性难题,以至于应用程序无法在没有任何警告的情况下进行自我更新。应用升级需要测试和计划。同样,拥有正常用户权限的用户也无法应用更新。如果您使用允许打补丁的部署方法(例如,将MSI与MSP补丁一起使用),那么可以使诸如应用程序安全补丁之类的事情轻松得多,并且我们可以使用我们的部署工具(WSUS和SMS)来管理自动更新)。此外,我们的安全团队对任何“与基地对话”的应用程序都非常怀疑,他们希望确切地知道其发送的信息以及为什么需要通过互联网将任何信息发送到未知服务器。

一般需要多长时间?

只要花6个人单击Outlook中的“批准”投票按钮,就可以确定一些简单的应用程序和版本升级。比较复杂或有争议的小组可能每两周等待我们的小组会议。在团队中,有一些应用可能会在不止一次的会议上被谈论,因为团队会将有关应用和研究/测试的问题带走。

您更喜欢哪种许可模式(可转让,每个用户,每个CPU,整个站点)?

完全取决于应用程序的使用方式以及使用人数。最重要的是,您的许可已明确定义。我们必须派人上(尽管免费)课程来了解Microsoft许可。对于ISV,我们不会为此而烦恼。

考虑到许可方面的无声,自动安装需求。如果您的许可证需要激活,我们不需要每次在PC上重新安装应用程序时都向您发送电子邮件。如果应用程序的每个副本都需要分别键入不同的许可证密钥,那么我们将无法自动部署该密钥,而如果我们可以购买可以存储在其中的批量(2、10、50、500等席位)密钥,静默安装,那么我们很高兴。如果我们可以在一年后与您联系并商定增加许可证数量而不必更改软件中键入的密钥,那就更好了。

ISV还可以采取哪些其他措施来提高其软件获得批准的机会?

我们还将研究目前与您的应用程序并不严格相关的事物。请记住,如果您的应用成为我们其中一个领域的标准工作流程的一部分,则它可能会使用10年或更长时间,那么您产品的路线图是什么样的?如果您尚不支持最新的Windows全新版本或开发版本,是否有计划在何时使用?看起来您是否坚持这些路线图?看起来您是否计划对应用程序进行大刀阔斧的修改,无论是工作方式还是使用的技术/框架?您的应用程序是否可以插入其他任何应用程序(例如MS Office或IE),如果可以,那么这些应用程序的旧版本或新版本有多宽容?


好,全面的答案。Windows徽标程序涵盖了GAThrawn在此处明确指定的许多内容(例如,支付开发税)。
杰伊·米肖

+1只是为了回答每个问题。
osij2is

6

我们是一个很小的组织,但是迁移到标准台式机和经过认可的软件以减少我们的管理麻烦。

您喜欢MSI或可xcopy的软件吗?

任何可以执行“静默”安装的程序。MSI通常可以在这里正常工作,但也可以使用许多安装程序软件。如果我们必须以某种方式进行配置,那么也可以通过xcopy-ing文件或注册表合并来编写脚本。

如果该软件需要框架(Java,.NET),那么或多或少会出现问题?

由于版本要求不同,可能会出现问题。如果您需要.NET 3.5且我们正在使用3.0,则必须管理该升级,并确保它不会破坏其他功能。

如果软件支持自动更新,通常是否允许这样做?

否。新版本引起问题的风险太大。另外,用户没有管理员权限,因此更新通常无论如何都无法进行。

一般需要多长时间?

如果有迫切的业务需求,请尽快-短短几个小时。对于更笨拙的软件,可能需要一周或更长时间。

您更喜欢哪种许可模式(可转让,每个用户,每个CPU,整个站点)?

越便宜越好!我们可以处理最合理的选择,但是如果该软件执行任何类型的自动检查或需要激活,则将变得非常困难。这些通常无法很好地处理死机,激活失败等问题,通常会为我们增加额外的工作量。

ISV还可以采取哪些其他措施来提高其软件获得批准的机会?

我想到两件事:

  • 存储设置时,请考虑机器(程序文件或HKLM)与用户配置文件(或HKCU)之间的差异。如果您正确执行此操作,那么我就不必为此感到遗憾。
  • 在您的网站或软件文档中清楚地记录安装,设置和许可详细信息。遵循“部署指南”要比自己尝试要容易得多。

当然,您首先必须使软件值得使用-如果用户真的喜欢它,他们将大声喊叫使它获得批准!


3

我通常要看的第一件事是-您是否掌握了正确的基础知识?如果您不能这样做,那么我将非常不情愿地进一步。因此,我希望看到带有标准定制工具的MSI安装程序,以允许我构建转换。我不想看到对安装或使用该软件的管理员权限有任何要求。我不想看到任何重新配置​​PC的要求。我不想看到将每个用户的数据写入每个计算机的位置。我不想看到手动访问台式机,我想看到可以通过GPO提供的适当的远程管理和配置。换句话说,您了解托管企业部署的要求吗?

如果软件需要任何类型的更新,最好是类似于AV定义文件或类似文件,如果需要,最好可以维护自己的中央更新服务器,并且最好完全地进行集中配置。我不介意程序更新随附的软件,只要我可以将其关闭即可。

除了正常运行所必需的软件之外,我不想看到该软件的任何Internet通信。并且最好将其全部记录下来。通过将您的软件发布到我的网络上,我对您的信任不会破坏也不会邪恶,因此我希望您不会背叛这种信任。如果您这样做,我将非常失望。记住-您是我家的客人,所以请尊重我的家。

没有JAVA。以我的经验,Java每次部署都引起了极大的破坏,这主要是因为弄错了所有上述错误。我很高兴接受.NET,因为至少从中央管理的角度看,它似乎是更明智的设计(而且由于框架的限制,.NET应用程序更有可能使基础知识正确)。

对于许可,我首先要寻找的是免费试用版,无需注册即可下载。如果我看不到这个,我可能会怀疑您有什么藏起来。我有时间限制,但我不喜欢功能减少;毕竟,这是我决定您的软件是否将成为我家中可接受的访客的阶段,因此我希望能够看到一切。

我想要整个站点的一个许可证密钥。在每台PC上必须输入单独的许可证密钥会破坏“必须具有中央管理/管理”规则。还要对自己定价,这样,如果我只需要在200台PC上安装您的软件,就不必像在1500上安装软件那样付钱。

最后,持续的支持和维护很重要。毕竟,毫不费力地安装和启动软件只是一件小事,但是在日常的日常使用中如何随时间变化是非常关键的。如果我需要与您联系以解决问题,那么我不会遇到任何障碍,也希望您在没有进行任何调查来确定事实的情况下就开始将责任推到其他地方。我也不会采取任何明显的企图来剥夺我的维护合同。


3

GAThrawn的答案涵盖了我要说的大部分内容。我想在许可方面扩大一点。

  • 通常需要拒绝需要打电话给母公司进行许可验证的应用程序。如果您确实保护软件,请提供我们可以托管的许可服务器。这可以是FLEXlm之类的第三方解决方案,也可以是您自己开发的解决方案。到目前为止,FLEXlm是我们环境中最常见的。

  • 并发使用许可选项始终是一大优势。

  • 如果您让我们托管许可证服务器,请确保其通信的tcp / udp端口是可配置的。 不要担心,您的许可证服务器是机器上唯一运行的许可证服务器。

  • 所有客户端/服务器交互都需要在没有任何最终用户交互的情况下完成。

  • 网络共享上的文本文件要求最终用户具有写访问权,这不是可接受的许可解决方案。用户没有并且永远不会拥有对我们的许可或应用程序服务器的写权限。我们不会为您例外。我不在乎您是否认为我们可以通过配额等来限制它。这不值得麻烦,而且您的软件也不那么重要。


2

我将首先回答#5,因为这对我来说是最重要的。

5ISV还可以采取哪些其他措施来提高其软件获得批准的机会?

您可以做的第一件事就是通过Windows徽标测试。“ Designed for Windows”(或Windows如今所说的)程序测试了许多程序功能和系统交互,如果根据规则进行编写,将为我减少工作量并确保用户的稳定性和可用性。

以下是按顺序回答其余问题的答案:

  1. 您在评估软件时会寻找什么?例如:您喜欢MSI或可xcopy的软件吗?如果该软件需要框架(Java,.NET),那么或多或少会出现问题?
    如果可能,请始终在单个文件中使用MSI安装程序。这使我可以使用组策略或几乎所需的任何软件部署工具进行手动部署。Windows Vista(和Server 2008)包括Microsoft .NET Framework 3.0(和2.0)作为操作系统组件。如果您使用的是.NET,请将2.0或3.0版本设为您的要求,这将使我的生活更轻松。如果您还有其他框架要求,例如.NET 3.5或Java Runtime Environment,请按照制造商提供的安装指南进行操作。
  2. 如果软件支持自动更新,通常是否允许这样做?
    不可以。在受限用户环境中,用户无法批准更新,而且我几乎从不希望自动下载除OS安全更新以外的程序更新。默认情况下,在安静或基本的UI安装模式下关闭自动更新,这样,如果我通过组策略进行部署,则无需再进行注册表修改脚本或工作站访问来关闭更新程序。在手动的交互式安装中,提示您进行此操作是很好的。
  3. 一般需要多长时间?
    我花了多长时间没有一个好的答案。在我的上一份工作中,它的范围在立即到几年之间变化很大。
  4. 您更喜欢哪种许可模式(可转让,每个用户,每个CPU,整个站点)?
    许可必须容易且熟悉。您对产品的许可与我已经知道的越相似,就越无需了解,并且可以更快地购买和部署您的产品。根据程序的类型,我倾向于按机器或按用户许可。将它们分配给特定用户很容易跟踪。对于我以前的工作,我们的公司规模太小,以至于通常来说非常昂贵的站点许可证负担不起。

1

IT的功能是部署和维护技术以支持核心业务。

对于您来说,ISV意味着:

  • 提供经过良好测试的自动化安装和卸载过程
  • 如果可能,将更新过程与系统管理工具集成在一起。如果您有一两个办公室具有快速WAN / Internet连接,则自动更新就可以了。对于像我在超过一千个偏远地区工作的地方(带宽从56k帧中继到1GB城域以太网),我们需要控制何时发生。
  • 当内部开发小组或业务部门提交软件进行分发时,我们可以在3-5天内分发该软件。通常,用户验收测试花费的时间最多,并且完全取决于我们正在处理的小组的测试过程。(用于呼叫中心的24/7系统具有正式的测试过程。升级Dreamweaver是一个影响很小的测试过程)
  • 如果您无法在3-5天内打包软件,那么在我们对您进行评估时,您将失去积分。如果您的发行模型确实很愚蠢,并且我们可以选择,我们将取消您的资格。
  • 文件,文件,文件

许可取决于您的工作。作为IT人士。选择采购软件解决方案时,许可模型需要成为该过程的一部分。我们在采购过程中对许可证管理进行了成本核算,因此,如果您是赛门铁克这样的公司,希望通过6种不同的许可证度量标准来降低成本,我们的合规成本将对您不利。如果您是像Microsoft这样的公司,而您令人发指的许可流程很糟糕,但是我别无选择...那么那将成为业务成本的一部分。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.