Почему отдельные работы по техническому обслуживанию от технической разработки?

cat /etc/issue

Или cat /etc/fedora-release, как предложено @Bruce ONeel

12
задан 12 September 2009 в 23:51
поделиться

7 ответов

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

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

Пример реальной жизни:

Вам назначен проект разработки на 1500 часов, и вы также отвечаете за обслуживание систем и поддержку последних 3 приложений. Во время этого нового проекта вас в среднем будут отвлекать 7 раз в неделю для поддержки этих 3 приложений. Каждый раз, когда вы начинаете работать над другими 3 приложениями, вы тратите 20 минут на то, чтобы сосредоточиться на проблеме. После устранения проблемы вы затем потратите 20 минут на то, чтобы снова сосредоточиться на коде, который вы последний раз использовали в своем новом приложении. Это общая стоимость 40 минут на прерывание или 280 минут в неделю. Это означает, что вы потеряли 2,67 часа продуктивности в неделю только при переходе на поддержку этих приложений.

в среднем вас прерывают 7 раз в неделю для поддержки этих 3 приложений. Каждый раз, когда вы начинаете работать над другими 3 приложениями, вы тратите 20 минут на то, чтобы сосредоточиться на проблеме. После устранения проблемы вы затем потратите 20 минут на то, чтобы снова сосредоточиться на коде, который вы последний раз использовали в своем новом приложении. Это общая стоимость 40 минут на прерывание или 280 минут в неделю. Это означает, что вы потеряли 2,67 часа продуктивности в неделю только при переходе на поддержку этих приложений.

в среднем вас прерывают 7 раз в неделю для поддержки этих 3 приложений. Каждый раз, когда вы начинаете работать над другими 3 приложениями, вы тратите 20 минут на то, чтобы сосредоточиться на проблеме. После устранения проблемы вы затем потратите 20 минут на то, чтобы снова сосредоточиться на коде, который вы последний раз использовали в своем новом приложении. Это общая стоимость 40 минут на прерывание или 280 минут в неделю. Это означает, что вы потеряли 2,67 часа продуктивности в неделю только при переходе на поддержку этих приложений.

Это общая стоимость 40 минут на прерывание или 280 минут в неделю. Это означает, что вы потеряли 2,67 часа продуктивности в неделю только при переходе на поддержку этих приложений.

Это общая стоимость 40 минут на прерывание или 280 минут в неделю. Это означает, что вы потеряли 2,67 часа продуктивности в неделю только при переходе на поддержку этих приложений.

10
ответ дан 2 December 2019 в 07:03
поделиться

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

Возьмем, к примеру, микростанцию ​​Bentley. Это дизайнерское приложение для 3D (архитектура, дизайн растений, рельсы, мосты и т. Д.). Теперь предположим, что у нас есть v8, v9, v10 на рынке. У них разные функции, и формат файлов значительно изменился по сравнению с версиями. Но проекты настолько огромны (или клиенты настолько важны), что вам нужно поддерживать клиентов v8 и клиентов v9, а также разрабатывать материалы для v10. Таким образом, компании необходимо иметь группу обслуживания (или время), выделенную для предыдущих версий. Также,

6
ответ дан 2 December 2019 в 07:03
поделиться

Думаю, проблема более практическая:

  • старый код был написан людьми, которых больше не было в компании или команде;
  • старый код был написан внешними разработчиками;

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

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

2
ответ дан 2 December 2019 в 07:03
поделиться

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

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

2
ответ дан 2 December 2019 в 07:03
поделиться

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

1
ответ дан 2 December 2019 в 07:03
поделиться

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

Я предполагаю:

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

  • Возможность обучать новых разработчиков (например, меня)

Кроме того, код, который я поддерживал, не был " мусор »- это было программное обеспечение для телекоммуникационных компаний, ранняя сеть с коммутацией пакетов, которая была развернута для клиентов, таких как Bell и т. д. Она была хорошо спроектирована, хорошо написана, тестируемая (наборы автоматических тестовых примеров), поддерживаемая, имела множество файлов журналов, некоторая проектная документация ...

... подзаголовок к вашему OP, кажется, звучит так: «Чувак, этот код воняет! Я бы хотел найти оригинального разработчика,и потрите его носом: что выучит его! »

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

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

взаимодействие с новыми пользовательскими устройствами, которые интерпретировали спецификации протокола несколько необычным образом.

взаимодействие с новыми пользовательскими устройствами, которые интерпретировали спецификацию протокола несколько необычным образом.

[Я бы проанализировал и диагностировал проблему и запрограммировал исправление; и специалист по контролю качества должен добавить новый соответствующий тестовый пример в автоматизированный набор тестов.]

1
ответ дан 2 December 2019 в 07:03
поделиться

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

Кроме того, «обслуживание» может относятся к множеству действий, таких как развертывание, настройка, резервное копирование и т. д., которые определенно должны выполняться другой командой.

0
ответ дан 2 December 2019 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: