использование программных метрик для измерения производительности парного программирования - PullRequest
1 голос
/ 07 октября 2010

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

, чтобы быть понятным

Существуют ли какие-либо метрики, используемые для измерения парного программирования специально и не используются дляизмерить индивидуального программиста?Какие параметры используются для измерения?

например: если мы хотим измерить стоимость как для индивидуального, так и для парного программирования, давайте предположим, что для индивидуального программирования Cost = x, поэтому для пары будет Cost = 2 * x

right

и то же время для отдельного времени = t, а для пары время = 2 * t

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

любая идея

Ответы [ 2 ]

5 голосов
/ 07 октября 2010

Извините, что испортил вашу вечеринку, но строки кода - одна из худших возможных метрик, особенно если люди знают, что их оценка или бонус каким-либо образом связаны с метрикой. Он активно поощряет программирование «вырезать и вставлять» и другие злодеяния. Это больше усилий, но почему бы вам не классифицировать рабочую нагрузку с точки зрения ожидаемых усилий для одного человека, основываясь на ваших исторических данных? Или попросите некоторых программистов согласиться выполнять несколько проектов с избыточностью, чередуя парное программирование и индивидуальное, чтобы вы могли видеть, как работают одни и те же программисты в каждом. Так как один хороший программист может быть более продуктивным, чем два средних программиста (я смутно помню старое исследование IBM, согласно которому кто-то в верхнем процентиле был в 27 раз продуктивнее среднего), полезно видеть, что одни и те же программисты делают это в обоих направлениях. Если объективное обнаружение правильного процесса с помощью такого эксперимента слишком дорого с точки зрения потери краткосрочной производительности, тогда вам лучше не беспокоиться о показателях LOC в любом случае ... хорошие программисты, зная, что их рабочие схемы основаны на такой воле вероятно, будет очень не впечатлен.

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

1 голос
/ 07 октября 2010

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

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

, если вас интересуют дополнительные метрики программного обеспечения, посмотрите на http://www.sdlcmetrics.org

...