Кто-либо попытался реализовать или участвовал в “игре производительности” на работе?

В Практическом Руководстве по Дефектному Предотвращению авторы упоминают, что один творческий способ повысить производительность в разработке программного обеспечения состоит в том, чтобы реализовать "игры производительности", где сотрудники конкурируют друг против друга в некотором роде подобного получению репутации и значков на Переполнении стека.

Одним примером, который они дают, является Microsoft "Vista Внутренняя Бета 1 Игра", где членов команды попросили выполнить задачи, которые заставят их буква записывать "b e t 1". Они получили эти буквы:

  • b: Установите бета 1 сборку
  • e: Голосование по бета 1 сборке
  • t: Выполненный в течение ночи
  • a: Установите 3 последовательных бета 1 сборки
  • 1: Выполненный в течение ночи 3 раза

У них был веб-сайт, который отследил список лидеров в течение каждой недели. Авторы описывают результат:

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

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

Кто-либо реализовал или участвовал в чем-то подобном в Вашей компании? Как это пошло бы? Что подходило, что не удалось?

P.S. Никакие придирчивые комментарии о Vista, поскольку это - все еще главное ядро Windows 7 и я думаю, что игровая идея имеет некоторую заслугу.

ОБНОВЛЕНИЕ: Добавленная щедрость для получения большего количества идей. Я приму самый интересный после того, как неделя щедрости закончится. Я ищу практические идеи, которые могли быть сделаны с группой разработчиков 20 + люди.

ОБНОВЛЕНИЕ 2: похоже, что Facebook имеет метаигру "кармы нажатия" для определения, чьи фиксации обычно хороши.

19
задан 7 revs, 2 users 100% 15 August 2017 в 08:26
поделиться

4 ответа

4
ответ дан 30 November 2019 в 05:15
поделиться

Другой вариант - использовать прокси, которые наследуют объекты, которые вы хотите получить (следуя примеру некоторых объектно-реляционных сопоставителей, таких как NHibernate).

Это обеспечивает некоторую степень неосведомленности при сохранении кода доступа к данным отдельно от модели домена:

public class MyLazyDTOClass: MyDTOClass {   

    // Injected into the constructor by the MyDtoClass repository
    private INoteRepository noteRepository;        

    public ICollection<Note> Notes {
        get {
            if(base.Notes == null) {
                base.Notes = noteRepository.GetNotes(projectId);
            }
            return base.Notes;
        }
    }
}

MyDTOClassRepository объявляет базовый объект в качестве возвращаемого типа, но возвращает ленивый объект вместо него:

public MyDTOClassRepository {
    public MyDTOClass GetMyDTOClass(int id) {
        // ... Execute data access code to obtain state ...
        return new MyLazyDTOClass(this, state);
    }
}

пользователям MyDTOClass не нужно знать, что они имеют дело с прокси, и им не нужно взаимодействовать с репозитариями.

-121--3815358-

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

-121--2457400-

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

Я постараюсь найти артель.

1
ответ дан 30 November 2019 в 05:15
поделиться

Процесс, о котором вы говорите, называется Serious Gaming (см. также SeriousGames.org), и использовался не только Microsoft, но и рядом компаний и организаций, чтобы подтолкнуть людей к выполнению определенных желаемых действий. Этот подход хорошо работает в большинстве случаев при соблюдении следующих правил:

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

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

6
ответ дан 30 November 2019 в 05:15
поделиться
-

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

0
ответ дан 30 November 2019 в 05:15
поделиться