앱 기획자(PM)는 아이디어에서 설계, 개발, 출시, 운영에 이르기까지 앱 제작 전 과정을 관리합니다. 비즈니스 요구사항을 넘어 전체 개발 프로세스에 대한 이해가 필수적이죠. 여기에 개발 역량을 더한다면 일정/비용 관리, 품질 관리, 의사소통 및 결정 등 전반적인 프로젝트 관리 능력을 높일 수 있습니다. 미국 PM 정보 사이트 The Product Manager에서 시행한 조사에 따르면 개발 역량이 있는 TPM(Technical Product Manager)의 평균 연봉이 일반 기획자보다 $3,552 더 높았는데요. 업무 현장에서 개발 역량을 지닌 PM이 우대받는다는 방증이죠.
이번 글에서는 앱 기획자에게는 어떤 개발 지식이 필요한지 앱 개발 단계별로 알아보겠습니다.
STEP 1. 프로덕트 로드맵 기획
앱 기획자가 기획부터 개발 과정, 상용화 이후의 사업화 단계까지 큰 로드맵을 그리는 단계입니다. 앱의 목적이 무엇인지 정의한 후, 경쟁사 앱 및 목표 사용자를 상세하게 분석하여 핵심 기능을 규정하고, 아이디어 현실화 가능성과 수익성 등을 판단합니다.
이때 소규모 스타트업이라면 MVP(Minumum Viable Product, 최소 기능 제품)를 정의하며 개발 지표를 세웁니다. 예를 들어 앱 개발에 사용될 프로그래밍 언어, 프레임워크, 도구 등을 정의하고 외부 API나 SDK 활용 여부 등을 살펴봅니다.
STEP 2. UX/UI 설계
앱 기획자가 디자이너와 소통하며 I.A(정보 구조도)와 와이어 프레임을 그리고, 프로토타입을 설계하는 단계입니다.
I.A(정보 구조도)는 핵심 기능을 앱에서 어떤 구조로 제공할지 나타내는 문서입니다. 앱의 전체 구조와 정보 계층 구조, 메뉴 구조, 내비게이션 체계 등 정보 탐색 경로를 설계하고 컨텐츠 그룹핑과 레이블링을 통해 분류합니다. 와이어 프레임은 I.A에서 정의한 기능을 정적 화면으로 나타낸 것입니다. 와이어 프레임에 디자이너가 비주얼을 입혀 목업(Mockup)을 제작합니다.
기획자는 목업을 바탕으로 프로토타입(Prototype)을 설계합니다. 프로토타입이란 목업에 동적 요소를 추가한 디스플레이로, 인터페이스를 테스트하는 최소 단위입니다. 프로토타입을 테스트하며 기획한 프로세스와 함께 사용자 관점에서 발생할 수 있는 문제를 확인합니다.
이 단계에서는 HTML과 CSS에 대한 지식이 필요합니다. 디자이너가 HTML, CSS를 활용하여 결과물을 개발팀과 공유하기 때문입니다. 기획자 또한 HTML, CSS에 대해 알고 있어야 디자이너와 개발자 사이의 소통 불일치에 따른 리스크를 줄일 수 있습니다.
- HTML: 웹 페이지의 구조와 콘텐츠를 정의하는 마크업 언어
- CSS: HTML 요소들의 스타일과 레이아웃을 정의하는 스타일시트 언어
STEP 3. 개발자와 기술 설계 협업
앱의 목적과 회사 내 리소스를 고려하여 앱 구현에 필요한 기술을 개발자와 협력하여 결정하는 단계입니다. 기획자는 개발 지식으로 개발자와 소통하며 기술 제약을 고려한 현실성 있는 요구 사항을 정의하고, 보안 및 성능 최적화 등의 전략을 수립합니다. 이 단계에서 앱 기획자가 알고 있어야 하는 대표적인 앱 개발 지식을 알려드립니다.
앱 개발 방식
앱 기획자는 앱 개발 방식에 대한 이해를 바탕으로 프로젝트 요구사항에 가장 부합하는 최적의 개발 전략을 세울 수 있습니다. 예를 들어 신속한 출시가 필요하다면 네이티브 앱보다 개발 기간이 짧은 하이브리드 앱이나 크로스플랫폼 개발 방식을 선택합니다.
1) 네이티브 앱 (Native Application)
- 각 운영 체제에 맞게 개발된 앱
- 하드웨어 및 기능을 구현하는 데 제약 조건이 없어 다양한 시나리오 개발에 좋음
- 디바이스의 고유 정보, 블루투스나 위치기반 서비스같은 모바일 OS 기능에 접근 가능
- 안드로이드, iOS 전문 앱 개발자 필요
2) 크로스플랫폼 앱 (Cross Platform Application)
- 단일한 개발 언어와 프레임워크로 안드로이드 버전과 iOS 버전 모두 사용할 수 있는 앱을 만드는 방식
- 네이티브 앱에 비해 빠른 개발과 저렴한 비용이라는 장점이 있음
- 네이티브 앱 성능을 100%로 구현하기는 어려워 간단한 앱 개발에 적합
- 기능 업데이트 시, 안드로이드와 iOS 마켓 모두에서 심사를 받아야 해서 즉시 사용과 업데이트가 다소 지연될 수 있음
- 플러터(Flutter), 리액트 네이티브(React Native) 등의 프레임워크 사용
3) 하이브리드 앱 (Hybrid Application)
- ‘웹 뷰’* 기능으로 웹 앱과 네이티브 앱을 동시에 구현한 방식 → 웹 사이트의 다양한 콘텐츠 활용 + 네이티브 앱의 기능
- 업데이트하는 기능이 웹 뷰 안에 있다면, 웹 사이트만 수정하면 되어서 편리함
*웹 뷰(Web View): 네이티브 앱에 내재된 웹 브라우저로 웹 콘텐츠를 사용자에게 보여주는 역할
앱 프로그래밍 언어
앱 기획자는 앱 개발 언어에 대한 이해를 기반으로 발생할 수 있는 기술 부채를 인식하여 앱 관리 전략을 수립합니다.
1) 코틀린 (Kotlin)
- 안드로이드 앱 개발 언어
- 자바를 기반으로 한 신생 프로그래밍 언어로, 자바와 100% 호환 가능
- 세미콜론 생략, 타입 유추 등의 기능으로 간결한 문법을 자랑
- null safety 언어: 변수에 null을 허용하지 않아 NPE(Null Pointer Exception, 프로그램 실행 중 발생하는 에러)로부터 자유로운 언어
2) 스위프트 (Swift)
- iOS 앱 개발 언어
- 옵셔널(Optional) 개념으로 nil(유효하지 않은 값)참조 오류를 방지하고, 자동 참조 계수(ARC)로 메모리 누수를 방지하는 안전한 언어
- 최신 컴파일러 기술과 LLVM(Low Level Virtual Machine) 기반으로 빠른 실행 속도
- 명확한 구문과 타입 안정성으로 코드 가독성이 높음
앱 프레임워크
앱 기획자는 앱 개발 방식에 적합한 프레임워크를 결정하여 비용, 개발 속도, 성능, 유지보수 등에 미칠 수 있는 영향을 고려해야 합니다. 프레임워크별 특징을 알고 있어야 요구사항에 맞는 적절한 기술 스택을 선택할 수 있습니다.
1) 네이티브 앱 프레임워크
안드로이드
- Android Jetpack
- 안드로이드 최신 라이브러리와 도구 모음
- 기존 안드로이드 개발 방식의 진화된 버전으로, 호환성과 확장성을 강조
- Android Compose
- 새로운 선언형 UI 프레임워크로 코드 기반 개발 방식
- XML 레이아웃 대신 코틀린 코드로 UI를 정의하고 렌더링하여 간결하고 선언적인 코드 작성
iOS
- UIKit
- iOS의 기본 UI 프레임워크
- Storyboard나 XIB 파일을 통해 UI를 시각적으로 구성
- SwiftUI
- 새로운 선언형 UI 프레임워크
- 데이터 변경 시 자동으로 UI가 업데이트되는 리액티브 프로그래밍 방식
- 애플 생태계 전반에 걸쳐 단일 코드베이스로 UI를 렌더링
2) 크로스플랫폼 앱 프레임워크
리액트 네이티브(React Native)
- 페이스북에서 개발한 JavaScript 기반 프레임워크
- 빠르게 고성능 앱을 제작할 수 있어 개발자들에게 인기 있는 프레임워크
- 하나의 코드 베이스를 사용하기 때문에 개발 비용과 시간이 절감되고 실시간 업데이트가 가능
플러터(Flutter)
- Google에서 개발한 Dart 언어 기반 프레임워크
- 고성능의 앱과 아름다운 UI를 제공
- 빠른 개발과 디버깅이 가능하도록 핫 리로딩 기능 제공
- 게임 앱 개발에 적합
자마린(Xamarin)
- Microsoft에서 개발한 C# 기반 프레임워크
- 앱이 플랫폼별 네이티브 API에 직접 접근해 성능을 향상
- 성능에 중점을 둔 앱을 개발하는 데 좋음
*하이브리드 앱은 네이티브 앱, 크로스 플랫폼 앱 프레임워크를 모두 사용할 수 있습니다. 웹 기술로 개발되어 웹 뷰 내에서 실행되기 때문입니다.
앱 아키텍처 패턴
아키텍처 패턴은 앱의 구조와 동작 방식을 결정하는 요소입니다. 아키텍처 패턴을 이해하면 앱의 비즈니스 로직, 사용자 경험, 성능 요구사항 등에 부합하는 설계를 개발자가 제안할 때, 타당성을 좀 더 명확히 판단할 수 있습니다.
1) MVC (Model-View-Controller)
- 데이터(Model), UI(View), 로직(Controller)을 분리하여 개발하는 방식
- 개발과 유지보수가 용이하고, 양방향 데이터 바인딩을 지원하여 UI 업데이트가 쉬움
- 큰 규모의 프로젝트에서 확장성과 유지보수성 측면에서 이점이 있음
2) MVVM (Model-View-ViewModel)
- ViewModel이 Model과 View를 분리하고 바인딩하여 코드 복잡성을 줄인 방식
- 데이터 바인딩으로 데이터의 변화가 자동으로 UI에 반영되어 반응형 UI가 구현
STEP 4. 앱 개발 시작 및 테스트
앱 개발이 본격화되는 단계로 앱 기획자(PM)는 테스트 프로세스 전반을 이해해야 합니다. 이를 통해 품질 관리 계획을 수립하고, 효과적인 테스트 시나리오를 설계하며, 개발 단계별 테스트 전략과 일정을 관리합니다.
앱 기획자는 테스트 유형, 테스트 자동화, 테스트 커버리지와 품질 지표, 디버깅 및 프로파일링 도구, A/B 테스트, 배포 및 모니터링 등의 개발 지식을 갖추어야 합니다. 이러한 지식은 단순히 개발팀을 관리하는 차원을 넘어 제품의 품질과 안정성을 좌우합니다.
예를 들어, 테스트 유형과 커버리지 지표를 이해하면 어떤 테스트가 필요한지 파악하고 품질 기준을 설정할 수 있습니다. 또한 디버깅 도구에 대한 지식으로 버그 추적과 해결 과정을 개발팀과 효과적으로 소통할 수 있습니다. 나아가 A/B 테스트를 활용하면 개발한 기능을 실제 사용자 데이터로 측정하여 전략적 의사결정에 활용할 수 있습니다.
STEP 5. 앱 출시 및 운영
앱의 모든 요소가 정상적으로 배포될 수 있도록 준비하고, 마케팅을 통해 앱을 널리 알려야 하는 단계입니다. 지속적인 모니터링과 분석을 통해 사용자 경험을 개선하고, 기능 업데이트와 기술적 최적화를 위한 개발 계획을 수립합니다. 이러한 기술적 지식을 바탕으로 개발팀과 협업하여 높은 품질의 앱 개발 및 운영을 총괄할 수 있습니다.
마찬가지로 앱 기획자는 이 단계에서 다양한 앱 개발 지식이 필요합니다. 예를 들어, 출시 및 배포 시에는 배포 자동화 등의 지식이, 업데이트 시에는 호환성 테스트나 버그 수정 등의 개발 지식이 필요합니다. 또한 최적화를 할 때에는 메모리 관리, 네트워크 효율성과 관련된 개발 지식을 알아야 합니다.
앱 기획자가 현업에서 일할 때 대부분의 단계에서 개발 지식이 활용되고 있습니다. 실제 채용 공고를 살펴보면 우대 조건으로 개발 역량을 요구하는 곳이 많죠. 개발 과정에서 개발 부분이 차지하는 비중이 매우 크고, 개발 단계에서 발생하는 의사결정과 문제해결이 전체 프로젝트의 성공에 결정적인 영향을 미치기 때문입니다. 앱 개발 부트캠프에서는 앱 기획부터 개발, 출시, 운영까지 앱 개발 전체 프로세스를 경험할 수 있습니다. 앱 개발 역량을 갖추고 앱 기획자 채용의 문을 넓혀보세요.
내일배움캠프에서 경쟁력 있는 앱 개발자로 거듭나세요
신입 앱 기획자로 취업하고 싶으신가요? 내일배움캠프에서 앱 개발부터 출시까지 경험하며 앱 개발 전체 사이클을 경험해보세요. 내일배움캠프는 업계 트렌드와 전문성을 갖춘 운영진이 이력서 작성부터 자체 채용 플랫폼, 면접까지 전 운영진이 열과 성을 다해 수강생의 취업까지 함께하고 있습니다. 내일배움캠프와 함께 앱 기획자의 꿈을 이뤄보세요.
참고자료
CREDIT
글 | 정효재 팀스파르타 에디터
취업 준비, 어디서부터 시작해야 할지 모르겠다면?
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
Share article