Процессы утверждения программного обеспечения в крупных организациях

8

Во многих крупных организациях есть ИТ-отделы, которые блокируют рабочие столы в стандартной конфигурации или SOE. Конечные пользователи обычно не имеют прав на установку своего собственного программного обеспечения, и даже если они это сделали, организации, как правило, разрешают устанавливать только «утвержденное» программное обеспечение.

Даже для бесплатного программного обеспечения с открытым исходным кодом конечным пользователям часто приходится подавать какую-либо форму запроса для проверки и одобрения программного обеспечения. После того, как процесс соблюден и программное обеспечение установлено, обновления могут быть проблематичными - многие организации склонны придерживаться более старых версий программного обеспечения (Windows XP, Office 2003 и т. Д.), Опасаясь неизвестных проблем.

Что могут сделать разработчики программного обеспечения для ускорения процесса утверждения?

Если вы участвуете в таком процессе утверждения:

  1. Что вы ищите при оценке программного обеспечения? Например:
    • Вы предпочитаете программное обеспечение MSI или xcopy?
    • Если для программного обеспечения требуются фреймворки (Java, .NET), это может быть более или менее проблемным
  2. Если программное обеспечение поддерживает автоматическое обновление, вы обычно разрешаете это?
  3. Сколько времени это обычно занимает?
  4. Какие модели лицензирования вы предпочитаете (переносимые, на место, на процессор, для всего сайта)?
  5. Что еще могут сделать независимые поставщики программного обеспечения, чтобы повысить свои шансы на одобрение программного обеспечения?
Пол Стовелл
источник
Обширность ответов, предоставленных на этот вопрос, заставляет думать, что это должна быть вики сообщества
Райан Болджер,

Ответы:

12

Я являюсь частью группы Software Approvals Group для многонациональной компании, и я абсолютно согласен со всем, что Адам говорит выше.

Я также хотел бы сделать следующие замечания: во-первых, всегда платить все ваши "налоги на развитие", Это означает, что нужно убедиться, что ваше приложение работает должным образом в целом ряде сред, которые вы, возможно, никогда не используете, но, скорее всего, это станет преградой для крупных компаний, например, убедитесь, что ваше приложение хорошо работает с перемещаемыми профилями пользователей и перенаправленные пользовательские папки (всегда используйте API-интерфейсы Windows для поиска папок пользователя и профиля, никогда не предполагайте, что они находятся в стандартном расположении или даже на локальном диске), убедившись, что он хорошо работает на серверах удаленных рабочих столов (где может быть 100 копий вашего приложения, запущенных одновременно, некоторые из них используют очень медленные соединения), на ноутбуках с медленными сетевыми подключениями или разряженными батареями и так далее. В качестве примера мы недавно отклонили новые версии более чем одного программного обеспечения от очень крупной компании (начинается с «A» и славится графикой), потому что их приложения вдруг не

Даже для бесплатного программного обеспечения с открытым исходным кодом конечным пользователям часто приходится подавать какую-либо форму запроса для проверки и одобрения программного обеспечения.

Тон вашего комментария звучит так, как будто вы думаете, что процесс утверждения как-то связан со стоимостью? С нашей точки зрения, цена за единицу приложения - это не то, что мы бы учитывали при утверждении. Финансовые обоснования для приложений будут разработаны, утверждения программного обеспечения - с точки зрения технической поддержки и поддержки. Бесплатное и открытое программное обеспечение, как правило, имеет больше проблем при прохождении нашего процесса, чем проприетарное коммерческое приложение. Часто это просто из-за отсутствия ответственности. К кому вы обращаетесь, когда возникают проблемы с приложением и вам нужна поддержка, каков их SLA? Кого вы спрашиваете, когда вам нужно выяснить, будет ли приложение работать с новой версией OtherApp vX, действительно ли они дают вам реальный ответ, к которому люди действительно стремятся, или это расплывчато?

После того, как процесс соблюден и программное обеспечение установлено, обновления могут быть проблематичными - многие организации склонны придерживаться более старых версий программного обеспечения (Windows XP, Office 2003 и т. Д.), Опасаясь неизвестных проблем.

Обновления программного обеспечения должны проходить тот же процесс, что и абсолютно новые части программного обеспечения. Единственное преимущество, которое у них есть, состоит в том, что мы уже знаем ответы на некоторые вопросы, поскольку мы уже поддерживали программное обеспечение (это может быть нехорошо для программного обеспечения, группы поддержки наложили вето на обновления, основанные на опыте работы с компания).

