SharedIT | 묻고 답하기(AMP)

전산직 준비생..현직자 입장에서 답변듣고 싶습니당

한 기업 PT면접을 보고왔는데, 현업에서 일해 본 적은 없습니다. 주변에 조언구할 사람이 없어 올립니다ㅠㅠ

현업에서 일해보지 않은 입장에서 실제로는 어떠한 대안이 현실성있고 현직자의 입장에서 답변을 어떻게 하실건지 궁금해서 질문 올립니당.

개발사의 입장에서 한 기관에 ERP를 구축하고 배포 했을 때, 그 기관의 한공정과 ERP가 일치하지 않아서 사용할 수 없다고 했을 때 대안을 선택하는 것이었는데요.

대안은 3가지 였습니다.

 1. 전체소스수정 2. 한공정에 대한 맞춤 자체 프로세스 개발 3. 고객사의  공정 프로세스를 변경토록 권고 


대충 이런 내용이었습니다. 그리고 1과 2의 가장 큰 차이점이 무엇인가요..?

시간, 비용적 측면 말고 다른 것이 있을까요.


또, 이러한 상황 대안을 고르는 면접을 대비해서 정보를 얻고 공부할 수 있는 곳이 있을까요?

Tags : 태그가 없습니다.

4개의 답변이 있습니다.

그저멍하니
  0 추천 | 3년 이상 전

ERP 개발업체 면접을 보셨나보네요?

입자에 따라 답이 틀릴것 같습니다.


EPR 컨설턴트입장이라면 당연히 3번입니다.

이 프로세스가 표준입니다. 바꿔보시면 이런 이런 장점과, 이런 결과물이 나오므로 귀사에 도움이 됩니다 라는 컨설팅을 할수 있을것이구요.

여기서 이슈가 많고, 협의가 안된다면 2번이 그 다음 대안일것 같습니다.


하지만 고객이라면.... 우리를 위해 모든 프로그램을 맞춰주는 1번이 가장 좋지요.


입장에 따른 대답이 다른 문제이므로, 3번이 원하는 답이겠네요.


일하자 | 3년 이상 전

내가 어느입장이냐에 따라 답변이 달라질 수 있겠네요 감사합니다.

wansoo
  0 추천 | 3년 이상 전

실무 경험이 있다는 가정하에 질문한 내용으로 보이네요.

암기식의 단답형이나 4지 선다형으로 정해진 답이 있는 건 아니라 생각되고요.

어떤 학원에서 쪽집개 과외를 받아서 면접에 임하기도 어려운 내용이라 생각되네요.

관련 실무 경험을 했다면 경험을 기반으로 해서 추가적인 질문도 해 보면서 이런 방법이 최선이 될 수 있을것 같아 보인다. 이런 방법으로 진행했을 때, 기간은 어느 정도 소요될 수 있을 것 같고, 추가 인력은 어느정도, 비용은 어느정도될 수 있을 것 같다는 식으로 답변이 될 수 있을 것 같습니다.

소프트웨어 개발이라는 건...

상황에 따라서 조금 수정이 어려운 경우가 많이 발생합니다.

첫 단추를 잘못 끼웠을 경우에는 차라리 모든 것을 뒤엎어 버리고 처음 부터 새롭게 계획을 세워서 개발하는게 훨씬 효율적일 경우가 있습니다.

만들어져 배포된 프로그램과 실제 프로세스와 얼마나 어떻게 다른지에 따라서 판단되어야 제대로된 답을 할 수 있을 것 같고요.

가급적 고객사의 공정 프로세스는 변경하지 않고 개발 소프트웨어를 맞추는게 맞겠지만, 고객사의 공정 프로세스가 비표준적인 방법에 잘못된 프로세스로 일 처리를 하고 있다면 고객사의 공정 프로세스를 변경토록 하는 것도 방법일 수 있겠고요.

소프트웨어를 배포한 후에 업무와 맞지 않아 사용하지 못하겠다는 결과가 나오지 않게 처음부터 잘 계획을 세워 진행해야 했었고, 중간 중간 실무자들과 미팅을 하면서 피드백을 받아서 소프트웨어에 반영을 하거나 문제있는 공정 과정에 대해서 수정하도록 권장했었어야 하겠고요.


