TIL #28. 프로젝트 Kick off

ceres·2020년 2월 24일
0

TIL

목록 보기
11/34

(20/2/24)

프로젝트 하는 이유

  • 실제 웹서비스를 처음부터 끝까지 구현해보는 것
  • 팀의 일원으로서 시스템을 끝까지 같이 짜보는 것
    실력 좋은 것 보다 협업을 잘 하는 것이 중요하다.
  • 프로세스 개발 경험
  • 포트폴리오 만들기
    제3자가 봤을 때 프론트 앤드 완성도이다.

프로젝트 프로세스

  • scrum
  1. Planning Meeting
    매주 할 것 미팅
  2. Kanban Board - Trello
    할 것 나눈것 트랠로에 올리기
  3. Daily Standup Meeting
    매일 나의 진행 상황 공유
  4. Github - PR & Code Review
    깃헙에 올릴때 멘토에게 PR 받고 코드리뷰 받은후
    확인 받아야지만 merge가능
  • 2 weeks total - 2sprints

Scrum

나무그네 이야기
고객, 프로젝트 매니저, 영업팀 이 생각한 나무그네가 다 다르다. 
고객이 실제로 필요했던 나무그네 가 다 다르다. 
(고객도 스스로 무엇을 원하는지 잘 모른다. )

Intro To Scrum

  • 전체 개발 프로젝트의 68%가 실해함
  • 실패의 정의 :
    - 목표기능 미달 및 불량, 일정 및 비용초과. 개발 중도포기(완전실패)
    -> 소프트웨어 개발 프로젝트 운영은 어렵다.
  • 소프트웨어 개발 프로젝트 운영은 왜 어렵나?
    • 단순히 시간을 많이 쓴다고 잘 되는게 아니다.
    • 인류에게 새로운 분야이기 때문
    • 소프트웨어 프로젝트 운영에 관해 많은 노하우나 경험이 쌓여있지 않기 때문에 운영자들이 자신이 익숙했던 경험으로 운영함
  • 그래도 미국이 선두주자로 소프트웨어 프로젝트 운영 방법에 대해 많은 고민과 토론을 하고 방법론 들을 발명함
    • 그중 가장 효과가 입증되고 널리쓰이는 것이 scrum
    • 도요타가 발명, 추후 미국 도입으로 소프트웨어 개발운영에 사용
  • scrum의 기본철학
    • 개발업무는 소요시간과 진행과정을 예상하기 어려움.
    • 한시간 걸린다고 생각하면 2-3시간 기본이고 1달 걸린다고 하면 2-3달이 기본
    • 이것은 초급 개발자부터 고급 개발자까지 예외 없음
    • 개발을 진행하면서 생긱는 예상치 못한 어려움과 문제를 미리 알 수 없기 때문에, 단순하고 긍정적으로 생각해서 에상 해보리는 인간의 본질이 원인
  • scrum 에서는 이 문제를 부정하지 않고 인정
  • 최소화 하는 것이 목적
  • 프로젝트가 완성되기 까지의 소요시간 예상은 정말 어려움
  • 그러나 단기적인 시간안에 할 수 있는 일을 결정하는 것은 비교적 가능
  • 그럼으로 계획을 짤때에 장기적인 계획이 아닌 단기적인 계획을 단계적으로 여러번 짜는 것이 중요함.
  • 이런 짧은 단기 주기를 Sprint 라고 함.
    • 예를 들어 2 weeks sprint는 2주 주기
  • 스프린트 진행방법
    • 스프린트 시작하는 첫날 플래닝 미팅을 갖고 스프린트 동한 할 일을 결정함.
    • 스프린트를 진행하면서 각자 주어진 일을 완료함
    • 매일 standup 미팅을 통해 팀원끼리 서로의 진행상황을 공유함
      • stnadup 미팅을 앉지 안아도 될 정도로 짧은 시간에 서로 진행 사항 공유하고 다시 일하자는 취지
    • standup meeting 에서 다음3가지를 한 사람 씩 돌아가면서 이야기 할것
      • 어제 했던 일
      • 오늘 할 일
      • 다른 사람에 의해 막혀있는 것 이나 다른 사람이 해줘야하는 것 (blocker)
      • 말이 길어질 것 같으면 standup meeting 끝난 후 에 말하자고 하고 끊어야함
  • 이런 주기를 프로젝트가 끝날 때 까지 반복
    • 큰 프로젝트를 스프린트 단위로 나누어서 계획하고 실행하는 것임
    • 이렇게 함으로 좀 더 현실적인 계획을 할 수 있음.
  • 프로젝트 진행상항 파악이 쉬어짐을 문제나 차질이 있을 때 미리미리 대처할 수 있음.
  • Agile 방법
    • 한 주기를 짧게 짧게 반복하며 변경사항을 수정해가며 만드는 것
  • 스크럼 방식
    • product backlog: 할 것 모두 정하기
    • sprint planning meeting
    • sprint backlog-1-4week sprint-daily scrum meeting
  • 스크럼 핵심 : 수정사항 능동적, 신속하게 반영

행동강령 Code Of Conduct

  • 시간엄수: 미팅시간/ 각자 맡은 일 제시간에 완성
  • 책임감:
    • 다른사람에게 의존하거나 떠넘기려고 하지 말자
    • 내가 맡은 역할과 일을 모두 책임감있게 완수는 기본
    • 내가 하지 않아도 되는 것도 하는 사람이 되자!
  • 팀워크: 우리는 모두 성인. 내 기분대로 하지 말자.
    - 서로 배려하자. 팀 분위기를 좋게 하자!
    - ‘님’자 부치고 꼭 존댓말 쓰자
    - 남탓으로 돌릴 수 있는 상황이 세팅되는데 존칭 안하면 말실 수 하기 쉬워짐. 
    - 한 번 말실수 하면 되돌리기 어려움.
  • 도전정신 : 쉬운것만 할려고 하지 말자. 쉬운것만 하면 발전이 없다. 어려운걸 해라.
    	- 두려워하지 말라. 모르겠고 이해 한되는 것이 당연한 것이다. 
    	- 어려운 것을 두려워서 다른 개발자에게 넘기면 자신은 성장하지 못한다.

훌륭한 개발자는 좋은 머리로 되는 것이 아니다.
꿈과 비젼 그리고 근면으로 되는 것이다.

진짜 열심히 엄청 열심히 하자
개발은 타고나는 것이 아니라 훈련을 하면 누구나 할 수 있다.

꿈과 비전이 없으면 근면하기 어렵다
꿈과 비전, 원동력이 있어야한다.

0개의 댓글