Вы предпочитаете программное обеспечение MSI или xcopy?

Любой из этих методов развертывания может быть хорошим, если они правильно упакованы. В противном случае мы вполне можем вырвать ваш установщик и перепаковать программное обеспечение для развертывания самостоятельно.

  • Какой бы установщик вы ни использовали, вы должны убедиться, что вы соблюдаете все его режимы автоматической и автоматической установки. Если ваше приложение требует ручной установки, то есть мгновенного прерывания сделки, просто не существует практического способа сделать это на машинах на 5 континентах, которые получают всю не аппаратную поддержку из центрального офиса.
  • Если бы у меня был выбор, я бы предпочел, чтобы хорошо сделанная установка MSI была удачной установкой xcopy. Проблема с большинством Xcopy-совместимых программ заключается в том, что они пытаются настроить и зарегистрироваться при первом запуске. Я очень редко находил приложение, которое делает это правильно и не вызывает проблем в среде роуминга пользователя / hotdesk. Установщики MSI (если вы придерживаетесь стандартного API) не могут пойти слишком далеко не так.
  • Убедитесь, что ваша автоматическая установка дает возможность вносить все изменения конфигурации, которые могут быть сделаны при ручной установке. Если вы используете MSI и придерживаетесь API, то это нормально, мы можем преобразовать MST и делать все это без проблем. Если вы используете другой сторонний установщик, убедитесь, что он допускает что-то вроде файла ответов, INI-файла или аналогичного. Протестируйте установку без вывода сообщений и убедитесь, что все параметры работают, я встречал продукты, которые радостно объявляют о своих параметрах установки без вывода сообщений, но на самом деле они никогда не проверяли, работают ли все параметры.
  • Желательно дать нам дополнительные опции в автоматической установке, которые позволят нам установить множество параметров, которые пользователь обычно меняет на панели «Параметры». Это может быть сделано с помощью переключателей на setup.exe, может быть наличие документированного файла INI для настроек, документирование необходимых изменений в реестре или все вышеперечисленное. Как бы то ни было, мы бы хотели убедиться, что наши пользователи могут приступить к работе с программным обеспечением без необходимости выполнять какие-либо настройки самостоятельно, важными здесь являются расположение файлов по умолчанию, имена серверов по умолчанию, настройки прокси-сервера (если ваше приложение работает через сеть) и т. д.

Если для программного обеспечения требуются фреймворки (Java, .NET), это может быть более или менее проблемным

Это определенно более проблематично. Управление версиями в большинстве сред и обратная / прямая совместимость ужасны. В частности, для Java многие приложения (и веб-сайты) требуют установки конкретной основной и вспомогательной версии Java и не будут работать ни с чем другим. Если вам нужно разместить на компьютере три разных приложения, которым всем нужны разные версии Java, и они не довольны стандартными способами маскировки одной версии Java другой, тогда возникнут проблемы. У .Net есть свои проблемы с управлением версиями, но, к счастью, вы сможете установить все основные версии фреймворка одновременно, что позволяет обойти многие из них.

Если программное обеспечение поддерживает автоматическое обновление, вы обычно разрешаете это?

Никогда. Слишком много проблем с версиями и совместимостью, чтобы приложение могло обновляться без предупреждения. Обновления приложений проходят тестирование и планирование. Также пользователи с обычными правами пользователя не могут применять обновления в любом случае. Если вы используете метод развертывания, который позволяет вносить исправления (например, использовать MSI с исправлениями MSP), то это может сделать такие вещи, как исправление безопасности для приложений, гораздо менее головной болью, и мы можем сами управлять автоматическим обновлением, используя наши средства развертывания (WSUS и SMS). ). Кроме того, наша команда безопасности очень подозрительно относится к любому приложению, которое «общается с базой», им нравится точно знать, какую информацию он отправляет и почему именно нужно отправлять что-либо на неизвестный сервер через Интернет.

Сколько времени это обычно занимает?

Некоторые простые приложения и обновления версии могут быть решены, если только 6 человек нажимают кнопку «Утвердить» в Outlook. Более сложные или противоречивые могут ждать нашей групповой встречи каждые две недели. О некоторых приложениях можно обсуждать на более чем одном из этих совещаний, когда команды берут вопросы о приложении и проводят исследования / тестирование.

