악순환 vs. 선순환
지난번 글 (이 바닥을 못 벗어 난다.)의 추가 글입니다.
- 주먹구구식 개발
- 개발자에 의존한 코딩 중심의 개발 주도
- 없거나 빈약한 개발 프로세스 및 개발 문서
- 회사의 지식은 개발자 머리 속에 보관
- 개발자 간 지식의 공유가 어려움
- 후배 개발자들에게 지식 전달이 잘 안됨
- 프로젝트가 커질수록 협업이 점점 어려워짐
- 점점 더 경험 많은 개발자에 의존하게 됨
- 경험 많은 개발자는 계속 더 바빠짐
- 경험 많은 개발자들도 체계적인 개발은 꿈도 못 꾸고 매일 밑바닥 개발에 매달림
- 개발자들이 Domain 지식은 점점 늘어가는데 소프트웨어 공학지식은 잘 늘지 않음
- 회사에서는 신규 직원을 뽑아도 같이 협업이 잘 안되므로, 동일 Domain의 경험이 많은 개발자를 선호하게 됨
- 경험 많은 개발자들이 퇴사를 해서 회사가 큰 타격을 입기도 함
- 또 고참 개발자들이 퇴사할 까봐 전전긍긍하게 됨
- 회사에서는 개발자들의 머리 속에 있는 지식을 공유하고 체계적으로 개발하고 싶으나 방법을 모름
- 이에 대한 개혁을 해보려고 해도 번번히 고참 개발자들의 방해로 무산됨
- 점점 더 경험 많고 Domain 지식이 풍부한 개발자들에게 의존하게 됨
- 규모 있는 개발을 못하고 인원수에 의존한 개발을 하게 됨
- 회사는 성장을 못하고 정체하게 됨
- 고참 개발자들은 성장을 못하고 매일 밑바닥 코딩과 문제 해결에 매달리게 됨
- 또 주먹구구식, 가내 수공업식 개발을 반복하게 됨
- 회사가 소프트웨어 개발에 필요한 적절한 프로세스와 인프라스트럭처 시스템을 갖추고 있다.
- 개발자들은 프로세스 중심으로 개발이 되도록 잘 훈련 되어 있다.
- 프로젝트 진행 시 꼭 필요한 스펙 문서와 설계 문서를 적절하게 만든다.
- 문서와 코드에 대해서 적절히 Peer review가 이루어져서 지식의 전달이 잘 되고 결함이 사전에 제거된다.
- 고참 개발자들은 코딩 보다는 주로 아키텍처와 비즈니스에 대해서 고민하고 해결한다.
- 잘 작성된 스펙 문서와 설계 문서를 보고 후배 개발자들이 코딩하고 테스트 팀이 테스트를 진행한다.
- 고참 개발자들은 오랜 개발 경력으로 Domain 지식도 풍부하지만 소프트웨어 공학 지식 및 경험도 풍부하다.
- 후배 개발자들은 Domain 지식은 부족하지만, 설계 문서를 보고 인프라스트럭처 시스템을 활용해서 프로세스에 따라 개발하는데 별 문제가 없다.
- 신규 개발자를 뽑아도 교육이 용이하고 바로 실무에 투입하기가 쉽다.
- 고참 개발자들이 퇴사를 해도 상당히 많은 지식이 문서화 되고 이미 후배들에게 전파가 되어 있으므로 회사의 타격이 상대적으로 적다.
- 퇴사한 고참 개발자들은 이직이 용이하고 더 높은 연봉으로 타 회사로 옮길 수 있다.
- 회사에서는 Domain 지식이 너무 매달리지 않고, 실제로 Software 공학 지식이 뛰어나고 Software 개발 자체를 잘하는 인재를 선호하게 된다.
- 회사가 성장하고 개발 규모가 커져도 문제 없이 대응할 수 있다.
'소프트웨어이야기' 카테고리의 다른 글
| 살아남은 개발자들 (3) | 2009/07/03 |
|---|---|
| 도대체 얼마나 자세히 적어 달라고?! (4) | 2009/06/29 |
| 악순환 vs. 선순환 (2) | 2009/05/22 |
| 이 바닥을 못 벗어난다. (5) | 2009/05/18 |
| 나는 혼자가 아니다. (5) | 2009/05/15 |
| 이거 팔면 돈 되겠는데! (20) | 2009/04/17 |
















오픈 세미나에 와주셔서 늦은 시간까지 열강해 주신것 너무 감사드립니다. 좋은글을 잘 읽고 갑니다.
황상철님 안녕하세요.
열심히 하시는 모습이 보기 좋았습니다. 젊은 개발자들은 만나는 것은 언제나 즐거운 일입니다.
주제가 조금 어려워서 전달이 잘 되었을지 걱정입니다. 만약 다음에 기회가 된다면, 좀더 쥬니어들에게 직접 와닫는 주제를 한번 정해봐야겠습니다. 감사합니다.