본문 바로가기
Frontend/엘리스 SW 엔지니어 트랙

[ 엘리스 SW 엔지니어 트랙 ] 36일차(8주차: 1차 팀 프로젝트)

by YWTechIT 2021. 12. 14.
728x90

📍 36일 차 12.14. 화. 실시간 강의

오늘부터 25일 크리스마스까지는 1차 팀 프로젝트 기간이다. 팀원은 총 6명이고 역할은 FE 4명, BE 2명이다. 이때까지 혼자서 프로젝트를 진행했다면 이번엔 팀으로 진행하는 거라 팀에 누가 되지 않도록 열심히 해야겠다는 생각이 가득 찼다. 약간의 걸림돌(?) 있다면 지금까지는 React, React + Typescript로 진행했다면 이번엔 바닐라 자바스크립트 + node.js로 진행하는 것이다. react를 사용하면서 DOM 관리를 편하게 사용했었는데,, 이번엔 DOM을 하나씩 관리하는 일이 얼마나 까다로운지 몸소(?)느껴보는 시간을 가져보자.. 내가 맡은 파트는 image drag & drop + form, login 화면이다. 이번에 맡은 파트를 어떻게 코드로 구현했는지 프로젝트가 끝나갈 무렵에 올려야겠다.


❏ 애자일 방법론

  1. 프로젝트를 처음부터 다시 만든다면 비효율적일 것이다. 따라서 처음부터 설계를 꼼꼼하게 진행한다. 데모 버전을 빠르게 만들어서 지속적으로 피드백을 시도한다.
  2. 폭포수 방법론: 요구 사항 분석 → 기획 → 개발 → 테스트 → 통합 → 유지보수
  3. 애자일 방법론: 고객이 수용하고 납득할만한 최소한의 설계와 개발을 반복하는 고객 중심의 개발 방법론이다. 익스트림 프로그래밍(XP, TDD: Test Driven Development), 스크럼(Scrum, Sprint) 등의 여러 방법이 있다. (고객의 니즈를 즉시 반영) 이번 프로젝트는 스크럼 방식 사용
  4. TDD: 테스트 코드를 통해 프로덕트가 원활하게 돌아가는지 확인하는 방법
  5. 애자일 방법론은 순서가 없다. 2주내에 결과물을 내기 위해 어떻게 해야 할지 생각한다.
  6. 한 가지 방법만 따라야 하지도 않고 전체적인 큰 틀인 스크럼과 스프린트 수행을 유지한 상태에서 우리 팀의 상황에 맞게 조금씩 변형하며 적용해야 한다.

❏ 스크럼

  1. 작은 목표를 짧은 주기로 체크하며 프로젝트를 지속적으로 개발하는 관리 기법
  2. 매일 짧게 진행되는 미팅을 수행하며 어제 한일, 오늘 할일, 장애 현상 등을 공유한다.
728x90

❏ Git flow

  1. 이번 프로젝트에서는 branch 를 간소화해서 생성
  2. Master branch : 배포 가능한 상태의 코드, 서비스로 출시될 수 있는 브랜치
  3. Sprint branch : 기능 개발을 위한 브랜치 병합을 위해 사용, 모든 기능이 추가되고 버그가 수정되어 배포 가능한 상태라면 masterMR
  4. Feature branch : 새로운 기능 개발 및 수정하는 브랜치로 사용, 작업이 끝난 기능은 sprintMR
  5. feature branchsprint branchmaster branch
  6. 매주 코드리뷰를 위해 master branchMR 을 올린다.
  7. MR(merge request)

❏ 스프린트

  1. 짧은 기간 내에 빠르게 결과를 만들어내는 기법, 스프린트 종료 후 구성원들은 스프린트 리뷰와 회고를 진행
  2. 프로덕트 계획 → 아이디어 스케치 → 프로토 타입 개발 → 테스트
  3. 비전에서 최종 목표를 세우고 로드맵을 통해 구체적인 단계를 세운다.
  4. 깃 랩 이슈는 3-4시간 만에 할 수 있는 단위로 쪼개라.
  5. 스크럼 마스터: 코치
  6. 사소한 기능 하나라도 product owner 처럼 만들자.

❏ Issue

  1. 프로젝트 진행 시, 어떠한 상황, 문제 또는 계획을 개발할 예정이라는 것을 알려주는 이정표(문제가 생겨서 issue 가 아니라 해야 할 일? todo 정도)
  2. milestone: 프로젝트에서 주요한 이벤트를 표시하는 기준점,

❏ Wiki

  1. 문서화 시켜줄 수 있는 기능, 프로젝트의 정보를 넣어두면 된다.(스크럼 내용 등)
반응형

댓글