HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🛁
공부기록
/
🧑🏻‍💻
TIL
/
TIL - 41(팀 프로젝트 준비)

TIL - 41(팀 프로젝트 준비)

태그
협업
문서화
날짜
Jun 2, 2022
속성

1일차

CH-1 - 워밍업 !

1. 팀 결성부터 친해지기 까지

  • 나중에 어떤 동료와 함게 일하게 될 지 모른다..!
    • 주변 사람들이 다 최고일 순 없다 !
  • 유토피아 같은 개발 조직은 없다!!!!
  • 함께자라자.! (김창준님 책을 읽어보자.)

2. 처음 해야할 일은? - 팀장뽑기

  • 추천(Product Owner)
    • Product의 방향성을 가장 잘 알고 있는 사람(아이디어의 주인)
    • 누구나 자신의 아이디어를 구현할 때에는 매우 열정적이다.
  • 익명투표
    • 각자 주관에 따라 어울리는 사람을 뽑기. 개인적으로는?
      • 의견 충돌이 있을 때 누가 가장 중재를 잘 해줄까?
      • 기술적으로 뛰어난 편인가?
      • 어떤 기술에 특히 편향적이지 않고 이상적으로 생각하는가?
      • 말주변이 있는가?(어디가서 발표도 해야 하기 때문)
      • 팀장 일을 하느라 코딩을 덜 하게 되어도 괜찮을까?

3. 팀장의 역할?

  • 팀장은 손해가 될 수 있다.
  • 의사결졍의 casting vote(후보들이 동률일때 선택하는 것)
  • 중재, 멘탈관리, 일정관리, 상위조직장에게 지원 요청(예산 등)
  • 윗사람 개념이 아니다.

4. 처음에 할 일은? > Mind allignment

  • 팀원의 프로필은 알기 쉽지만 마인드를 알기는 어렵다.
  • 내가 가장 재밌게 읽었던 글과 commnet를 공유하자.
    • 되도록이면 엔지니어링, 교양/마음가짐 관련된 것
    • 아니면 그냥 나만 읽기 아까운 것!
    • 플랜비 님은?
      • 소프트웨어 환멸감
        • 충분히 최적화되지 않은 코드베이스가 쌓여나가는 것에 큰 거부감을 느낀다.
      • 나는 어떻게 더 나은 프로그래머가 되었는가.
        • 번아웃을 한번 겪고 나서 압박과 부담을 떨쳐내고 싶다는 생각을 했다. 일부러 일하지 않는 시간을 만들어서 뻘짓을 한다?

CH-2 - 프로젝트 이해하기

1. 프로젝트 이해가 제대로 안된다면?

  • 개발노잼..!
    • 소속감과 missionary가 없다.
    • 이 product/ 내가 개발하고 있는 기능을 통해서 무엇을 해소할지 모르니 동기부여가 안됨
    • 시키는 일은 하겠지만 재미도 없고, 적극적으로 나서서 문제를 해결하려는 생각이 안든다.
  • 기획 상 챙기지 못한 부분을 함께 놓치게된다.
    • 코로나19 백신 예약시스템을 개발하고 있다면?
    • 10부제로 예약이 진행된다는 것을 모르는 개발자는 기획서에 그 내용이 빠져있어도 몰라..
    • 기획자가 잘해야하는거 아니야!? > 개발조직은 상부상조다 !
      • 뒤에서도 나오겠지만 개발자가 기획자를 많이 도와줘야 한다.

2. 프로젝트를 이해하려면 뭘해야 할까?

1 - 간단히 이해하기

  • 프로젝트 이름
    • 한국어명과 영문명
    • 깃 레포이름은 어떻게 하는 것이 좋을까?
  • 정리하자
    • 프로젝트에 대해서 5문장/3문장/1문장으로 정리하자.
    • 비슷한 서비스가 무엇이 있는지 조사하자
      • 그런 서비스에서 배울점은 무엇이 있을까?
      • 그럼 우리만의 차별점은?
    • 가장 중요한 기능은?
    • 기능마다 화면은 어떻게 생겼을지 스케치
    • 어떤 사람들이 사용할까?
    • 동료들과 비교해보자
  • 기능을 각각 보면서
    • 사용자의 어떤 행위에 API Call이 일어나야 할지
    • 그 API의 스펙은 어떻게 만들어져 있어야 할지
    • DB Table은 어떻게 디자인하는게 좋을지
    • 코드에 대한 대략적인 설계도 머릿속으로 되면 좋다.
      • 사용자가 어떻게 하면 버그가 생길 수 있을까?
    • 파생되는 기능 예상해보기
      • 예를들어 게시글을 추가하는 화면이 있다면?
        • 게스글 목록을 조회하는 화면이 있겠군.
        • CRUD에서 빠지는 것이 있는지 생각해보면 쉽다.

2- 깊게 이해하기

  • 피드백하자
    • 기획을 나중에 뒤집으면 비용이 많이 듦
    • 기획자는 개발의 난이도, 보안, 데이터관리, 결과물의 성능까지 생각하기 어렵다
    • 개발자가 나서서 문제가 될 부분을 미리 감지하는 것은 팀에 큰 도움이 된다.
  • 구현이 어렵거나 오래 걸리는 기능
    • 기능의 가성비 == 중요도는 높고 일정은 적게 걸리고
    • 장애물이 있어 구현이 어렵거나, 특정 기능이 일정을 많이 늘리는 경우 논의가 필요함
    • 특히 별로 중요하지 않은 기능이 일정을 많이 잡아먹는 것은 좋지 않다.
      • 기획자는 간단하다고 생각해서, 오래 걸린다는 점을 모르고 있다면?
    • 논의방법
      • 기획유지 : 장애물을 해결해줄 수 있거나 일정이 늘어나는 것을 감수할 수 있는지
      • 기획변경 : 다른 대안을 고려하거나 기능을 spec-out 할 수 있는지
    • 기획자가 원하는 방향으로 진행할 수 있도록 충분히 고민해야 한다.
      • 대립할 필요가 없음.
 

2일차