반응형

프로젝트에서 개발자가 할 일 : 개발 단계

 

개발자가 힘을 내야하는 단계가 왔습니다. 이 시기에 가장 필요한 능력은 인내심입니다. 참을 인자 세 번이면 살인도 면한다 했습니다. 참읍시다.

 

정의된 업무요건과 설계를 기반으로 실제 구현을 하는 단계입니다. 알고리즘을 생각해서 적용하고 로직을 코딩하면 됩니다. 결과물을 잘~! 만들어 내면 됩니다. 끝.

 

이라고 말할 수 있다면, 축하드립니다. 행복한 프로젝트에 참여하셨습니다. 가끔 이런 프로젝트들도 있어야 할 맛이 나겠죠?

 

대부분의 프로젝트는 분석/설계기간이 짧고, 여러 이유로 준비가 잘 안된 상태로 개발단계를 돌입합니다. 심한 경우, 개발단계 첫 1개월을 분석/설계단계 산출물을 보완하는 시간으로 날리기도 합니다. 개발자들은 ? 표준도 없고 업무요건도 불명학하고 설계서도 없어 그냥 노는 경우도 많습니다. 이를... 누구를 탓해야 할까요...

 

개발단계에 업무요건을 협의/정의하고 개발 가능여부를 검토하고, 현행 시스템의 프로세스를 확인하고, 개발 표준을 부랴부랴 만들고, 일단 할 수 있는 것부터 개발해! 하며 진행됩니다. 또는 개발자들에게 알아서 잘 개발해! 라고 하기도 합니다.

 

최악의 상황이 아니라도 대부분 개발단계에 뒤늦은 요구사항과 개선 요건들이 나옵니다. 개발단계가 진행되며 결과물들이 나오기 시작하고, 눈이 보이기 시작하면 고객의 디테일한 요구사항들이 마구 쏟아져 나옵니다. 설계시 얼마나 디테일한 부분까지 꼼꼼히 협의했냐에 따라 그 양이 달라집니다. 심한 경우 구조 자체를 바꿔야하는... 재개발의 수준이 이를때도 있습니다.

 

이런 저런 싱황들이 많이 발생하고, 이슈도 많이 생기고 Role간 트러블도 생깁니다. 서로 참읍시다.(사실 제가 젤 못하는 부분이기도 합니다) 이상론적인 말이지만 프로젝트를 잘 끝내려는 공동의 목표는 같으니까요. 서로 배려하고 인정하는 마음이 필요한 시점인것 같습니다. 

 

개발자들은 이 단계부터는 마음을 비워야 합니다. 원리원칙을 따지기 시작하면 끝도 없는 괴로움과 전쟁이 시작될 수 있습니다. 이 때만은 (가능하면) 돈 받으니까 하자! 라고 마인드 컨트롤을 하고 마음을 비웁시다. (물론 저는 잘 안됩니다... 그래서 맨날 전쟁을 하고 있습니다.) 일이 너무 많고 일정이 촉바하여 부하가 걸린다면 얼쩔수 없겠지만, 대부분 8할은 업무적인 관점보다는 감정적인 관점에서 대응하는 경우가 더 많은 듯 합니다. '할 수는 있지만...' 하면서 감정적이 되는 것이죠. 도를 닦읍시다. 불합리하고 화나는 상황들에 자꾸 부딪치게되면, (제가 가끔 하는 방법인데) 이런 생각을 해보면 어떨까 합니다. 하나는 시급을 계산해 보는 방법입니다. 한달급여 / 근무일수(영업일) / 근무시간 = ? , 생각보다 꽤 높게 나오리라 생각됩니다. (프리랜서 기준입니다. 정직원들은 계산하지 마세요. 경우에 따라 절망할수도 있습니다.ㅋ ) 두번째는 (UI개발자라면) 화면 1본당 가격을 계산해 보는 겁니다. 프로젝트 전체기간의 총수령액 / 화면본수 = ? 어마어마한 금액이 나옵니다.!! 물론, 전혀 현실에 맞지 않는 계산식입니다. 그냥 이렇게 위안을 삼읍시다.

 

수행사에게 부탁하고 싶은 부분은 '돈 주니까 해야지'라는 마인드는 좀 버렸으면 합니다. 프리랜서 개발자들은 처음 인터뷰시 얘기한 업무와 역할로 단가협상을 하고 계약을 한 사람들입니다. 그 범주를 벗어나면 미안하게 생각해야 합니다. 본인들이 잘 못 산정한 업무 범위와 역활의 책임을 개발자에게 전가하고, 돈 주니까 당연히 해야 한다고 생각하는 사람들이 의외로 많습니다. 개발자는 업무에 대한 기술을 제공하고 구현을 하기 위해 계약을 한 것이지, 개발자 자체를 노예계약 한 것은 아님을 인재 했으면 합니다.

 

논점이 많이 벗이 났습니다.

개발 단계에서 개발자의 역활은 요구사항을 잘 처리할 수 있는 프로세스와 UI를 구현하는 것입니다. 자신의 작품(결과물)에 대한 자부심을 스스로 느낄 수 있도록, 그리고 다란사람에게 자랑할 수 있는 퀄리티를 갖출 수 있도록 했으면 합니다. 이를 위해 개발 환경을 작 숙지해야하고 익숙해져야 합니다. 또한 표준과 프로젝트의 흐름 및 방향을 놓치지 않아야 합니다. 시키는데로 코딩하는 코더가 아닌 스스로 생각하고 프로젝트를 구현해 나가는 개발자의 자세가 필요합니다.

 

끝으로, 자기 개발을 위해서도 사용 환경(개발툴, 아키텍쳐 등)을 좀 더 깊이 있게 알려고 노력해야 합니다. 그리고 부족한 자신의 역량을 키우기 위한 자기계발은 항상 필요합니다. 여유가 된다면 직접적인 유관관계가 없더라도 새로운 기술을 직접 접하고 경험해 보는 것도 필요해 보입니다. 10년이 넘는 UI개발자 중 EAI의 개념을 모르는 사람들도 많이 봤습니다. (요즘은 1금융 기준, 전사 인터페이스를 모두 EAI를 채택하고 있기에 많이 없습니다만, 그래도 아직 가끔씩 만나게 됩니다.)

 

 

반응형