제가 공부한 학습 과정 중에 유사성이 있는 내용을 몇가지 추천해 보면...


애플리케이션 테스트 수행 Part1, Part2

개발자테스트 Part1Part2, Part3


정도가 될 것 같은데요.

무료 학습 가능하고, 평가 시험에 수료증도 받을 수 있고 하니 시간을 내어 공부해 보시면 도움은 될 거라 생각되네요.


일하자 | 3년 이상 전

구체적인 상황을 알수없어서 저도 두루뭉술하게 대답했던 것 같습니다ㅠㅠ 추천해주셔서 감사해요

미생
  0 추천 | 3년 이상 전

문제의 정답이란건 언제나 상황과 그 모든것을 넓게보고 판단해야 합니다. 


저건 내부의 전산팀의 개발자가 회사 내의 업무를 처리하다 특정한 예외가 나오는 케이스랑도 사실 거의 별 다를바가 없기 때문에 봐야 할 부분이 있다면 이런것이 있을 겁니다.


  • 1.전체 소스 수정 - 그러면 그 공정이랑 잘맞는 한개의 공정을 살려내는 소스코드의 수정을 대가로 다른 공정에선 어떤 문제가 발생해도 상관이 없는 것인지, 그것에 대해서 내부적으로 그 모든 변경에 대해 기관 내에서 교통정리가 되어있을까요? 그럴리가 없다고 봅니다. 

    덧붙이면 전체 코드를 그중에 변종의 케이스인 한가지에 대해 맞추는건 말이 되지 않습니다. 어떤 직원 하나가 출근을 9:30에 해야 한다고, 회사내 규정으로 출근시간을 9:30으로, 퇴근시간을 18:30으로 조정한다는건데 그런 규정 변경이란게 말처럼 쉽게 되지 않습니다. 

    물론 모든것을 감수하고서라도 해당 공정이 기관의 가장 중요한 일이며 모든것을 다 예외처리할 수 있는 상황이라면 가능은 할겁니다.

  • 2.해당 공정에 대한 맞춤 프로세스 개발 - 이라고 말하고 1에서 코드를 가져와 변형하는 1' 쯤으로 본다 - 해당 케이스가 일반적으로는 정답지라고 볼 수 있습니다.

    하지만 이 문제는 또 다른 내부적 문제가 발생하기 마련인데, A케이스가 필연적으로 발생하니 대응을 했다. B케이스, C케이스 등의 유사 혹은 판이하게 다른 케이스까지 처리를 요청받게 됩니다.

    처리는 어떻게든 얼마든지 가능할 수 있으나 개발을 하는 기간, 인력, 비용에 대해서 처리가 필요합니다.

    만약 외부 개발사가 발주처로부터 받아 진행하는 케이스라면 비용을 발생시켜 보전이 가능하다면 당연히 2번이 정답입니다. 단 비용이 발생치 않거나 서비스의 개념으로 보인다면 2번은 절대 불가하구요.

    일반적으로 내부에 전산조직이 있는 경우 2번을 시행하는데 있어, 기회비용을 고려하여 타당성이 있다면 개발, 없다면 보류 형태로 많이 가게 됩니다.

  • 3.고객사의 공정 프로세스를 변경토록 권고 - 딱 봐도 선택지로 가기는 어려운 답 안나오는 이야기입니다. 근데 결국 비용을 보장받고 개발을 할 수 없다면 결국 어려운 문제가 되고, 그것은 고객사가 업무 방식을 기존의 방식에 통일을 해서 해야 한다. 라는 결론으로 가게 될겁니다. 


그래서 답이 뭐냐 라고 이야기 하면, 해당하는 내용은 고객사의 의견과 내부 사정을 확인해서 해당 사항이 정말로 업무의 프로세스상 수정하여 추가개발을 하는게 맞는 것인지, 비용이 얼마나 들고 기간을 얼마나 걸리게 되는지, 그 방향을 전체 코드의 수정으로 할지, 그 부분에 대해서만 별도의 코드로 돌도록 할것인지 그것이 안된다면 결국 해결 방법은 고객사가 내부적으로 처리하실 부분임에 대해 최대한 납득이 가도록(은 개발비 견적서 한장이면 통상 납득함) 설명하는 부분이 됩니다.