Какие модели лицензирования вы предпочитаете (переносимые, на место, на процессор, для всего сайта)?

Все зависит от того, как приложение будет использоваться, и от того, сколько людей. Самое главное, что ваше лицензирование четко определено. Мы должны направлять наших сотрудников (хотя и бесплатно) на курсы, чтобы разбираться в лицензировании Microsoft. Мы не собираемся делать это для ISV.

Примите во внимание наши потребности автоматической установки, когда речь идет о лицензировании. Если ваши лицензии требуют активации, нам не нужно звонить вам по электронной почте каждый раз, когда мы переустанавливаем приложение на ПК. Если для каждой копии приложения требуется отдельный отдельный лицензионный ключ, то мы не сможем развернуть его автоматически, тогда как, если мы сможем купить массовый (2, 10, 50, 500 и т. Д.) Ключ, который можно сохранить в тихая установка, тогда мы счастливы. Еще лучше, если мы сможем вернуться к вам через год и договориться об увеличении количества лицензий, не меняя ключ, введенный в программное обеспечение.

Что еще могут сделать независимые поставщики программного обеспечения, чтобы повысить свои шансы на одобрение программного обеспечения?

Мы также рассмотрим вещи, которые не связаны строго с тем, как ваше приложение в данный момент. Принимая во внимание, что если ваше приложение станет частью стандартного рабочего процесса для одной из наших областей, оно может использоваться в течение 10 или более лет, так как будет выглядеть дорожная карта вашего продукта? Если вы еще не поддерживаете новейшую совершенно новую или разрабатываемую версию Windows, есть ли у вас план, когда вы это сделаете? Похоже ли вы придерживаться этих дорожных карт? Похоже, у вас есть какие-либо планы радикальных изменений в вашем приложении, будь то способ его работы или используемые им технологии / структуры? Подключается ли ваше приложение к каким-либо другим приложениям, например, MS Office или IE, и если да, насколько терпимо оно к старым или новым версиям этих приложений?

GAThrawn
источник
Хороший, исчерпывающий ответ. Многие вещи, которые GAThrawn явно указывает здесь, покрываются программой с логотипом Windows (например, уплата налогов на разработку).
Джей Мишо
+1 за простое усилие ответить на каждый пункт.
osij2is
6

Мы - небольшая организация, но мы перешли на стандартные настольные компьютеры и утвержденное программное обеспечение, чтобы уменьшить наши административные хлопоты.

Вы предпочитаете программное обеспечение MSI или xcopy?

Все, что может выполнить «тихую» установку. MSI, как правило, хорошо работает здесь, но многие инсталляторы тоже хороши. Если нам нужно каким-то образом настроить его, то хорошо, если он тоже будет в состоянии написать сценарий, либо путем копирования файлов или слияния реестра.

Если для программного обеспечения требуются фреймворки (Java, .NET), это может быть более или менее проблемным

Это может быть проблематично из-за разных требований к версии. Если вам нужен .NET 3.5, а мы используем 3.0, тогда мы должны управлять этим обновлением и гарантировать, что он больше ничего не сломает.

Если программное обеспечение поддерживает автоматическое обновление, вы обычно разрешаете это?

Нет. Слишком большой риск появления новой версии. Кроме того, пользователи не имеют прав администратора, поэтому обновления обычно не работают.

Сколько времени это обычно занимает?

Если есть неотложная деловая необходимость, как можно быстрее - всего за несколько часов. Для более неуклюжего программного обеспечения, может быть, неделю или больше.

Какие модели лицензирования вы предпочитаете (переносимые, на место, на процессор, для всего сайта)?

Чем дешевле, тем лучше! Мы можем иметь дело с наиболее разумными вариантами, но становится трудно, если программное обеспечение выполняет какую-либо автоматическую проверку или требует активации. Они плохо справляются с мертвыми ПК, неудачными активациями и т. Д. И, как правило, делают для нас дополнительную работу.

Что еще могут сделать независимые поставщики программного обеспечения, чтобы повысить свои шансы на одобрение программного обеспечения?

На ум приходят две вещи:

  • Учитывайте разницу между машиной (Program Files или HKLM) и профилем пользователя (или HKCU) при сохранении настроек. Если вы все сделаете правильно, мне не придется об этом сожалеть.
  • Документируйте установку, настройки и детали лицензирования на вашем веб-сайте или в документации к вашему программному обеспечению. Гораздо проще следовать «руководству по развертыванию», чем пытаться понять это для себя.

