Jump to content

Командное программирование

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

Традиционные методы управления командой

[ редактировать ]

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

Системные методологии, ориентированные на бумажные материалы, изначально разработанные для реализации правительственных проектов, такие как метод структурированного системного анализа и проектирования (SSADM), назначали отдельных людей для выполнения отдельных задач и определяли роль проектировщиков как четко отделенную от роли программистов в Водопадная модель разработки программного обеспечения . Эта методология также четко разделяла каждую из отдельных стадий «жизненного цикла», через которые проходил проект разработки системы. Полученный в результате «бумажный след» проекта разработки системы мог занять так много времени, что зачастую части аналитической документации — а иногда и вся ее — устарели к моменту фактической разработки, что делало их более чем бесполезными.

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

[ редактировать ]

При использовании этих старых методов возникали трудности, например, затраты, выходящие из-под контроля по мере роста систем, а также несоответствие графиков срокам выхода на рынок. Эти проблемы породили такие методы, как парное программирование , групповое программирование (также известное как ансамблевое программирование ), а также новые структуры жизненного цикла систем, такие как спираль Бема . Спецификация этих новых подходов началась в середине 1980-х годов и продолжается по сей день. Многие из этих стратегий предполагают совместную работу нескольких программистов над одним и тем же фрагментом исходного кода , а не индивидуальную ответственность за отдельные задачи. Например, при «парном программировании» ответственность за полученный продукт поровну распределяется между двумя программистами, которые вместе работают над порученной им подзадачой. Преимущества этого подхода включают недостатки в знаниях одного программиста, которые должны быть компенсированы способностями в определенных областях другого программиста; кроме того, считается, что совместная ответственность увеличивает стимулы для соблюдения сроков проекта и целевых показателей качества.

Этот метод часто используется в новых методологиях программирования, ориентированных на методы объектно-ориентированного программирования, таких как Rational Unified Process и Extreme Programming (аббревиатура «XP»), часто в сочетании с методами проектной документации, такими как Unified Modeling Language (UML). ). В объектно-ориентированных языках программирования функциональность программного обеспечения образует модульные дискретные единицы (называемые классами для функциональных элементов и пакетами для групп взаимосвязанных классов, выполняющих определенную функцию); два наиболее известных из них — C++ и Java . Это хорошо подходит для разделения программных проектов на подгруппы, хотя по-прежнему часто возникают проблемы с интеграцией конечного продукта после завершения каждой подзадачи.

Программирование мобов

[ редактировать ]
Сессия программирования французской мафии

Программирование мафии (иногда неофициально называемое моббингом , ансамблевым программированием или программированием отрядов). [1] ) — это подход к разработке программного обеспечения, при котором вся команда работает над одним и тем же, в одно и то же время, в одном пространстве и на одном компьютере. Это похоже на парное программирование , когда два человека сидят за одним компьютером и одновременно работают над одним и тем же кодом. При массовом программировании совместная работа распространяется на всех членов команды, при этом для написания кода и ввода его в базу кода по-прежнему используется один компьютер. [2]

Основная концепция моб-программирования проста: вся команда одновременно работает над одной задачей. То есть: одна команда – одна (активная) клавиатура – ​​один экран (конечно, проектор). [3]

Маркус Хаммарберг, Программирование мафии – Полная команда, полный газ

Он основан на принципах бережливого производства , экстремального программирования и бережливой разработки программного обеспечения . Первое использование фразы «мобовое программирование» было сделано в «Перспективах экстремального программирования » . [4]

Помимо написания программного обеспечения, группа программистов может работать вместе над решением других типичных задач разработки программного обеспечения. Некоторые примеры включают: определение пользовательских историй или требований, проектирование, тестирование , развертывание программного обеспечения и работу с экспертами в данной области. Почти вся работа выполняется на рабочих встречах или семинарах, где все люди, участвующие в создании программного обеспечения, считаются членами команды, включая заказчика и бизнес-экспертов. [5] Мобильное программирование также работает для распределенных команд в одном виртуальном пространстве с использованием технологии совместного использования экрана. [6]

См. также

[ редактировать ]
  1. ^ Эдвард Сайкс (Хереч); Раджпал Сингх (2012). «Просветительные беседы ACCU 2012: программирование отрядов» (PDF) . Accu2012 Молниеносные переговоры .
  2. ^ Зюилл, Вуди (2014). «Мобильное программирование: подход всей команды» . Отчеты об опыте конференции Agile2014 : 11.
  3. ^ Хаммарберг, Маркус. «Программирование мафии – полная команда, полный газ» . КодБеттер . КодБеттер . Проверено 9 сентября 2014 г.
  4. ^ Моисей Хохман; Эндрю Слокам (2002). «Глава 28. Мобовое программирование и переход на XP». Экстремальные перспективы программирования . Аддисон-Уэсли.
  5. ^ Нигри, Жюльен. «Мафиозное программирование: презентация» . Соат (на французском языке). Соут . Проверено 9 сентября 2014 г.
  6. ^ Харрер, Саймон; Господи, Йохен; Хубер, Мартин. «Удаленное программирование мобов» . Проверено 29 апреля 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c74a7eb9e8fb4d0a2f9d93fcad5d26bd__1713787020
URL1:https://arc.ask3.ru/arc/aa/c7/bd/c74a7eb9e8fb4d0a2f9d93fcad5d26bd.html
Заголовок, (Title) документа по адресу, URL1:
Team programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)