Сохранение Простоты Программного Обеспечения. Часть 1. Введение/Установка

Установка, настройка, тестирование, использование, настройка, обслуживание

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

1. Установите

2. Настроить

3. Тест

4. Используйте

5. Настройка

6. Поддерживать

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

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

Не слишком углубляясь в вопрос «как», давайте попробуем ответить на следующие вопросы.

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

ВОПРОС

Известно ли вам какое-нибудь программное обеспечение, которое не нужно устанавливать? Каким-то волшебным образом он появляется, и мы можем начать его использовать :-). Конечно, нет.

ЗАЯВЛЕНИЕ О МИССИИ

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

НЕКОТОРЫЕ НОРМЫ

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

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

Укомплектование команды управления конфигурациями требует денег и ресурсов. Чем сложнее программное обеспечение, тем больше его вам понадобится. Чем сложнее и/или запутаннее ваша методология разработки программного обеспечения, тем больше таких людей вам нужно. Честно говоря, хорошая методология разработки программного обеспечения должна стремиться свести к минимуму эту функцию. Извините, я ничего не имею против управления конфигурациями. Это, безусловно, необходимая и жизненно важная функция. Я хочу сказать, что он в основном существует для того, чтобы разобраться с чушью, мусором и общим беспорядком, который сотрудники разработчиков перебрасывают через забор.

Если ваша команда управления конфигурацией не может перемещать файлы, каталоги и управлять ими, а также выполнять сборки автоматически, что можно выполнить с помощью наборов инструментов, то вполне вероятно, что вы 1) наняли кучу дураков для выполнения этой роли или 2 ) ваши разработчики перебрасывают какую-то чушь через забор. Если вам не нравятся эти два варианта, вам лучше быть готовым письменно аргументировать, в чем именно заключается проблема. Цель — уменьшить дисперсию. Уменьшая дисперсию, мы уменьшаем сложность установки. В качестве тривиального, но распространенного примера я работаю с продуктом, в каждом из последних пяти выпусков которого разработчики перемещали один и тот же набор файлов, составляющих API нашего приложения среды выполнения. У них не было абсолютно никаких веских причин для этого. В результате нашей группе управления конфигурацией придется переделывать инструмент, а также процедуры и процессы развертывания. Я не утверждаю, что никогда не бывает причин делать что-то подобное, я просто заявляю, что если вы это делаете, вам нужно иметь 1) убедительную и надежную письменную причину для этого (как в инженерном заказе или новом требования к дизайну); и 2) вам лучше сформулировать это заранее, чтобы каждый мог подготовиться к влиянию, которое это изменение окажет на всех, кто примет эти изменения.

Для установки программного обеспечения, требующей настройки во время самого процесса установки, вам необходимо убедиться, что ваша процедура содержит раздел требований перед установкой. Например, часто требуется создать каталог по умолчанию или установить местоположение по умолчанию, ввести URL-адрес, выбрать протокол связи, иметь пароль и логин, лицензионный ключ и т. д. и т. п. Прежде чем приступить к установке, убедитесь, что у человека, выполняющего установку, есть вся эта информация. Редко я видел, чтобы установка на самом деле не требовала точки принятия решения (развилки дорог). Как правило, вы можете заранее дать ответы на эти развилки дороги. Например, при установке SQL-сервера вам будет предложено выбрать протокол связи. Это момент принятия решения, который следует знать заранее и сообщить установщику.

Установка программного обеспечения на разные операционные системы или разные версии операционной системы может быть весьма разнообразной. Как правило, если отклонение превышает 10% (в совокупности не более!!!), создайте отдельную процедуру.




Сохранение простоты программного обеспечения. Часть 1. Введение/установка

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

Значение установки:
Можно с уверенностью сказать, что практически все программное обеспечение требует установки, прежде чем его можно будет использовать. Хотя мы можем фантазировать о том, как программное обеспечение волшебным образом появляется и становится готовым к использованию, реальность такова, что установка является необходимой предпосылкой эффективного использования любого программного обеспечения. Следовательно, становится необходимым иметь четко определенную процедуру процесса установки.

Ключевые соображения по установке:

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

  2. Простота:
    Если автоматизация невозможна, процедура установки должна быть простой и понятной. Он должен быть спроектирован таким образом, чтобы любой, даже человек с минимальными техническими знаниями, мог следовать инструкциям и успешно завершить установку. Стремление к простоте помогает избежать ненужных сложностей и снижает потребность в специализированном персонале для выполнения процесса установки.

  3. Управление конфигурацией:
    Управление конфигурацией играет решающую роль в установке программного обеспечения. Сложность программного обеспечения и используемая методология разработки сильно влияют на ресурсы, необходимые для управления конфигурацией. В идеале оптимизированная методология разработки программного обеспечения должна минимизировать нагрузку на команду управления конфигурацией. Цель состоит в том, чтобы свести к минимуму необходимость обширного ручного вмешательства и обеспечить плавное управление файлами и каталогами, а также автоматизированную сборку с использованием соответствующих наборов инструментов.

  4. Уменьшение дисперсии:
    Сокращение различий является ключом к упрощению установки программного обеспечения. Различия относятся к различиям в процедурах установки в разных операционных системах или версиях. Если отклонение превышает 10 %, рекомендуется создать отдельные процедуры установки для каждого варианта. Минимизируя отклонения, мы можем упростить процесс установки и избежать ненужных сложностей и проблем.

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

Заключение:
В этой первой части серии статей «Сохраняя простоту программного обеспечения» мы подчеркивали важность установки программного обеспечения и необходимость четко определенной процедуры. Мы обсудили важность автоматизации, простоты, эффективного управления конфигурацией и уменьшения отклонений для обеспечения плавной и беспроблемной установки. Придерживаясь этих принципов, мы можем свести к минимуму сложности установки, сэкономить время и обеспечить согласованность в различных средах. В следующем выпуске этой серии мы рассмотрим решающий этап настройки программного обеспечения.

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2011-07-23 05:15:35
Баллов опыта: 552966
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.