И, конечно, в первую очередь вы должны сделать программное обеспечение достойным использования - если пользователь действительно любит его, они будут кричать громче, чтобы его одобрили!

Адам
источник
3

Первое, на что я обычно смотрю, - правильно ли вы поняли основы? Если ты не сможешь этого сделать, я буду очень неохотно идти дальше. Поэтому я хочу увидеть установщик MSI со стандартным инструментом настройки, который позволит мне создать преобразование. Я не хочу видеть никаких требований к правам администратора для установки или использования программного обеспечения. Я не хочу видеть никаких требований по перенастройке ПК. Я не хочу видеть данные для каждого пользователя, записанные для компьютеров. Я не хочу видеть ручные посещения рабочих столов, я хочу видеть правильное удаленное управление и настройку через GPO. Другими словами, понимаете ли вы требования управляемого корпоративного развертывания?

Если программное обеспечение требует каких-либо обновлений, лучше, чтобы оно было чем-то похожим на файл определения AV или аналогичный, лучше иметь возможность поддерживать свой центральный сервер обновлений, если хотите, и его лучше полностью и явно настраивать централизованно. Я не против программного обеспечения, которое идет с обновлениями программы, пока я могу отключить их.

Я не хочу видеть интернет-коммуникацию от программного обеспечения помимо того, что абсолютно необходимо для того, чтобы оно работало. И это лучше всего документировать. Выпуская ваше программное обеспечение в мою сеть, я доверяю вам, чтобы вы не облажались и не были злыми, поэтому я ожидаю, что вы не предадите это доверие. Если вы это сделаете, я буду очень разочарован. Помните - вы гость в моем доме, поэтому относитесь ко мне с уважением.

НЕТ ЯВА . По моему опыту, Java вызывала полный хаос, когда дело доходит до развертывания, каждый раз, главным образом из-за того, что все вышеперечисленное неправильно. Я рад принять .NET, поскольку он, по крайней мере, кажется более разумным с точки зрения централизованного управления (плюс. .NET-приложение имеет больше шансов получить правильные основы из-за ограничений в структуре).

Для лицензирования первое, что я буду искать, это бесплатная пробная версия, которую я могу скачать без регистрации. Если я этого не увижу, я, вероятно, заподозрю, что вам есть что скрывать. Я в порядке с ограниченным временем, но мне не нравится ограниченная функциональность; В конце концов, это этап, на котором я решаю, будет ли ваше программное обеспечение приемлемым гостем в моем доме, поэтому я хочу видеть все.

Я хочу один лицензионный ключ для всего моего сайта. Необходимость ввода отдельного лицензионного ключа на каждом ПК нарушает правило «должен иметь централизованного администрирования / управления». Оцените себя также разумно, так что, если мне нужно только установить ваше программное обеспечение на 200 моих ПК, я не буду платить так же, как если бы мне нужно было установить его на 1500.

Наконец, важна постоянная поддержка и обслуживание. Вводить программное обеспечение безболезненно и в конце концов - это всего лишь мелочь, но то, как оно ведет себя с течением времени при обычном повседневном использовании, крайне важно. Если мне нужно связаться с вами, чтобы решить проблему, я не ожидаю каких-либо препятствий и не ожидаю, что вы начнете сваливать вину в другом месте без хотя бы расследования для установления фактов. Я не буду любезно относиться к любой очевидной попытке сорвать меня в контракте на техническое обслуживание.

Максимус Минимус
источник
3

Ответ GAThrawn охватывает большую часть того, что я собирался сказать. Я хочу немного подробнее остановиться на аспекте лицензирования.

  • Приложения, которым нужно позвонить домой, чтобы проверить лицензию, обычно отклоняются. Если вы действительно защищаете свое программное обеспечение, предоставьте сервер лицензирования, который мы сможем разместить самостоятельно. Это может быть стороннее решение, такое как FLEXlm или что-то, что вы разрабатываете дома. FLEXlm на сегодняшний день является наиболее распространенным в нашей среде.

  • Варианты лицензирования одновременного использования всегда большой плюс.

  • Если вы заставите нас разместить сервер лицензий, убедитесь, что порт tcp / udp, с которым он связывается, настраивается. НЕ ПРИНИМАЙТЕ, что ваш сервер лицензий - единственный, работающий на коробке.

  • Все взаимодействие клиент-сервер должно осуществляться без взаимодействия с конечным пользователем.

  • Текстовый файл, находящийся на общем сетевом ресурсе и требующий доступа конечных пользователей к записи, НЕ является приемлемым решением для лицензирования. Пользователи не имеют и никогда не будут иметь права записи на наши серверы лицензирования или приложений. Мы не собираемся делать для вас исключение. Мне все равно, если вы думаете, что мы можем сохранить это с помощью квот и тому подобное. Это не стоит хлопот, и ваше программное обеспечение не так важно.

