서비스 기획자로 살아남기

[제로베이스 PM 2기] PM 입문 지식 - TECH 기술, UX 등 본문

제로베이스/서비스 기획자 PM 공부

[제로베이스 PM 2기] PM 입문 지식 - TECH 기술, UX 등

hyeeun02 2025. 1. 15. 17:04
UX, 테크 (기술), 비즈니스
이들을 모아놓은 것이 PO

 

 

<TECH>

《 PM이 알아야 할 Tech 지식 》
소프트웨어 개발 주기 : 전체 과정
개발방법론 : 프로젝트를 효과적으로 관리하고 성공으로 이끌기 위한 운영 원칙
시스템 아키텍처 : 시스템의 구조와 구성요서 간의 상호작용
프로그래밍 기초 : 언어의 기본 개념, 구문, 변수, 조건문, 반복문 이해
배포과정 : 사용자에게 제공 

 

 

1. 소프트웨어 개발 주기 (SDLC)

서비스가 만들어지는 각 단계별 진행 상황을 이해하고, 타임라인(진행상황) 관리에 도움을 줌

요구사항분석 → 설계 → 구현 →  테스트 →  배포 → 유지보수

 

 

 

■ 각 단계별 요약 설명

요구사항분석 : 수집 및 분석, 기능명세서 작성 

 

*기능명세서? 구현하고자 하는 서비스의 기능을 정리한 문서, 

주로 개발자와 최종 결과물에 대한 협의를 위해 사용

(주로 노션이나 구글스프레드시트 표 사용)

 

 

기능명세서 의미와 필요성에 대해 참고할만한 링크 ▼

 

[기능명세서]사이드프로젝트에서 개발자랑 안싸우는 앱기획하기!(+메뉴트리)

안녕하세요!! 마이너리 기획자 염희입니다 😆 _ 오늘은 마이너리 앱 디자인이 결정되기까지의 다사다난했던 화면구성부터 디자인까지의 과정을 남겨보려고 해요! 재밌게 읽어주시고 마이너리

minery.tistory.com

 

 

설계 : 데이터베이스 스키마 설계, 알고리즘 정의

구현 : 코드 작성, 소프트웨어 컴포넌트 개발

테스트 : 버그 수정, 요구충족 여부 확인

유지보수 : 지속적으로 업데이트

 


 

2. 소프트웨어 개발방법론

개발효율성 + 목표달성 => 모든 개발의 방법론의 목표

 

 

애자일 : 빠른 반복, 지속적인 피드백을 프로젝트에 반영할 수 있도록 설계

워터폴 : 각 단계가 완료되면 다음 단계로 넘어갈 수 있다 (순차적)

스크럼 : 2~4주 길이로 이루어진 스프린트 동안 특정 작업을 완요

: 낭비 최소화, 가치창출에 집중(제조업에서 시작된 방법, 애자일과 다름)

데브옵스 : 구축과 운영 간의 협력을 강화

 



3. 시스템 아키텍처

*아키텍처? 서비스의 동작원리를 나타낸 것, 즉 각 플랫폼에 맞는 설계를 구현한 것

 

- 협업과 커뮤니케이션 강화

- 프로젝트의 규모 파악, 리소스 할당/일정을 계획

- 프로젝트의 위험을 사전에 관리할 수 있음

단점 → 서비스가 커지면 유지보수 힘듦, 하나의 모듈에 이상 생기면 전체적으로 문제 발생

 

 

 

 

프론트엔드 / 서버 개발의 차이

 

<프론트엔드/클라이언트 개발>

목적 - 사용자인터페이스(UI)와 사용자경험(UX)를 개선하고 최적화
- 사용자가 웹사이트아 상호작용하는 모든 요소
(텍스트, 이미지, 버튼 등)을 디자인하고 구현
주요언어, 기술 - 언어 : HTML, CSS / JavaScript, Object-C
- 프레임워크 및 라이브러리 :
React.js, Angular, Vue.js, BootStrap, Sass
주요작업 - 사용자 인터페이스 디자인 및 반응형 디자인
- 접근성 및 사용성
- 클라이언트 사이드의 성능 최적화
- 상호작용과 애니메이션 구현
주 협업 PM, 디자이너, 서버 개발자

 

 

