개발자 딜레마. SI 프로젝트 소스는 스파게티에서 왜 똥이 되는가?

개발자 딜레마. SI 프로젝트 소스는 스파게티에서 왜 똥이 되는가?

고민 문의 : seochiwon@naver com 디스코드 혹은 다른 커뮤니티를 이용해서 개발자들 실제 생활 같은 부분을 얘기하는 부분도 진행해보려고 하고 있습니다 참여 의사가 있으시면 많은 댓글이나 이메일로 호응 부탁 드립니다 조만간 영상으로 광고하도록 하겠습니다! 개발자 딜레마 SI 프로젝트 소스는 스파게티에서 왜 똥이 되는가? #개발자 #딜레마 #SI #프로젝트 #소스 #스파게티 #똥 이런 걸 코딩이라고 짜고 앉아있다니… SI 혼종에서는 프로젝트가 똥이 될 확률이 엄청나게 높습니다 이게 무조건 개발자의 잘못인지 한번 따져보도록 하겠습니다 사람이라면 장애인분들을 제외하고는 눈과 귀가 존재합니다 ‘SI 찍어내기 컨트롤 씨브이 종족들 주제에 뭘 한다고~~~’ 그런 반응을 보고 있자니 자존심이 허락을 하지 않습니다 ‘18… 이제 우리도 좋은 코드를 짜고 리팩토링도 하고 잘 해보자!’ 그래 그래 패턴 지키기, 공통 사용하기, 변수 함수명 잘 선언하기… 질이 아주 좋은 코드를 만들어내자고 개발자들이 약속을 합니다 절대로 이런 약속을 어기지 말고 깔끔한 소스를 구현하자고 말이죠 프로젝트 시작전에 팀이 하나가 되는 기적을 보았습니다 금방이라도 정리된 코드로 모든 것을 진행 할 수 있을 것 같군요 오와 열을 맞춰서 우리들의 코드는 일을 수행하고 있습니다 하지만, 그럴싸하게 걸어가며 싸우지만 쳐 맞으면 쓰러집니다 누구나 그럴싸한 계획은 가지고 프로젝트를 시작합니다 고객에게 쳐 맞기 전까지는 말이죠… 당신들의 공든 탑을 무너트릴 그분들이 등장합니다 ‘다 만들었으면 어디 한번 둘러볼까?’ ‘갑’ 담당자는 프로그램을 다 만들면 그제서야 확인합니다 결과물을 본 담당자는 실망을 합니다 이거, 저거 맘에 안드니 다 고치라고 하죠 디자인 평가는 만들어 진 다음에 할 수 있는 부분입니다 시안을 봤을 때는 겨울이고 지금은 여름입니다 감수성도 달라지죠 그리고 계속 요구사항이 더 추가가 됩니다 빼먹은 것들이죠 그 말을 들으면 개발자들은 어이가 없습니다 물론 욕을 합니다 앞에선 못하죠 뒤에서 합니다 ‘고거이… 오픈이 보름 밖에 안 남았는데 말 입네다?’ ‘죄송한데 그 기능은 더 추가 되어야 할 것 같습니다 ’ ‘저희도 테스트에 박차를 가해야 하는데 말 입네다 ’ ‘흐음 좋은 평가 받고 싶으시면 알아서 하세요 ’ ‘우 우선 알겠습니다 요구사항을 주시지라요 ’ 스파게티 소스를 구현하기 시작합니다 현재 공통으로는 못 만들어요 ‘갑’ 담당자 지휘아래 덕지 덕지 기능들이 추가 되었습니다 ‘이제 현업 고객분들이 보실 차례이니, UI 준비하세요 ’ ‘알갔습네다 이제 곧 준비 해 드리지요 ’ ‘이번에 새로 오픈 할 시스템이라고요?’ 시스템을 사용할 현업 담당자가 나타났습니다 ‘하 하하!’ ‘왜 웃으시는 겁네까?’ ‘이렇게 만들면 못 쓸 것 같은데요 기본적인게 누락되었어요 ’ ‘아… 고거이, 저희는 지시 받은대로 개발했는데 말 입네다 ’ ‘그럼 프로젝트 오픈하지 마세요 오픈해도 저희는 안 씁니다 ’ ‘조 부장님 뭐가 문제라는 겁니까 고칠테니 말씀 해 주세요 ’ ‘제가 전에 얘기한 부분 누락 된 것 같은데 맞나요?’ ‘그런 적이 있으셨나… 뭐 바빠서 넘어갔을 수도 있으니 고칠게요 ’ ‘우리 담당자들도 이곳 업무에서 기본적으로 이건 되어야 합니다 ’ ‘아… 지금 이렇게 말씀을 하신다면… 저희가 대응이…’ ‘좀 당황스럽긴 하지만 만들긴 해야합니다 힘 써주시죠 ’ 요구사항은 3층과 10층을 바꿔 달라는 수준의 요구사항 입니다 스파게티 소스를 또 추가하였습니다 정말이지 멋지군요 ‘왜 스파게티 소스를 짜는거지? 왜? 왜? 잘 짜면 되잖아?’ 그 입 다물고 좀 계시지요 시간이 얼마 안 남았습니다 여유 부릴 틈이 없습니다 집에 불이 났는데 이것 저것 챙기고 다 못합니다 빨리 나와야 살죠 집에 불 나는거랑 이거는 다르잖아? 왜 해줘야 하는데? 돈 주는 갑이 실망을 하면 그 다음 프로젝트는 페널티가 있습니다 프로젝트는 좋은 평가를 받아야 하지 않겠습니까? 그래야 사장님께도 좋은 평가를 받게 되는 것이지요 ‘갑’의 실수도 눈감아 줘야 다음부터 계속 같이 일할 수 있죠 그렇게 일을 잘 못 챙기는 ‘갑’이랑 일해서 뭐가 좋은데? 안해! 다시 발 디딤는 곳은 이 보다 더 심할 수도 있습니다 짜증나지만, 이 바닥 안 떠나실 거면 참고 하는 수 밖에 없습니다 충분한 테스트도 못하고 소스만 더러워 진 상태에서 문을 엽니다 바로 지옥의 오픈문을 열어서 사용자들에게 사용하게 하는 것이죠 ‘새로운 시스템이라고요? 로그인 권한부터 주세요 ’ 실제 사용하는 직원들이 접근하기 시작합니다 그래도 꽤 많은 테스트를 진행 했을 것 입니다 이번에 만든 음식점 프로그램 테스트를 빡쌔게 했죠 모든 메뉴 주문, 주문 취소, 거스름돈, 기능 이상 무! 테이블, 바닥, 전구, 조명, 공기질, 화분 모두 이상 무! 음식점 주방, 냉장고, 하수구, 가스레인지 등 모두 이상 무! QA 테스터들이 모두 붙어서 엄청난 Test… 광클을 하네요 QA 팀에서도 엄청나게 잘 준비했다고 인정을 하기 시작합니다 결전의 시간… 첫 손님께서 오셨습니다 ‘안녕하세요 오픈 축하해요 근데 여기 화장실이 어딘가요?’ 컥… 화장실은 안 만들었는데… 사용자는 상상치 못했던 진정한 상세 사양을 하나 둘씩 내기 시작합니다 ‘그런 요구 사항을 내면 소스가 당연히 더러워 지잖아…!’ PM은 축 늘어져서 거의 반 포기 상태가 됩니다 개발자들과 이번 프로젝트는 제법 잘 진행했다고 생각했는데… 개발자들의 불만 사항이 하늘을 찌르는군요… 낙원을 바라고 달려왔지만 ‘갑’님에게 결국은 털렸네요… 이정도 되면 스파게티 소스가 아니라 이제는 그것으로 변하게 됩니다 바로 갑이 서식하는 ‘똥’으로 변하여 집니다 게으르지 않고, 처음부터 적극적으로 프로젝트에 요구사항을 잘 냈으면… 결코 이런 ‘응가’는 만들어지지 않았을 것 입니다 프로그래머인 제가 왜 현업만큼 업무를 잘 알게 되었을 까요? 이 바닥은 코딩을 못 한다고 야근을 하는게 아니랍니다 버스는 달리는데 부산행을 타야 부산에 가지, 서울행 타면 소용없죠 목적지는 업무입니다 버스는 프로그래밍 실력이고요 길을 얼마만큼 아느냐에 따라서 갑에게 뒤통수를 덜 맞습니다 비즈니스를 분석해서 갑을 혼내 줄 정도의 실력은 되어야 이게 조용히 끝나죠 공통 개발자가 어느정도 실력만 있으면 소스는 깔끔합니다 왜 똥이 되는가? SI 프로젝트 이런 걸 코딩이라고 짜고 앉아있다니… 구독과 좋아요 부탁드립니다 감사합니다!