Райан Болджер
источник
2

Я собираюсь ответить на вопрос № 5 в первую очередь, потому что это самое важное для меня.

5, Что еще могут сделать независимые поставщики программного обеспечения, чтобы повысить свои шансы на одобрение программного обеспечения?

Первое, что вы можете сделать, это пройти тестирование логотипа 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. Если программное обеспечение поддерживает автоматическое обновление, вы обычно разрешаете это?
    Нет. В среде с ограниченными правами пользователи не могут утверждать обновления, и я почти никогда не хочу, чтобы обновления программ, кроме обновлений безопасности ОС, загружались автоматически. Отключите автоматические обновления по умолчанию в тихом или базовом режимах установки пользовательского интерфейса, чтобы при развертывании с помощью групповой политики мне не приходилось проверять сценарии, изменяющие реестр, или посещения рабочих станций, чтобы отключить программу обновления. В ручной, интерактивной установке, это нормально, чтобы запросить это.
  3. Сколько времени это обычно занимает?
    У меня нет хорошего ответа, сколько времени это займет. На моей последней работе она сильно варьировалась в диапазоне от нескольких лет.
  4. Какие модели лицензирования вы предпочитаете (переносимые, на место, на процессор, для всего сайта)?
    Лицензирование должно быть простым и привычным. Чем больше схоже лицензирование вашего продукта с чем-то, что я уже знаю, тем меньше мне нужно о нем узнавать, и тем быстрее я смогу приобрести и развернуть ваш продукт. В зависимости от типа программы, я предпочитаю лицензирование для каждой машины или для каждого пользователя; их легко отследить, назначив их конкретным пользователям. Для моей предыдущей работы наша компания была слишком маленькой, чтобы, как правило, очень дорогие лицензии на сайты были доступны.
Джей Мишо
источник
1

Функция ИТ заключается в развертывании и поддержке технологий для поддержки основного бизнеса.

Для вас, ISV, это означает:

  • Обеспечить автоматизированный процесс установки и удаления, который хорошо протестирован
  • Если возможно, интегрируйте процесс обновления с инструментами управления системой. Если у вас есть один или два офиса с быстрым подключением к WAN / Интернету, автоматическое обновление подойдет. Для такого места, где я работаю с более чем тысячей удаленных мест с пропускной способностью от 56k Frame Relay до 1 ГБ Metro Ethernet, нам нужно контролировать, когда что-то происходит.
  • Когда внутренние группы разработки или бизнес-подразделение представляют программное обеспечение для распространения, мы можем распространять это программное обеспечение в течение 3-5 дней. Обычно приемочное тестирование пользователя занимает больше всего времени и полностью зависит от процесса тестирования группы, с которой мы имеем дело. (Система 24/7, используемая в callcenter, имеет формальный процесс тестирования. Обновление Dreamweaver - процесс тестирования с очень низкой эффективностью)
  • Если ваше программное обеспечение невозможно упаковать в течение 3-5 дней, вы теряете очки, когда мы оцениваем вас. Если ваша модель распространения действительно глупая и у нас есть выбор, мы вас дисквалифицируем.
  • Документ, документ, документ

Лицензирование зависит от того, что вы делаете. Как айтишник. Когда вы выбираете программное решение для закупок, модель лицензирования должна быть частью этого процесса. Мы оплачиваем администрирование лицензий в наших закупках, поэтому, если вы такая компания, как Symantec, которая хочет получить от нас 6 различных метрик лицензий, наши расходы на соответствие будут учитываться. Если вы такая компания, как Microsoft, и у вас ужасный процесс лицензирования, но у меня нет выбора ... тогда это просто становится частью стоимости ведения бизнеса.

duffbeer703
источник