테크 스펙

1

AndroidStudio

목록 보기
12/83

도대체 테크스펙이 뭐야?
라는거와 함께 시작했다. 뱅크샐러드의 글을 읽고 나만의 언어로 정리하였습니당

개발자들은 개발을 시작 할 때 여러 모습을 보여준다.
혼자서 개발을 하면 다른 사람과 공유 할 필요가 없지만 프로젝트 단위로 움직이게 된다면 내가 무엇을 하는지 어떻게 코드를 작성해야하는지 문서화로 정확하게 명시할 필요가 있다.
대부분의 개발자들은 코드로 소통을 하기 때문에 글로 소통하지 않고 문서와 거리감이 있을 수 있다.


테크 스펙이란?

테크 스펙이란 기술 설명서를 의미한다. 기능을 구현하기 전에 이 기능을 어떻게 구현할 것인지 기술적으로 풀어 설명하고 제안한다. 실제 개발에 들어갈 것 처럼 자세하게 적는것이 특징이다.


테크 스펙은 뭐로 구성되어있는가?

  1. 요약
  2. 배경
  3. 목표
  4. 목표가 아닌것
  5. 계획
  6. 이외 고려 사항들
  7. 마일스톤

요약(Summary)

테크 스펙을 세 줄 내외로 정리한다.
제안 전체에 대해 누가/무엇을/언제/어디서/왜 의 육하원칙에 맞추어서 간략하면서도 명확하게 적는다

유저가 앱을 실행했을때 나타내줄 Splash화면을 만듭니다. 화면은 동적으로 나타내기 위해 Lottie를 이용하여 json파일을 보여준다.


배경(Background)

프로젝트의 Context를 작성한다. 왜 이 기능이 필요한지, 동기가 무엇인지, 무엇을 해결하려는지, 이전에 이런 시도가 있는지, 있었다면 결과가 어떻게 되었는지를 포함한다.

앱을 처음 실행 시켰을 때 내가 무슨 앱을 실행했는지 보여줍니다. 전체적인 앱의 분위기를 보여주고 아이덴티티를 보여주는 화면입니다. 그리고 여러가지 데이터들을 서버에서 불러오거나 각종 퍼미션을 받는 시간을 갖기 위해 필요합니다.


목표(Goals)

예상 결과들을 Bullet Point로 나열합니다. 이 목표들과 측정 가능한 임팩트들을 이용해 추후 이 프로젝트의 성공 여부를 평가합니다. 쉽게 말해 평가 기준이 됩니다.

  • 앱 실행 시 첫 화면으로 나온다.
  • 애니메이션으로 로고를 나타낸다.
  • 퍼미션의 여부를 체크한다.
  • 서버에서 필요한 데이터들을 받아온다.
  • 3초 내외로 나타낸다.
  • 로고는 중앙에 위치한다.

목표가 아닌 것(Non-Goals)

프로젝트와는 연관되어 있으나 의도적으로 하지 않거나 해결하지 않으려 하는 것입니다.
목표가 아닌 것을 정하면 프로젝트의 범위를 명확히 할 수 있고 추가적인 기능도 막을 수 있습니다.
이것 또한 읽기 쉬운 Bullet Point로 나열하여 직관적으로 알아 볼 수 있게 만들어줍니다.

  • 주어진 애니메이션 이외에 다른 것은 추가하지 않는다.

계획(Plan)

테크 스펙에서 가장 긴 파트이다. 준비한 모든 리서치, 준비 내용들을 여기에 기술합니다.
어떻게 기술적,엔지니어링적으로 접근할지 상세히 묘사합니다.
어떤부분을 어떻게 할지 확실히 결정하지 못한 상태라면 어떤 것들을 고려하고 있는지 목록화해서 적습니다
이런 작성의 기대효과는 올바른 결정을 내릴 수 있게끔 도와주는 리뷰어들의 도움입니다.

작성자는 생산적인 제안을 받을 수 있도록 충분히 상세하게 계획을 적습니다.

이 섹션은 프로젝트가 다른 시스템들과 어떻게 상호작용하는지 그림이나 다이어그램을 포함하기 좋은 지점입니다. 사용자와 시스템 간의 시퀀스 다이어그램, 서비스와 API 간의 데이터 흐름 다이어그램, 데이터베이스 ERD 등을 포함하면 독자의 이해를 한층 높일 수 있습니다.

또한 이 테크 스펙이 로우 레벨 까지 다뤄야 한다면 HTTP 응답 코드, JSON 요청 / 응답 포맷, 에러 명세 등까지 모두 다뤄져야 합니다.


이외 고려 사항들(Other Considerations)

고려했었으나 하지 않기로 결정된 사항들을 적습니다. 이렇게 함으로써 이전에 논의되었던 주제가 다시 나오지 않도록 할 수 있고, 이미 논의되었던 내용이더라도 리뷰어들이 다시 살펴볼 수 있습니다.


마일스톤(Milestones)

프로젝트의 기한을 정하기 위해 테크 스펙의 내용을 바탕으로 추정한 마일스톤을 공유합니다. 실험 계획,배포 날짜를 포함해 최대한 자세히 적습니다.

9/7~ : Lottie로 디자이너분께 받은 json파일 확인하기

9/7~ : 첫 화면을 Splash로 지정하기

9/7~ : Internet 통신상태 확인하기

9/7~ : Version 체크하기

9/7~ : 로그인 여부 확인하기


마치며

다른 사람과 협업을 하기 위해서는 문서가 반드시 필요하다. 지금 당장은 오래 걸리고 귀찮은 작업이라고 생각이 들지 모르지만 프로젝트의 규모가 크면 클수록 테크 스펙은 당신의 시간을 절약해 줄 것이고 해야할 업무를 명확하게 만들어 주어 목표를 뚜렷하게 만들어 줄 것이다.

profile
러닝커브를 따라서 등반중입니다.

0개의 댓글