Tuesday, December 27, 2005

Supporting Knowledge Collaboration in Software Development

APSEC 2005 Workshop 2
Supporting Knowledge Collaboration in Software Development Workshop

[1] Dimensions and Forms of Knowledge Collaboration in Software Development
Y. Ye
-----
지식 협력에 대한 이론적인 접근입니다.
이 쪽 분야에 관심이 있으시다면, 한 번 읽어보시기를 권유합니다.

주요 내용은 다음과 같습니다.
1. '지식 협력'이라는 개념의 정의,
2. 소프트웨어 개발에 나타나는 지식 협력의 여려 형태 및 컴퓨터의 역할,
3. 성공적인 지식 협력을 위한 조건 분석, 그리고
4. 현재 제시된 지식 협력에 관한 여러 접근 방법들 소개

간단히 요약하면 다음과 같습니다.
---
지 식을 비롯한 모든 자원은 '교환', 또는 '결합'에 의해서 생성할 수 있다. '교환'은 지식이 한 사람에서 다른 사람으로 전달되는 것인데, 직접 전달할 필요도 없고, 저장도 가능하다. 재사용 컴포넌트의 생성과 재사용, 디자인 패턴을 밝히고 사용하는 것 등이 해당한다. (요약자 주. 암묵지(tacit knowledge)와 형식지(explicit knowledge)로 지식을 구분한다면, 형식지를 지칭하는 듯 하네요.) '결합'은 사회적 상호작용이나 협동을 통해서만 전달될 수 있는 암묵지를 매개로 일어난다. 지식 공급자와 지식 수요자가 직접 의사소통할 수 있고, 지식을 전달 가능해야 한다.

지식 협력은 문제 풀이를 위한 지식 영역을 참여하는 노동자들이 모두 포괄하지 못할 때 필요하다. 단순히 노동자의 지식의 합이 아니라, '결합' 형식의 지식 교환의 결과이다. 구체적으로 묵시적인 가정이 드러나고, 시각 차이를 발견하고, 협상해서, 통합한다. 즉 연결되지 않은 지식이 연결되어 결합된다.

이 과정에서 컴퓨터의 역할은 컴퓨터를 개발 도구로서 사용하는 것, 그리고 컴퓨터를 매개로 지식 협력을 촉진하는 것으로 정리할 수 있다.

지식 협력은 다음 3가지 차원의 유사성이 존재할 경우, 지식 협력은 활성화 될 수 있다.
- 인식의 유사: 참가자의 지적 흥미가 공통의 배경을 가지고, 유사할 때
- 구조적 유사: 각 참가자 지식에 상호 접근의 용이함
- 관계적 유사: 지식 협력에 동기를 부여하는 사회적 친밀함

지식 협력을 지원하기 위한 사회적 형태에 관해서 기존의 연구들은 다음 형태를 제시하고 있다. (요약자 주. 각각의 형태에 관한 정리는 생략하겠습니다)
- Dynamic Community
- Community of Practice
- Community of Interest
- Intentional Network
- Knotwork
(요약자 주. Community of Practice가 LGEP의 Knowledge 영역의 CoP와 같은 이름이라는 게 특이하네요.)


[2] Please STeP_IN: A Socio-technical Platform for in situ Networking
Y. Nishinaka, M. Asada, Y. Yamamoto, and Y. Ye
-----
Dynamic Community 이론을 구현한 STeP_IN (Socio-technical Platform for in situ Networking) 시스템을 소개합니다. 시스템의 목적은 개발자가 Java API를 찾고 익히는 것을 지원하는 것입니다. 개발자에게 개별화된 검색 인터페이스를 제공하고, 예제도 함께 제공하며, 기술 분야와 사회적 관계를 고려한 전문가 소개 메카니즘도 구현했습니다. 사회적 관계를 고려하는 것은 모르는 사람 보다는 아는 사람에게 더 기꺼이 시간을 내줄 것이라는 전제를 시스템에 반영한 것입니다.
단말 프로젝트의 경우, 표준 API를 어떻게 활용할 것인지에 대한 좋은 아이디어를 제시하고 있습니다.


[3] CoxR: Open Source Development History Search System
M. Matsushita, K. Sasaki, and K. Inoue
-----
(업무와 관련 없습니다)


[4] Understanding the Nature of Collaboration in Open-Source Software Development
K. Nakakoji, K. Yamada, and E. Giaccardi
-----
(업무와 관련 없습니다)


[5] Supporting Knowledge Collaboration Using Social Networks in a Large-Scale Online
-----
오픈 소스 개발 프로젝트에서 네트워크 효과가 나타난 것에 주목하여 시작된 연구입니다.
일정 규모 이상의 개발자가 참가하면, 더욱 효과적이라는 현상을 관찰한 결과입니다.
특히 프로젝트 크기가 커질 수록 핵심 기능 구현을 맡으면서도, 다른 개발자를 많이 도와야 하는 '허브' 개발자들이 있습니다. 이들이 자신의 업무에 집중할 수 있는 시간을 최대한 만들어내면서도, 프로젝트 내부의 많은 질문이 해결될 수 있는 방법을 제시합니다. 모든 질문은 프로젝트 모든 구성원에게 배포하고, 역시 Dynamic Community 알고리즘을 이용하여 질문에 대답해 줄 수 있는 사람을 추천합니다. 다만 추천 시 '허브' 개발자를 보호하고, 프로젝트 참여 인원이 증가할 수 있는 방향으로 추천하는 것이 이 논문의 핵심입니다. 개발실 내부 분위기가 오픈 소스 개발 프로젝트와 유사한 면이 있다면, 참고할 만하다고 봅니다.


[6] Community of Software Development Projects
M. Ohira, T. Ohoka, T. Kakimoto, N. Ohsugi, and K. Matsumoto
-----
(Final Program에는 있었지만, 막상 오니 없네요)

0 Comments:

Post a Comment

<< Home