티스토리 뷰

오늘 TIL 3줄 요약

  • 사용자처럼 생각하기 위해 사용자와 함께 일하라.
  • 행운은 준비된 사람에게 찾아온다.
  • 사용자는 여러분 팀의 일원이다.

TIL (Today I Learned)

2022.04.03


오늘 읽은 범위

8장. 프로젝트 전에 p349-p376


책에서 기억하고 싶은 내용을 써보세요.

요구 사항의 구렁텅이

  • 자신이 뭘 원하는지 정확히 아는 사람은 아무도 없다.
  • 진짜 세상은 엉망이고 갈등이 넘쳐나며 알 수 없는 점도 많다.
  • 프로그래머는 사람들이 자신이 원하는 바를 깨닫도록 돕는다.
  • 신입 개발자들이 자주 범하는 실수는 이런 요청 사항을 받았을 때 바로 해결책을 구현해 버리는 것이다.
  • 요구 사항은 피드백을 반복하며 알게 된다.
  • 실용주의 프로그래머는 프로젝트 전체를 요구 사항 수집 과정으로 보아야 한다.
  • 사용자처럼 생각하기 위해 사용자와 함께 일하라.
  • 정책은 메타데이터다.

=> 내가 맡은 도메인의 기능 개선을 위한 새로운 기획이 나오고, 회의가 잡힌다. 기획을 살펴보니 사용자에게 더 편리한 기획임은 틀림없다. 예전에는 전달 받은 내용을 어떻게 구현해야 할지에 대한 고민하는데 회의 시간을 거의 다 보냈다. 이 부분이 바로 위에서 설명하는 신입 개발자들이 자주 범하는 실수다. 이런식의 개발은 누구나 할 수 있다고 생각한다. 진짜 소프트웨어 엔지니어가 되기 위해서는(못 한다고 가짜 소프트웨어 엔지니어는 아니다.) 새로운 요구사항을 받으면 시스템적으로 문제는 없는지, 기능을 구현했을 때 현 회사의 정책과 충돌은 없는지 충분히 머리를 맞대고 고민을 한 뒤에, 수정 작업을 거쳐 완성된 기획을 가지고 구현에 대한 고민을 해야 한다고 생각한다. 물론 나도 아직은 구현에 대한 고민이 항상 더 먼저 앞선다. 이런 행동을 고치기 위해 의도적으로 노력해야겠다.


불가능한 퍼즐 풀기

  • 생각의 틀을 벗어나지 말고, 틀을 찾아라.
  • 풀리지 않는 문제와 마주쳤다면 생각해 볼 수 있는 모든 해결 경로 후보를 눈 앞에 나열해 보라.
  • 제약을 범주별로 나누고 우선순위를 매겨라
  • 잠시 딴 짓을 하기 딱 좋은 시간이다. 잠깐 다른 일을 하라.
  • 행운은 준비된 사람에게 찾아온다.

=> 기능을 구현하다보면 정말 어떻게 해야 할지 모를 정도로 막히는 때가 온다. 늦게까지 이 문제를 해결하기 위해 컴퓨터 앞에서 머리 싸매고 고민해도 답은 나오지 않는다.. 에라 모르겠다하며 퇴근하고 집으로 향하는 지하철 안이나, 집에 도착해서 샤워를 하다가 문득 "어? 잠깐만! 이런 방식으로 접근하면 될 거 같은데?" 하며 해결방안이 떠오를 때가 있다. 풀리지 않는 문제를 오래 고민하지 말자. 시간 아깝다. 해결책은 정말 어느 순간에 찾아온다. 물론 해결책을 얻기 위해 내 지식은 항상 준비 되어 있어야 한다.


함께 일하기

  • 사용자는 여러분 팀의 일원이다.
  • 실제로 코딩을 하는 와중에 질문을 하고 토론을 하는 것이다.
  • 우리 인간의 뇌 용량은 제한적이라는 점을 잊지 말라.
  • 다른 사람의 관점을 듣고 이해하려고 노력하라. 다른 것은 틀린 것이 아니다.
  • 코드에 혼자 들어가지 말라.

=> 개발 완료된 코드를 하루 지나고 다시 본 적이 있다. 내가 그땐 왜 그렇게 코드를 짰을까 생각하게 만드는 코드가 눈에 보였다. 코딩하는 순간에는 코딩에만 집중해서 다른 부분을 놓치기 십상이다. 누가 볼새라 황급히 코드를 수정하였다. 좀 더 나은 방향의 코드를 작성하는 방법으로는 동료와 함께 짝이 되어 프로그래밍하는 방법이 있다고 한다. 솔직히 지금의 내 개발환경에서는 불가능한 일이라고 자신있게 말할 수 있다. 지금은 최대한 혼자 작성하고 돌이켜보고, 개발자들과 개발적인 이야기 뿐만 아니라 그 외적으로도 편하게 많은 대화를 나눌 수 있는 환경의 회사로 이직할 준비를 해야 겠다.


오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

기획자로부터 추가 또는 개선될 기능이 도착하고, 그 기능이 올바른지(정책이나 다른 기능과의 충돌은 없는가) 파악된 후에야 구현할 준비를 해야 하지만, 어떻게 구현해야 할지에 대한 고민으로 회의 시간을 보내왔다. "빨리 기능이나 만들어야지"하며 매 순간에 임해왔다. 이런 행동은 나에게도, 팀에게도 좋지 않은 영향을 끼치는 것은 자명한 사실이다. 함께 일하며, 사용자에게 더 나은 서비스를 제공하려면 의도적으로 내가 바뀌어야겠다고 생각한다.


궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

애자일은 많이 들어 보았지만, 여전히 낯설기만하다. 애자일에 대해 조금 더 찾아보아야 겠다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함