Коллаборативная фильтрация в задачах распределения ролей в малых проектных Группа

КОЛЛАБОРАТИВНАЯ ФИЛЬТРАЦИЯ В ЗАДАЧАХ РАСПРЕДЕЛЕНИЯ РОЛЕЙ В МАЛЫХ ПРОЕКТНЫХ ГРУППАХ

A.С. Михалев, студент Н.О. Коленчук, студент

B.И. Лихута, старший преподаватель Сибирский федеральный университет

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

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

По результатам множества опросов менеджеров проектов в России и за рубежом, до 80% успеха при реализации проектов обусловлены слаженной работой проектной команды, которая, в свою очередь, обеспечивается верным распределением ролей среди участников [1].

При распределении ролей необходимо соблюдать два принципа: принцип компетентности и принцип предпочтения [2]. Принцип компетентности - ответственность роли не должна превышать навыков сотрудника, которому досталась эта роль. Члены команды будут отдавать большее предпочтение тем целевым ролям, которые больше соответствуют их индивидуальным потребностям, т.е. занижать умения человека тоже не стоит. Принцип предпочтения -как можно большее число членов команды должны выполнять те роли, которые они сами предпочитают. Бывает так, что сотруднику подходит не та роль, которую он предпочитает, это приводит к снижению продуктивности этого сотрудника и нарушению взаимодействия между членами команды.

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

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

Данная статья посвящена методам, с помощью которых можно решить вопрос по распределению ролей. Название данных методов - коллаборативная фильтрация [3-5].

Коллаборативная фильтрация - это методы, позволяющий предсказать неизвестные предпочтения пользователя на основе известных оценок и/или поведения других пользователей. Смысл коллаборативной фильтрации заключается в том, что пользователи одинаково оценившие какие-либо элементы системы склоны одинаково оценивать и другие элементы системы [4]. Конечной целью метода является как можно более точное предсказание оценки, которую поставил бы текущий пользователь системы ранее неоцененным им объектам.

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

Рассмотрим некоторые методы кол-лаборативной фильтрации.

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

Алгоритм включает в себя 3 шага:

1. для каждого пользователя вычислить насколько его интересы совпадают с интересами пользователя текущего пользователя;

2. выбрать множество пользователей, наиболее близких к текущему;

3. предсказать оценку /-го объекта на основе оценок объекта соседей.

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

[3, 6].

Косинусное расстояние определяется как:

,и2) = =

где и! I и и21 - оценки пользователей.

Манхэттенское расстояние имеет следующий вид:

а (и ! , и 2 ) = 11 | и х 1 - и2 ! | .

Метрика в Евклидовом пространстве вычисляется при помощи следующей формулы:

а (и ! , и 2 ) = ^ 11 (и х! - и 2, |) 2.

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

Предсказание оценки для /-го объекта на основе оценок объекта соседей осуществляется по следующей формуле:

( 10 = е к а (и,ик) '

где - множество наиболее похожих на Uj пользователей.

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

ли. Примером этого вида является кластерная модель [7].

Одним из самых известных алгоритмов в кластерном анализе является метод ^шеапБ или ^средних. Он основан на разделении объектов или пользователей на группы - кластеры, которые создаются по некоторым общим признакам, а количество которых задается заранее. Суть алгоритма состоит в случайном выборе k центров кластера и уменьшении суммарного квадратичного отклонения пользователей или объектов от центра кластера. Формально это вычисляется с помощью следующей формулы:

2

^ = Е ¿2 ]•

Таблица 1.

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

Таблица 2.

Рассмотрим следующую задачу. Необходимо выполнить распределение ролей в группе из трёх человек. Все опрошенные участники - программисты. Подберем им вторую роль: специалист по интерфейсу, эксперт предметной области, участник без дополнительной роли. За прошлый опыт возьмем результаты распределения ролей в таких же группах из трёх человек. Ими всеми был пройден профориентационный тест, включающий для примера 3 вопроса. Каждый из вопросов характеризует отношение тестируемого к тому или иному виду деятельности в проекте. Ответ на вопрос должен быть представлен числовом формате (в интервале от 1 до 9). Результаты проведенного тестирования представлены в таблице 1.

были проранжированы роли относительно каждого участника (в интервале от 0 до 5, в порядке их несоответствия/соответствия).

Группа. ID участника Специалист предметной области Специалист по интерфейсу Без дополнительной роли