<백엔드/서버 개발>

목적 - 클라이언트(브라우저 또는 앱)에서 발생하는 요청 처리, 적절한 응답 반환
- 데이터베이스와의 상호작용, 비즈니스 로직 실행, 인증 및 보안처리 담당
주요언어, 기술 - 언어 : 파이썬, 자바, PHP, C, Kotlin
- 프레임워크 : Express(Node.js), Django(파이썬), Spring(Java) 등
- 데이터베이스 : MySQL, Postgre SQL, Mongo DB 등
주요작업 - 비즈니스 로직 기반
- 서버 관리 및 최적화
- API 개발 및 관리
- 장애 대응
주 협업 PM, 프론트엔드 개발자, DBA, 인프라 담당자

 

 

API 란?

응용 프로그래밍 인터페이스로 애플리케이션 간 상호작용을 할 수 있도록 만들어진 규격

-> 프론트엔드에서 요청한 결과 -> 백엔드에서 처라 -> 그 결과를 다시 전달

 

ex)

네이버 - 네이버 로그인 

공공데이터 포털 - 기상청, 교통정보를 누구나 쉽게 이용 가능

 



4. 프로그래밍 기초

: 프로젝트 요구사항을 오해 없이 개발팀에 전달

PM은 프로그래밍 기초 이해하는 게 중요!

 

기초 언어 의미
HTML / CSS - 화면을 그리는데 사용되는 가장 기본적인 문법
- 서비스를 운영할 때 자주 사용
- <> 태그 사용
데이터 구조 - 데이터를 구성하고 저장하는 방법을 정의
1) 배열 : 데이터릐 크기가 정해져 있고, 인덱스를 통해 빠르게 접근 
2) 리스트 : 데이터의 크기는 동적으로 변경, 추가와 삭제 용이
3) 스택 : 후입선출
4) 큐 : 선입선출
오류코드 서버와 HTTP 클라이언트 사이에 발생하는 응답코드
ex) 404 Not Found : 요청된 리소스를 찾을 수 x
500 Internal Server Error : 서버에서 예기치 않은 오류 발생
502 Bad GateWay : 서버가 잘못된 응답을 받음

 

 


 

5. 배포과정

PM은 서비스 출시와 배포 여부를 결정
1) 제품 별 배포 방법 : 앱, 웹, 서버
2) 배포 환경 : 베타, 스테이징, 운영
3) 버전관리

 

 

1)  제품 별 배포 방법

앱 업데이트  - 플랫폼 종속성 : iOS와 Android로 구분
- 승인 과정 : 각 앱스토어의 앱을 제출하기 위해 승인과정을 거침
- 버전관리 : 자동 업데이트 , 강제 업데이트 , 사용자 스스로 업데이트
웹 배포 - 실시간 업데이트 : 즉시 모든 사용자에게 적용
- 다양한 브라우저에서의 호환성을 고려해 테스트 되어야함
서버 배포 - 주요한 서비스 프로세스가 변경되는 경우, 사용자 영향을 최소화하기 위해
서비스를 중단하고 새벽시간에 진행되는 경우 다수

 

 

2) 배포환경 (앱/웹/서버 공통)

베타 - 호칭 : 데브, 베타, 테스트 서버, 개발 환경 등으로 불림
- 베타서버, 베타DB를 바라보고 있는 개발환경으로 개발자나 선택된 사용자 그룹에게 제한적으로 공개
- 새로운 기능이나 변경사항을 테스트하기 위해 사용(오류 발생 최소화하기 위해)
스테이징 - 베트 스테이지와 유사한 기능
- 운영환경의 DB를 연결하는 등 실제 운영환경과 유사한 환경의 테스트를 위해 사용
- 생략하기도 함(가능하면 사용하는 게 좋음)
운영
(매우 신중하게 관리)
- 호칭 : 운영 또는 라이브 등
- 제품이나 서비스가 실제로 사용되는 곳 
- 안정성과 신뢰성이 최우선,
- 실제 서비스 될 트래픽을 고려하여 베타에서 스트레스 테스트를 진행하기도 함

 

 

