일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- minikube
- mysql 튜닝
- IntelliJ
- CKA
- Spring
- AI
- 오블완
- 공부
- aws
- Linux
- kotlin spring
- Elasticsearch
- 정보처리기사 실기 기출문제
- 정보처리기사 실기
- Pinpoint
- kotlin querydsl
- AWS EKS
- 코틀린 코루틴의 정석
- 정보처리기사실기 기출문제
- kotlin coroutine
- Java
- CKA 기출문제
- 티스토리챌린지
- Kubernetes
- 기록으로 실력을 쌓자
- kotlin
- PETERICA
- APM
- MySQL
- CloudWatch
- Today
- Total
피터의 개발이야기
훌륭한 개발 문화를 위해 RnR을 넘어선 협력의 힘, 품앗이 문화 본문
ㅁ 들어가며
ㅇ 개발 조직에서 진정으로 효과적인 문화란 무엇일까?
ㅇ 'RnR(Role and Responsibility)을 따지지 않는 문화'에 대해 생각해 보았다.
ㅇ SK Summit AI 커뮤니티 운영자 3인방의 Together Talk 동영상과 이동욱님의 품앗이 문화, 예전에 작성한 [DevOps 개념정리] 사일로(Silo Effect)란?을 참조하여 훌륭한 개발 문화에 대해 정리해 보았다.
ㅁ 품앗이 문화의 중요성
훌륭한 개발 문화의 핵심은 '품앗이 문화'이다. 이는 단순히 자신의 역할에만 집중하는 것이 아니라, 전체 프로젝트의 목표를 위해 서로 돕는 문화를 의미한다. 이와 반대되는 개념으로 예전에 [DevOps 개념정리] 사일로(Silo Effect)란?을 작성하였다. DevOps와 대조되는 개념으로 사일로에 대해서 이야기 하였다.
사일로란?
부서 이기주의를 의미하는 용어로, 기업 등 조직을 이루는 부서들이 조직의 공동 목표와 이익보다는 자기 부서의 이익만을 추구하여 다른 부서와의 정보 공유 및 소통·협력을 외면하는 현상이다.
사일로가 발생하면 소통이 어려워져 기업의 성장에 악영향을 미칠 수 있다.
ㅁ RnR을 넘어선 협력
1. 전사 목표 중심: 개별 KPI보다는 전체 프로젝트와 회사의 목표를 우선시 한다.
2. 유연한 역할 수행: 필요에 따라 다른 팀이나 역할을 지원한다. 예를 들어, 백엔드 개발자가 프론트엔드 작업을 돕거나, 개발자가 PM의 일부 업무를 대신할 수 있다.
3. 병목 현상 해소: 팀 간 리소스를 유연하게 조정하여 프로젝트의 병목 현상을 해결한다.
ㅁ 유기적 기업문화의 대표주자
영국의 석유회사 BP는 협력시스템을 통해 유기적인 기업문화를 구축한 대표주자이다. 150개가 넘는 사업부가 존재하다보니 부서 간 소통이 매우 어려운 상황이었다. 그래서 고안한 방법이 바로 ‘동료 간 지원(Peer assist)’이다. BP는 150개가 넘는 사업부를 전체 13개의 ‘동료집단(peer group)’으로 분류하여 집단 내에서 경험과 지식이 적극적으로 공유될 수 있도록 미팅과 워크샵을 지원했다. 또한 성과가 좋은 상위 3개 사업부가 하위 3개의 사업부를 도와주고 성장을 책임지도록 하는 제도도 마련했다. 이와 같은 제도로 BP는 부서 간 이슈를 공유하고 도움을 주고받는 끈끈한 기업문화를 형성하였으며 현재 세계 3대 석유회사로 발돋움할 수 있었다.
ㅁ 문화 정착을 위한 노력
이러한 문화를 만들기 위해서는 다음과 같은 노력이 필요하다.
1. 조직 간 정기적인 정보 공유
2. 일관된 기술 스택과 아키텍처 유지
3. 상세한 문서화
4. 자동화된 개발 환경 구축
ㅁ Channy의 12가지 훌륭한 개발 문화 체크리스트
항목 | 설명 |
기술을 이해하는 팀장/매니저 | 회사 내 개발팀장 대부분은 소프트웨어 개발 경력이 가지고 있으며, 내부 코드 및 기술 플랫폼을 이해하는 사람 |
지속적 통합 및 배포 (CI/CD) | 코드 커밋 후 자동으로 통합 및 배포되는 시스템을 가 |
참여형 지식 공유 플랫폼 | 사내에 직접 참여 혹은 편집 가능한 위키, 블로그 플랫폼을 운영하고 있다. |
개발자 기여 로드맵/백로그 | 주요 개발 방향을 PM/기획 뿐만 아니라 개발자들이 주도 혹은 참여해서 정해나간다. |
내부 소스 레포지터리 공유 | 다른 팀의 소스 코드에 접근(access), 포크(fork) 혹은 기여(contribution)할 수 있다. |
API를 기반한 연동 및 소통 | 내부 팀 및 플랫폼간 협업을 할 때, API를 개발해서 공유하거나, 검색할 수 있다. |
소스 코드 리뷰 및 테스트 | 모든 개발자가 다른 사람의 소스 커밋을 리뷰하고, 테스트하는 과정을 가지고 있다. |
코딩 테스트 인터뷰 | 개발자 입사 시 코딩 테스트 혹은 화이트 보드 인터뷰를 진행한다. |
자율적 팀 개발 환경 선택 | 회사에 기술 표준 (프로그래밍 언어, 플랫폼 등)이 있더라도, 팀별로 원하는 개발 환경을 선택할 수 있다. |
개발자 관계(DevRel) 활동 | 외부 개발자와 소통하는 채널(기술 블로그, 컨퍼런스 등)을 운영하거나 전담하는 사람/팀이 있다. |
개발자 레벨 혹은 경력 관리 | 사내에 개발자의 업무 역량별 레벨 제도 혹은 팀장/매니저가 아닌 별도의 개발자 전용 승진 경로를 가지고 있다. |
ㅇ 출처: Channy의 12가지 훌륭한 개발 문화 체크리스트
ㅁ 커뮤니티란?
ㅇ 공통의 원칙을 공유할 뿐만 아니라 경험과 노하우를 발전시키고 공유함으로써 그룹 구성원들이 성장할 수 있도록 돕는 집단
ㅇ 개발자 커뮤니티: SW 만드는 사람이 중심인
ㅇ 사용자 커뮤니티: SW 사용하는 사람
ㅇ 영상 이동
ㅇ 외부 켜뮤니티와 연결하고 기업 안의 내부 켜뮤니티를 키우면 결국 기업의 성장으로 이어짐
ㅇ 외부 커뮤니티에서 활동하는 전문가는 회사 내부 커뮤니티에 속해 있는 경우가 많다.
ㅇ 전문가는 내외부 커뮤니티의 연결자 역할을 하는 동시에 시니어로써 다양한 경험을 공유하고 멘토역할을 한다.
ㅇ 해당 영상 이동
ㅁ 이동욱님의 스터리 커뮤니티 경험
제가 강의형 스터디를 좀 많이 했었어요
제가 가르치고 모르는 분들을 온라인에서 모집해서
오프라인으로 제가 그분들에게 어떤 특정 기술을 가르친다거나
프로그램언어를 가르치는 식의 스터디를 많이 하게 됐어요
강의했던 것들을 사람들이 자꾸 질문하고 그리고 회사에서 제 후임들이 같은 내용을 또 질문해서
강의했던 내용들을 블로그에 정리를 좀 했었거든요
근데 그런 블로그에 정리했던 내용들을
배달의민족의 팀장님 중 한분이 보시더니 블로그 잘 보고 있는데 우리 회사에 지원해볼 생각이 없는지 문의를 주셨어요.
그 팀장님을 비롯해서 제가 세미나에서 많이 뵀던 분들
저한테 많은 가르침을 주셨던 발표자들 혹은 블로그 주인분들이 되게 많으셨어요
그래서 아 나도 저런 사람들이랑 같이 한 번 일해보면 좋겠다.
(영상의 대화를 일부 편집한 내용)
ㅇ 지방대 개발 비전공자가 배달의민족 리드 개발자가 되기까지 이동욱님의 말씀과
ㅇ 기억보다 기록을... 모토로 늘 노력하시는 이동욱님은 나에게도 큰 영향을 주었다.
ㅇ 2020.12.12에 쓴 글, 기록으로 실력을 쌓자
ㅇ 그래서 나의 모토인 기록으로 실력을 쌓자가 탄생하였다.
ㅁ 마무리
RnR에 얽매이지 않고 전체 목표를 위해 협력하는 문화는 조직의 유연성을 높이고, 궁극적으로 더 빠른 목표 달성을 가능하게 한다. 이는 단기적으로는 비효율적으로 보일 수 있지만, 장기적으로는 조직 전체의 생산성을 크게 향상시킨다.
훌륭한 개발 문화는 '우리'가 함께 만들어가는 것이다. 각자의 전문성을 인정하면서도, 필요할 때 서로 돕고 협력하는 자세가 중요하다. 이러한 문화 속에서 우리는 더 큰 목표를 향해 함께 나아갈 수 있을 것이다.
ㅁ 함께 보면 좋은 사이트
ㅇ 이동욱님의 품앗이 문화
ㅇ SK Summit AI 커뮤니티 운영자 3인방의 Together Talk
ㅇ Channy의 12가지 훌륭한 개발 문화 체크리스트
ㅇ 예전에 작성한 [DevOps 개념정리] 사일로(Silo Effect)란?
'개발이야기' 카테고리의 다른 글
클라우드컴퓨팅서비스 보안 인증 제도란 (1) | 2024.11.11 |
---|---|
Transcoding이란? ffmpeg 기본 사용법 (0) | 2024.11.02 |
[Network] SIP (Session Initiation Protocol)정리 (0) | 2024.10.30 |
Apache Hive란? (0) | 2024.10.29 |
금융분야 클라우드 환경 구축 시 준비사항 정리 (0) | 2024.10.24 |