stringtranslate.com

Разработка релиза

Проектирование релизов , часто сокращенно называемое RE или сокращенное соединение Releng , представляет собой раздел инженерии программного обеспечения , занимающийся компиляцией , сборкой и доставкой исходного кода в готовые продукты или другие программные компоненты. Что касается жизненного цикла выпуска программного обеспечения , Борис Дебич из Google Inc. [1] [2] сказал, что проектирование выпуска относится к разработке программного обеспечения так же, как производство относится к промышленному процессу:

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

Важность разработки релизов для обеспечения роста технологической компании неоднократно подчеркивалась Джоном О'Дуинном [3] и Брэмом Адамсом. [4] Хотя целью разработки релизов не является обременение разработки программного обеспечения наложением процессов, это часто рассматривается как признак организационной зрелости и зрелости развития.

Современная разработка выпусков связана с несколькими аспектами производства программного обеспечения:

Идентифицируемость
Возможность идентифицировать все источники, инструменты, среду и другие компоненты, составляющие конкретный выпуск.
Воспроизводимость
Возможность интеграции исходных, сторонних компонентов, данных и внешних компонентов развертывания программной системы для обеспечения стабильности работы.
Последовательность
Миссия — обеспечить стабильную основу для разработки, развертывания, аудита и отчетности за программные компоненты.
Ловкость
Продолжающиеся исследования того, как современные методы разработки программного обеспечения влияют на производительность в цикле разработки программного обеспечения, например, непрерывная интеграция и продвижение экологических инициатив [ необходимы разъяснения ] .

Проектирование релизов часто является центром интеграции для более сложных команд разработчиков программного обеспечения, находящихся на стыке разработки, управления продуктами, обеспечения качества и других инженерных усилий, также известных как DevOps . Команды разработчиков релизов часто играют роль контролеров (например, в Facebook, Google, Microsoft) для определенных критически важных продуктов, где их суждения формируют параллельную линию ответственности и полномочий в отношении производственных релизов (push).

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

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

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

Связанные дисциплины

Рекомендации

  1. ^ Адамс, Белломо, Берд, Маршалл-Кейм, Хомх, Мойр (март 2015 г.). «Практика и будущее разработки релизов». Программное обеспечение IEEE . 32 (2). Компьютерное общество IEEE: 46. doi : 10.1109/ms.2015.52 .
  2. ^ «За кулисами - Производство продвигается» .
  3. ^ Джон О'Дуинн. 2015. Релиз-инжиниринг как мультипликатор силы. В материалах третьего международного семинара по разработке релизов (RELENG '15). IEEE Press, Пискатауэй, Нью-Джерси, США, 1-1.
  4. ^ 2013. Материалы 1-го международного семинара по разработке релизов. IEEE Press, Пискатауэй, Нью-Джерси, США.

дальнейшее чтение