3) 버전관리

 

<자주 사용되는 언어>

깃 Git : 버전관리시스템 / Git Hub : Git저장소를 호스팅하는 서비스
브랜치(Branch) : 독립적으로 작업 진행을 가능하게 함
커밋(Commit) : 변경사항을 저장소에 기록, 오류 발생하면 이전으로 되돌아갈수O
머지(merge) : 개별적으로 작업한 내용을 하나로 합침, 충돌 발생할 수 있으니 주의!
클라이언트는 클라이언트는 요청자 / 서버는 응답자
즉, 클라이언트는 컴퓨터, 핸드폰, 노트북 등을 의미한다.
우리가 웹툰 사이트를 들어가면 즉시 서버한테 요청을 보낸 것이다.
서버는 그 요청에 대한 응답을 주기 때문에 우리는 웹툰을 볼 수 있는 것이다

RNR(Role and Responsibilities)
: 프로젝트 수행 시 역할과 책임 소재
각 담당자들에게 명확히 그들의 Rola과 책임 범위, 각 업무의 기능을 제공해줌(그래서 중요)

 

 


 

<UX>

PM이 알아야하는 UX지식 5가지

1) 사용자 리서치 
2) 휴리스틱 디자인
3) 사용성 테스트
4) 시각 디자인 기초
5) UX Writing / 마이크로 카피

 

 

1) 사용자 리서치 

사용자의 요구사항과 행동을 이해하기 위해 조사하고 분석 → 필요한 인사이트 Get

ex. 사용자 인터뷰, 설문조사, 관찰, 경험 매핑

 

2) 휴리스틱 디자인

경험적인 규칙 또는 원칙을 기반으로 디자인 결론을 내리는 방법론

사용자들이 제품이나 서비스를 사용할 때 더 쉽게, 만족스럽게 사용할 수 있도록 도와주는 목적

→ 복잡하고 직관적이 디자인을 위해 사용

ex. 시스템 상태의 시각화, 실세계 일치, 사용자 제어와 자유도, 일관성과 표준, 에러 방지, 기억보다 직관, 사용의 융통성과 효율성, 간결한 디자인, 명확한 에러 표시, 도움말과 문서

 

 

*어포던스 개념, 사례 참고할만한 사이트 ▼

나중에 보려고 공유!

 

[바이널엑스] UX 디자이너들의 필수 용어 사전: Affordance (어포던스)

   Affordance(어포던스)는 처음 심리학에서 출발한 개념으로 현재는 디자인과 건축, 컴퓨터 U...

blog.naver.com

 

 

3) UI/UX 테스트 

- 프로토 타이핑 : UI와 UX 시뮬레이션하여 검증하는 과정

- 알파 / 베타 테스트 : 사용자 피드백을 수집하는 방법

- A/B 테스트 : 둘 중에 어떤 게 더 효과적인지 평가

 


4) 시각 디자인 기초

디자인을 할 때 어떤 과정을 거치는지 이해하기

ex. 컬러, 레이아웃, 타이포그래피(가독성 제공), 이미지와 그래픽, 디자인원칙

 

*디자인원칙?

사용자의 시선 유도, 인터페이스의 일관성 유지 등을 통해 사용자의 경험을 향상, 브랜드의 메세지 강조

 


5) UX Writing / 마이크로 카피

좋은 UX Writing 특징 (좋은 예시 : 토스)

- 명확함 / 간결함 : 핵심 메세지를 명확하게 제시 (간결)

- 사용자 중심 : 일상생활에서 사용하는 언어

- 일관성

- 행동 유도 : 바로 무엇을 해야하는지 알려주기