본문 바로가기
WEB

프로젝트 관리 및 개발 도구 | 코드 저장소, 에디터 툴, 이슈 관리 툴, 메신저

by 신림쥐 2023. 12. 20.
728x90

 

     


    개요

    프로젝트를 편리하게 개발 하기 위해 필요한 4가지

     

    1. 코드 저장소

    1. 한가지 프로젝트를 동시에 여러 사람이 작업하기 위해선 다른 개발자가 작성한 코드를 최신버전으로 항상 동기화되어야 한다.

    => 파일을 서로 주고 받는 것은 시간, 인원에 등 제약이 많다.

    2. 코드 버전이 관리 되어야 한다.

    => 파일을 서로 주고 받으면 변경 내용을 알기 어렵고, 오류 시 이전 버전으로 돌아가기는 더 어렵다.

    3. 코드 유지보수성 향상

    => 고객사에 따라 기능이 다른 경우, 배포 전 오류패치 버전만 테스트 하고 싶은 경우 등 프로젝트 버전, 용도를 구분하여 개발 할 수 있다. 작업을 위해 같은 코드를 프로젝트 별로 분리하는 것은 코드 유지보수시에 좋지 않다.

     

    목적

    - 코드 동기화 및 버전 관리

     

    - Git, SVN

     

     

    2. 문서 에디터 툴

    1. 개발자 시 발생한 이슈에 대해서 정리 된 문서가 필요하다

    => 작업내용을 메모장에서 하기엔 에디터 기능이 적고, 시각적으로 불편하다, 

    2. 개발 일정, 업무 내용 등을 정리하여 업무보고, 인수인계 등 업무을 해야한다.

    => 로컬에서 파일로 관리한다면 메일 등 주고받는 과정이 필요하고 타 부서 사람은 접근하기 힘들 수 있다.

    3. 이전에 발생한 이슈 해결, 관련 업무 자료 내용을 찾는 페이지가 있다면 분석에 소요하는 시간을 줄일 수 있다.

    => 로컬에서 파일로 관리하면 문서 버전 관리가 어렵고, 필요한 정보 있는지 직접 하나씩 열어봐야 하고, 없는 경우 담당자에게 요청하는 프로세스가 필요하다.

     

     

    목적

    - 기획/설계/이슈, 보고용 문서, 문의내용 등 문서 관리

     

    - Confluence, Trello

     

     

    Confluence란?

    • 개발 일정/범위/진행상태 등등 업무 정리하는 기능
    • 에디터 페이지
    • 팀별, 부서별 문서를 공유하는 페이지
      - 보통 회사내 계정을 사용하고, 내부방에서만 볼 수 있게 되어었다.

    장점

    • 다양한 에디터 기능 지원(표, 차트)
    • Office, Jira 등 호환됨
    • 링크로 공유 가능
    • 시각적으로 보기 좋음
    • 문서 버전화 관리가능(첨부파일도 가능, 수정자도 확인 가능)

     

    3. 이슈 관리 툴 

    1. 업무별로 업무 내용, 담당자, 소요 시간, 진행 상태 등이 관리 되어야 한다.

    => 위 항목 들을 관리할 수 있고, 수정 시 변경 이력이 남는다.

    2. 이슈 발생 시 history의 커밋 메시지로 작업 내용을 분석 할 때

    =>  텍스트만 가능한 깃메시지는 개발자에 따라 다르게 이해되지만 사진/문서 등 을 가지고 공유한다면 이해도가 높아진다.

    3. 유지보수, QA 등 타 부서에게 업무를 할당받을 때, 타 부서에 담당자를 지정해야 하는 경우가 발생 할 때

    => 타 부서사람은 깃메시지를 보지 못하고 제3자 담당자 지정을 위해 이전 작업 내용을 따로 정리하는것은 시간이 오래 걸리는 작업이다. 

     

    목적

    - 이슈 관리/추적

     

    - Jira

     

    Jira

    • 개발 담당자 할당/조회 하는 기능
    • 일감 내용, 관련 참고내용, 개발 소요시간 등을 관리할 수 있다
    • 애자일 개발방식 프로젝트 작업에 주로 사용하여, 지속적인 관리가 필요한 작업에 용이하다.
      - 이슈, 일감 별로 작업 내용을 공유하기 때문

    장점

    • 담당자를 지정/변경할 경우 작업내용을 다시 작성하지 않아도 된다.
    • 커밋한 이력만 가지고 상세 작업내용을 바로 조회할 수 있다.
    • 스프린트 관리에 용이하다.
    • Git과 연동시 커밋메시지를 통해 이슈번호가 개발내용에 동기화 된다.

     

    4. 메신저 

    1. 간단한 문의내용이나 보고를 해야 할 때

    => 작은 업무가 중요한 업무 알림과 혼동되어 혼란을 줄 수 있다.

    2. 빠르게 업무 공유을 하고 피드백이 필요할때

    => 직접 미팅하거나, 메일로 주고 받는 경우 시간이 많이 소요된다.

     

    목적

    - 소통 및 업무 공유

     

    - Slack, Jandi, Hiworks

     

     

    5. 통합 개발툴 (IDE)

    소프트웨어 편집, 빌드, 테스트, 패키징과 같은 기능들을 사용하기 쉽게 하나로 통합한 애플리케이션을 말합니다.

    모든 텍스트 편집기를 사용하여 코드를 작성할 수 있습니다. 그러나 대부분의 통합 개발 환경에는 텍스트 편집 이상의 기능이 포함되어 있습니다. 공통 개발자 도구를 위한 중앙 인터페이스를 제공하여 소프트웨어 개발 프로세스를 훨씬 더 효율적으로 만듭니다. 개발자는 다른 소프트웨어를 수동으로 통합하고 구성하는 대신 새 애플리케이션 프로그래밍을 빠르게 시작할 수 있습니다. 또한 모든 도구에 대해 알아야 할 필요가 없으며 대신 한 애플리케이션에만 집중할 수 있습니다. 다음은 개발자가 IDE를 사용하는 몇 가지 이유입니다.

     

    IDE가 중요한 이유는 무엇인가요?

     

    1. 코드 편집 자동화
      1. 프로그래밍 언어에는 명령문이 구조화되어야 하는 방법에 대한 규칙이 있습니다. IDE는 이러한 규칙을 알고 있기 때문에 소스 코드를 자동으로 작성하거나 편집하기 위한 많은 지능형 기능을 포함합니다.
    2. 구문 강조 표시
      1. IDE는 자동으로 일부 단어를 굵게 또는 기울임꼴로 표시하거나 다른 글꼴 색상을 사용하여 작성된 텍스트의 서식을 지정할 수 있습니다. 이러한 시각적 신호는 소스 코드를 더 읽기 쉽게 만들고 우발적인 구문 오류에 대한 즉각적인 피드백을 제공합니다.
    3. 지능형 코드 완성
      1. 검색 엔진에 단어를 입력하기 시작하면 다양한 검색어가 나타납니다. 마찬가지로 개발자가 입력을 시작할 때 IDE가 코드 문 완성을 위한 제안을 할 수 있습니다.
    4. 리팩터링 지원
      1. 코드 리팩터링은 핵심 기능을 변경하지 않고도 소스 코드를 보다 효율적이고 가독성 있게 재구성하는 프로세스입니다. IDE는 어느 정도 자동 리팩터링할 수 있으므로 개발자가 코드를 빠르고 쉽게 개선할 수 있습니다. 다른 팀원은 읽을 수 있는 코드를 더 빨리 이해하므로 팀 내 협업을 지원합니다.
    5. 로컬 빌드 자동화
      1. IDE는 일반적으로 모든 코드 변경의 일부인 반복 가능한 개발 태스크를 수행하여 프로그래머 생산성을 높입니다. 다음은 IDE에서 수행하는 일반 코딩 태스크의 몇 가지 예입니다.
    6. 컴파일
      1. IDE는 운영 체제가 이해할 수 있는 단순화된 언어로 코드를 컴파일하거나 변환합니다. 일부 프로그래밍 언어는 IDE가 애플리케이션 내에서 사람이 읽을 수 있는 코드를 기계 코드로 변환하는 적시 컴파일을 구현합니다.
    7. 테스트
      1. IDE를 통해 개발자는 소프트웨어가 다른 개발자의 코드와 통합되고 더 복잡한 통합 테스트가 실행되기 전에 로컬에서 단위 테스트를 자동화할 수 있습니다.
    8. 디버깅
      1. 디버깅은 테스트에서 밝혀진 오류나 버그를 수정하는 프로세스입니다. 디버깅 목적을 위한 IDE의 가장 큰 가치 중 하나는 코드 실행 시 코드를 한 줄씩 순서대로 진행하고 코드 동작을 검사할 수 있다는 것입니다. IDE는 또한 개발자가 입력하는 동안에도 실시간으로 인적 오류로 인한 버그를 강조 표시하는 여러 디버깅 도구를 통합합니다.

     

    IDE 종류

     

    Confluence/Jira 생성 방법

    1. 컨플루언스 로그인

     

    2. Jira 연결

     

     

    3. 컨플루언스 생성

     

     

    4. 개인 스페이스 생성

    - 메뉴를 만들고, 글을 작성하면 된다.(글 작성하는 방법은 비슷하다)

     

    5. 협업에 사용하고 싶다면.. 만들기 선택 후 계정을 초대한다.

     

     

    728x90