예를 들어 회사 내 주력 프로젝트 팀이 구성되어 회사의 명운을 걸고 가는 건수다. 그러면 1번으로 가도 되는거고, 회사 내 신규팀이나 공정이 작동되는데 미래가치가 있다 그럼 2번으로 가도 되는거고, 그냥 특이한 케이스라 1회성으로 발생하는 TF팀이거나 조그마한 현장의 업무 프로세스다 그러면 3번으로 가고 넘어가는 거라고 봐야 합니다.

배경적인 제반사항 없이 어느게 늘 정답이다 라고 말을 할수가 없는거겠죠. 결국 3가지의 장/단점이 뭐냐를 잘 보고 가야 하는 부분일겁니다. 

면접때 이런 질문에 대한 답을 얻고자 공부를 한다는 건 사실 쉽지 않은 일이라고 봅니다. 굳이 방향성을 따지자면 좁은 시야보다는 넓은 시야, 여러가지 측면에서 다각도적으로 볼 수 있는 사고의 유연성이 결국 문제에 따라 선택을 할 수 있는 폭을 좁혀준다고 볼 수 있지 않을까 생각됩니다.

Genghis Khan | 3년 이상 전

미생님 글에 너무 공감되네요

일하자 | 3년 이상 전

예를 들어서 설명해주셔서 감사합니다. 어느정도 제한된 상황이라고 가정하고 저만의 논리로 답을 좁혀나가야겠네요.

미생 | 3년 이상 전

하나 더 이야기 드려보자면, 결국 저 질문의 의도를 파악하시는게 더 중요합니다. 

질문을 하는 면접자는 어차피 정답 없을거라고 판단했을거라고 보거든요. 제반적인 상황을 주지도 않았는데, 그 질문에 대해 어떤 성향을 가지고 있는지 생각해보고자 하는 생각이 있었을 수도 있습니다.

그 하나를 위해 모든걸 바꾼다. - 위험에 대해 생각하지 않는건가? / 원하는건 뭐든지 해주겠군
일부 수정을 해서 맞춰나간다 - 비용이나 절차에 대해 고려를 안하네? / 고객사와 협의를 잘 할 성격이네?
바꾸지 않고 그대로 간다 - 고객이 원하는 바를 왜 안해주는거지 뭐지? / 필요하다면 고객사의 어려운 요구사항도 잘 해결을 하겠군

답변에 따라서 성향판단도 가능할 질문이라고도 생각되는 점 있어 댓글 달아드립니다. 

상황에 따라 결국 미팅도 발생하고 요구사항도 정리하고 이래저래 할텐데 고객사 상대로 얼마나 어떤 방식의 대응을 하고 뭘 중점으로 가치판단을 하느냐를 볼 수 있을 질문이기도 합니다.

deerokgo
  0 추천 | 3년 이상 전

1번과 2번의 차이는 크게 없다고 봐도 됩니다. 

코에 걸면 코걸이, 귀에 걸면 귀걸이 같은 것이죠. 

개발자 입장과 담당자 측면에서는 

1번이라고 말하고 실제로는 2번처럼 수정할 수 있습니다. 

좀더 생각해보면

1번은 기관의 요청이 코드의 여러곳에 적용되어 있다는 것을 의미하겠고요

2번은 기관 처리를 위한 함수를 별도로 만들었다고 볼 수 있습니다. 

즉, 간단히 말해서 if 문장이 전체 코드 이곳저곳에 들어가 있느냐? 아니면 한번만 들어가서 별도 함수로 처리 했느냐의 차이 입니다. 

비용 적인 측면돠 유지보수 측면에서는 2번이 합당한 처리라고 생각 됩니다. 

제 개인적인 의견였습니다. 

일하자 | 3년 이상 전

if처럼 실제 코드로 생각해보니까 이해가잘되네요 감사합니다