[우당탕탕 애자일] 선생님 설계는 언제하는 건가요?

서연주·2022년 7월 5일
0

SWMaestro

목록 보기
2/6

고민 배경

기획 심의가 끝나고 첫번째 스프린트 만에 라이트 형제라는 별명을 얻은 우리팀.

설계고 뭐고 무조건 날려본다는 뜻이다

우리는 2주에 걸쳐 한 번의 스프린트를 전개하는데, 기획 없이(기획 심의 자료만 가지고) 바로 개발에 들어갔다는 점도 한 주가 지나서야 정규 멘토링 시간에 깨닫게 되었다. 어떻게 그럴 수가 있냐면...

Agile은 빠르게 개발하는 게 아니다. 사용자 중심적으로 사고하는 것이다. 라는 말을 계속해서 상기하다보니 사용자들에게 당장 필요한 건 돌아가는 기능이야!같은 생각을 하고 있었다. 퀄리티를 높일 생각은 있었다. 그런데 놀랍게도 설계를 해야한다는 사실은 전혀 하고 있지 못했다.

하지만 다른 팀을 보니 다들 설계를 하고 있었다. 이미 설계를 마쳤다는 팀도 있었다. 벌써 사용자 테스트를 진행한 팀은 우리 팀이 거의 유일한 듯 했다. 사용자에게 필요한 기능을 만든다는 일념 하에 백엔드를 담당하기로 한 팀원은 디자이너 역할을 도맡았고, 백엔드 개발자인데 백엔드 개발은 전혀 안하고있네...를 2주간 느꼈음은 Expert님과 한 해피니스 시간에 명백히 확인할 수 있었다.

설계의 중요성을 피력하는 다른 경험 많은 개발자들도 사실 많이 봤다. 최근 읽은 책에서도 자신의 코드를 지키는 것은 개발자의 역할이라고 그랬다. 각자의 상황에 맞는 코드 방어책이 있겠지만, 나는 내 코드를 지키는 방법을 모르는 것 같은 느낌도 들었다. 멘토님들의 반응도 보아하니 뭔가 설계를 해야할 것만 같은 기분이 든다. 그런데 아직 위의 사고는 풀리지 않았다.

아무개는 사용자가 진정으로 원하는 건 '자기가 원할 때 언제든지 제대로 동작하는 기능'이기 때문에 설계가 필요하다고 할 수도 있겠다. 하지만 그 말은 나를 100% 이해시킬 수는 없었던 것 같다.

좋은 건 알겠는데... 지금 해야하는 거 맞아?

그래서 멘토님께 여쭤보았다

Agile에서 설계는 언제 하나요?🤔
개발 설계 과정이 분명 필요한 것 같은데 사용자 입장에서 설계가 이번 스프린트 때 필요한 것인지는 잘 모르겠어요.
분명 장기적인 관점에서는 필요하다는 걸 아는데 당장 사용자에게 필요한 건 사실 자기 불만을 해소해주는 기능일 것 같아요. 그리고 이번 스프린트의 핵심 목표는 설계도 아니고요.
그 주 스프린트 목표에 따라 달라지는 것일까요? 설계를 건너뛰었다는 건 아는데 언제 해야하는 걸까요?

멘토님의 답변

멘토님께서는 내게 '설계를 해야하는 이유가 없는데, 해야할 것 같아서 이유를 찾는 느낌'이라고 말씀해주셨다.

정확한 말씀이었다...

주변에서 해야한대서 해야할 것 같았고, 근데 나는 그 이유를 이해하지 못한 상태이다.
똑같은 말처럼 보이지만 타인의 간결한 문장 하나로 나의 고민을 정리해서 듣는 것은 분명히 다른 느낌을 준다.

설계도 결국 수단에 불과합니다. 목적이 되어서는 안됩니다!(애자일에 한해서!)

이번 스토리와 에픽을 수행하는 방법론 중에 'UML 설계'라는 방법론이 최적이고 그걸 PO와 스쿼드원에게 설명할 자신이 있다면 밀어붙이면 됩니다.

멘토님의 말씀대로 수단에 알맞는 목적을 찾는 것이 아니라, 목적에 알맞는 수단을 찾는 것이 맞는 방향이다.

즉, 서비스를 기획할 때처럼 뭐든 필요성과 목적을 먼저 체감하고 방법을 탐색해나가는 것이 건강하고 자연스러운 방법인 것이다. 남의 말(이렇게 하는 게 맞댔어...)로 나를 설득시키려고 하다보니 나타난 부작용. 매번 나의 말로 나를 설득해야한다고 느꼈다.

지금까지의 나는 직접 체험해보면서 느끼는 편이었다. 그러니 이번에도 내가 맡은 부분에서 설계가 필요한 부분이 어딜지 기웃거려 봐야지. 그리고 정말 필요한지 더 생각해봐야지. 뭐든 자꾸 해보면 더 나아지니까~ 오늘도 우당탕탕 애자일 화이팅~~

profile
pizz@ttang

0개의 댓글