Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

Судя по тону вашего комментария, вы думаете, что процесс утверждения имеет какое-то отношение к стоимости? С нашей точки зрения, удельная стоимость приложения - это не то, что мы вообще должны учитывать в процессе утверждения. Финансовое обоснование приложений будет разработано, все утверждения программного обеспечения будут производиться с точки зрения технической поддержки и поддержки. Бесплатное программное обеспечение с открытым исходным кодом обычно имеет больше проблем с прохождением нашего процесса, чем закрытое коммерческое приложение. Часто это просто отсутствие ответственности. К кому вы обращаетесь, когда возникают проблемы с приложением и вам нужна поддержка, каковы их 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 и т. Д.), Который можно сохранить в тихая установка, тогда мы счастливы. Еще лучше, если мы сможем вернуться к вам через год и договориться об увеличении количества лицензий, не меняя ключ, введенный в программное обеспечение.

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

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

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

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

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

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

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

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

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

Как долго это обычно занимает?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я сначала отвечу на №5, потому что он для меня самый важный.

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

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

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

Для вас, независимого поставщика программного обеспечения, это означает:

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

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