Group Project Kickoff Session

Daye Kang·2019년 12월 25일
0

1. the Objective of the Group Project

: 실제 팀을 꾸려 웹 시스템 개발을 해보는 경험을 가져보는 것. 혼자 개발을 하는 시스템은 실무에서 없고 팀 개발을 하는 역량을 기르는 게 가장 중요하다. 객관적인 개인의 코딩 실력보다 소통과 팀워크의 중요성을 깨닫는 것. 개인의 개발 실력이 좋아도 협업이 되지 않으면 문제가 되고 한 명의 실력 자체는 '팀'의 관점에서 중요하지 않다. 그리고 Scrum 개발 소스 이용, 포트폴리오 만들기(완성도에 신경 쓰기).

2. Project Process

: Scrum 이용, 소프트웨어를 개발할 때 이용하는 프로세스 또는 방법론.

  • a. 한 주에 할 내용들을 결정한다(1주 단위로)
  • b. trello 이용
  • c. Daily Standup Meeting: 매일 서서 하는 미팅을 가져 각자 할 일을 공유하고 정리
  • d. Github push. PR을 날려서 통과가 되면 master로 push.
    PR을 날릴 때는 한 기능(branch)만 있어야 한다. PR 날리기 전에 테스트 해보기!! ** 소프트웨어 개발의 프로세스가 중요한 이유: '나무 그네 이야기'
    => 그만큼 대화와 소통, 피드백을 받아 수정을 해 나가는 것이 리스크를 최소화.

3. intro to Scrum

: 전체 개발 프로젝트의 66%가 실패한다.

  • '실패'의 정의: 목표기능 미달 및 불량, 일정 및 비용 초과, 개발중도포기(완전 실패)
  • 소프트웨어 개발 프로젝트 운영은 굉장히!! 어렵다.
  • 왜 어려울까?
    ==> 단순히 시간을 많이 쓴다고 해서 잘 되는 게 아니다. 소프트웨어 개발 자체가 인류에게 새로운 분야이기에 익숙하지가 않다. 많은 회사와 담당자들이 본이들에게 유리한 방식대로 진행되기 때문!
  • 그럼에도 미국이 선두주자. 소프트웨어 프로젝트 운영 방법에 대해서 많은 고민과 토론을 하고 방법론들을 고안.
  • 그 중 가장 효과가 인증되고 널리 쓰이는 것이 'Scrum(스크럼)'.

Scrum의 기본 철학

  • 개발업무는 소요시간과 진행과정을 예상하기가 굉장히 어려워 한 시간 걸린다 생각하면 2-3 시간이 기본이고 한 달이 걸린다고 하면 2-3달이 기본.
  • 개발을 진행하면서 생기는 예상치 못한 어려움과 문제를 미리 알 수 없기 때문에 단순하고 긍정적으로 생각해 예상을 하는 인간의 본질이 원인!!
  • 스크럼에서는 이 모든 문제들을 부정하지 않고 피할 수 없다고 가정해 이런 문제들을 안고 어떻게 그 피해들을 최소화해 결과물을 낼지에 대해 초점.
  • 그러나 단기적인 시간안에 할 수 있는 일을 결정하는 것은 비교적 가능하고 현실적임.
    => 그럼으로 계획을 짤 때에 장기적인 계획이 아닌 단기적인 계획을 단계적으로 여러번 짜는 것이 중요함. 그리고 이것을 'sprint(스프린트)'라고 한다.

Sprint 진행 방법

  • 스프린트가 시작하는 첫 날 planning 미팅을 갖고 ㅅ프린트 기간 동안 할 일을 결정
  • 스프린트를 진행하면서 각자 주어진 일을 완료.
  • 매일 스탠드업 미팅을 가져 팀원끼리 서로의 진행사항을 공유. 어제 했던 일, 오늘 할 일, 다른 사람이 해줘야 내가 일을 진행할 수 있는 일 혹은 내가 도와줄 수 있는 일 등.
  • 이러한 주기를 프로젝트가 끝날 때까지 반복.
    => 이러한 과정을 통해 현실적인 계획을 할 수 있고 문제나 어려움이 생겼을 때 미리미리 대처할 수 있음.

그리고 이러한 방식을 Agile 방식이라고 한다. 만들어내는 결과물이 적더라도 확인을 하면서 갈 수 있으므로 결과적으로 봤을 때 더 효율적이고 점차 점차 진행하면서 피드백을 빠르게 반영할 수 있는 방식. 그 방식을 개발에 적용시킨 것을 스크럼이라고 한다.

4. Code of Conduct

  • 시간 엄수(스탠드업 미팅 시간, 각자 맡은 일 제 시간에 완성하는 것)
  • 책임감(다른 사람에게 의존하거나 떠넘기려고 하지 말자. 의도 자체가 불순하면 안되고 내가 맡은 역할과 일을 책임감 있게 완수하는 것은 기본이고 내가 하지 않아도 되는 일을 하는 사람이 되자. 그런 역량을 길러 나가야 한다. )
  • 팀워크(우리 모두 성인이기에 내 기분 대로 하지 않으며 서로 배려하자)
  • 도전정신(쉬운 것만 하려고 하지 않기. 두려워하지 않기. 모르겠고 이해 안되는 게 당연한 것이며 배우는 과정임을 항상 생각하자. 모르는 게 있으면 도움을 요청하자. 좌절하지 말자)

마지막 은우님의 말씀: "훌륭한 개발자는 좋은 머리로 되는 것이 아니다. 꿈과 비전 그리고 근면으로 되는 것이다."

profile
뭐든 하자

0개의 댓글