A.1 + - -

A.2 - - +

A.3 - + -

B.1 - + -

B.2 + - -

B.3 - - +

C.1 - - +

C.2 - + -

C.3 + - -

Группа. ID участника Вопрос 1 Вопрос 2 Вопрос 3

A.1 1 8 9

A.2 8 2 7

A.3 6 8 2

B.1 9 8 1

B.2 2 9 9

B.3 9 1 7

C.1 8 3 9

C.2 6 9 3

C.3 1 9 8

Анализ результатов данного тестирования позволяет сделать заключение, что участники, ответившие «1» или «2» на 1 вопрос, отлично подходили на роль эксперта предметной области. Участники, ответившие «1», «2» или «3» на 2 вопрос - на роль специалиста по интерфейсу. Участники, ответившие на 3 вопрос «1», «2» или «3», остались без дополнительной роли.

Используя выборочные данные, метод коллаборативной фильтрации и ответы участников группы, для которой нужно распределить роли (таблица 3), нужно как более точно предсказать ре-

Таблица 4.

В итоге были получены следующие результаты касаемо распределения ролей в текущей проектной группе. Сотрудник «1» дополнительно будет выполнять роль эксперта предметной области. Сотрудник «2» остается без дополнительной роли. Сотрудник «3» будет назначен на роль специалиста по интерфейсу.

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

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

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

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

Таблица 3.

ID участника Вопрос 1 Вопрос 2 Вопрос 3

1 2 7 8

2 7 3 9

3 7 8 1

Группа. ID участника 1 2 3

А.1 0.6952 0.4169 0.3146

A.2 0.4106 0.6628 0.3959

A.3 0.5239 0.3768 0.7726

B.1 0.2781 0.2581 0.6921

B.2 0.6844 0.3626 0.3142

B.3 0.3389 0.675 0.3067

C.1 0.4277 0.7015 0.2878

C.2 0.486 0.2946 0.6913

C.3 0.6865 0.3574 0.3696

Библиографический список

1. Определение ролей участников проектной команды. URL:https://iteam.m/puWications/project/section_37/article_342 (дата обращения: 09.04.2018).

2. Распределение ролей в команде. URL: http://www.bikr.ru/informatsiya/kak_upravlyat_personalom/postroenie_i_rabota_komandy _/raspredelenie_rolej_v_komande_ (дата обращения:09.04.2018).

3. Melville P., Sindhwani V. Recommender systems. Encyclopedia of Machine Learning, 2010.

4. EkstrandM.D., Riedl J.T. and Konstan J.A. Collaborative Filtering Recommender Systems. Minneapolis: University of Minnesota, 2011.

5. Su X. and Khoshgoftaar T.M. A Survey of Collaborative Filtering Techniques. A Survey of Collaborative Filtering Techniques (англ.) // USA: Hindawi Publishing Corporation, Advances in Artificial Intelligence archive, - 2009. - P. 1-19.

6. W.P. Jones, G.W. Furnas Pictures of Relevance: A Geometric Analysis of Similarity Measures // Journal of the American society for information science. 38(6), - 1987. - P. 420-442.

7. Ungar L.H., Foster D.P. Clustering Methods for Collaborative Filtering // AAAI Workshop on Recommendation Systems, - 1998. - P. 1-16.

8. Евдокимов И.В. Менеджмент качества и управление развитием системы обработки экспертной аналитики // Труды Братского государственного университета. Серия: Экономика и управление. 2015. Т. 1. С. 212-219.

COLLABORATIVE FILTERING IN ROLE-SHARING PROBLEMS IN SMALL

PROJECT GROUPS

A.S. Mikhalev, student N.O. Kolenchuk, student V.I. Likhuta, senior lecturer Siberian federal university

Abstract. This article is devoted to actual question like importance of the distribution roles in small project groups. The article reviews the method of collaborative filtering. In connection with the possibility of extensive use of this method its study is of practical and scientific interest. The task of this article is a detailed consideration of the method and a description of its strengths for accomplishment of the task. In the process of studying this issue the classification of methods of collaborative filtration was considered and their description was given. Using method based on an analysis of available estimates an experiment was conducted. Based on the data obtained from the analysis it was concluded that the method of collaborative filtering is workable and can be used in practice to solve the task.

Keywords: Collaborative filtering, small project teams, personnel management in software engineering, project approach, software project management.