본문 바로가기
스터디/코딩

앱 개발:: 클라이언트(요청자)가 알아야 할 기본적인 상식들 / 앱 개발 비용

by 보들송이 2020. 12. 16.
반응형

나는 앱 개발에 대해 전혀 모르는 입장이다.

코딩 몇 개 끄적끄적 할 수 있는 수준인데,

우연한 기회로 앱 개발에 있어서 클라이언트로서

개발 작업에 착수하게 되었다.

이거 참 너무 어려운거 아니오?

그렇게 여러 가지 공부를 하고 정보를 알아가면서

괜히 했다.. 라는 생각이 1차로 들었지만

아무것도 모르는 내가 배우게 된 기본적인 상식들을

포스트로 정리하고자 한다.

 

1. 재정

재정 상황은 크게 3가지로 나뉜다.

개인 사비 vs 투자 vs 정부지원사업

이때 개인 사비나 투자는 큰 위험성이 따르기 때문에,

처음 프로토타입(초기 버전)을 유지보수하는 입장이 아니라면

또는 재정상황이 넉넉한 상황이 아니라면

최대한 정부지원사업을 이용해야 한다고 한다.

개발팀 또한 내부개발팀, 외주의 방법이 있다.

개발 후 유지보수가 필요한 경우 내부개발팀이 필요하지만,

비용이 굉장히 많이 드므로

초반에는 기획과 개발을 외주를 통해 진행하는 것이 좋다.

 

2. 앱 개발 성공 확률

앱 개발에 착수하는 클라이언트들의 성공률은

20%라고 한다. (실패 확률이 아니라 성공할 확률이!)

클라이언트와 업체 간의 관계, 비용 문제 때문인데,

이 확률 높이기 위해서는 오랜 기간, 그리고 꼼꼼한

기획이 준비되어야 한다.

 

3. 앱 개발 단계

위에서 말했듯, 앱을 기획하는게 가장 처음이다.

기획 -> 개발 -> 유지보수

크게 3단계로 이루어진다고 생각하면 되고,

각각 내용에서 알아둬야 하는 점들이 있다.

3-1 기획

기획에는 스토리보드, 와이어프레임, 세부기능명세서 작성인

3단계로 생각하면 된다.

1) 스토리보드

스토리보드는 앱의 흐름, 즉 청사진이라고 생각하면 된다.

앱을 구동했을 때 어떠한 기능이 어떤 순서로 진행되는지 순서도를 만든다고 생각하면 된다.

이 스토리보드를 제작하는 대표적인 디자인 툴로는 스케치, Figma, 어도비 XD가 있다.

Figma가 가장 많이 쓰이는 툴이고, 어도비 XD 또한 개인에게 무료로 배포되고 있어 많이 사용된다.

2) 와이어프레임

와이어프레임은 앱의 한 화면에서, 어떤 요소들이 구성되는지 모두 표현된 것이다.

즉 화면 하나 하나 단위의 레이아웃이라고 생각하면 된다.

이 와이어프레임을 기획할 떄, 클라이언트와 개발자가 해야할 일이 있다.

먼저 클라이언트는 세부 디자인은 보지 않고, 최소한의 필수적인 기능을 정립하는것이 중요하다.

또 개발자는 필요한 기능을 정리하고, 기능 별 최적의 기술을 파악해야 한다.

이때 산출된 페이지수가, 곧 인건비라고 생각하면 된다.

디자인같은 경우에는 후에 UI(User Interface),

즉 화면 디자인을 포토샵으로 퍼블리싱하고

이에 맞추어 개발이 진행된다.

요즘엔 포토샵 말고 위에서 언급한 스케치, 어도비 XD에도

퍼블리싱 기능이 포함되어 있어 편리하게 이용 가능하다.

이때 디자인이 크게 중요하지 않은 상황이라면

애플이나 구글에서 제공하는 디자인 양식을 사용해도 좋다.

이 경우에 디자인 비용도 크게 절약할 수 있다.

developer.apple.com/design/resources/

 

Apple Design Resources

Design apps quickly by using Sketch and Photoshop templates, plug-ins, and preconfigured UI elements.

developer.apple.com

design.google/

 

Google Design

At Google we say, “Focus on the user and all else will follow.” With this in mind, we seek to design experiences that inspire and enlighten our users.

design.google

이떄 화면 크기도 고려해야 한다.

UI 디자인도 화면 비율에 따라 손봐야 한다.

UX(User eXperience), 즉 사용자 편의성 같은 경우에는

유저들의 피드백이 필요하기에, 초기부터 고려하기는 어렵다.

단, 처음부터 차별성과 독창성을 추구하는 것은 사용자에게

어려움을 줄 수 있기 때문에 지양해야 한다.

3) 요구사항명세서(기능리스트)

이는 요구하는 기능들을 점검할 때,

개발 검수할 때 빠짐 없이 체크하기 위해 필수적이다.

과업 범위에 대한 가이드라인이 되기 떄문에,

후에 분쟁이 일어나더라도 개발 여부의 기준이 된다.

 

3-2 개발

개발은 크게 프론트엔드 및 백엔드 개발, 서버&호스팅으로 나뉜다.

1) 프론트엔드

프론트엔드는 말 그래도 UI 등으로 화면에 구현되는 부분을 의미한다.

즉 사용자가 직접 확인할 수 있는 인터페이스를 의미한다.

이때 언어는 HTML, CSS, Java가 사용되고,

기술은 AngularJS, ReactJS, Bootstrap이 활용된다,

프론트엔드 개발에서는 기획 단계에서 만들어놓은

와이어프레임 등이 중요한 역할을 한다.

2) 백엔드

백엔드는 서버측과 데이터베이스를 관리해주는 기술이다.

직접적으로 사용자가 확인할 수는 없지만,

서버와 네트워크를 구축하는 기반이 되는 과정이므로

굉장히 중요하다.

백엔드 개발에서의 언어는 Java, PHP, Python 등이 활용되고

기술은 Express, Laravel 등이 활용된다.

3) 서버&호스팅

정보 저장 및 구축할 수 있는 서버가 존재해야 하는데,

24시간 동안 네트워크 연결이 이루어져야 한다.

이때 관리가 어렵기에 Cafe24, AWS와 같은

외부 서버 호스팅 업체을 통해 진행한다.

호스팅은 서버 호스팅, 웹 호스팅, 클라우드 호스팅이 있다.

서버 호스팅은 단독 운영이기에 운영체계도 자유롭고,

트래픽이 몰려도 큰 문제가 없다. 하지만 가격이 비싸다.

웹 호스팅은 운영체계가 정해져 있고, 서버 관리 권한도 없다.

하지만 가격이 적절하기에 처음 시작할 때 적절한 호스팅이다.

웹의 경우 서버를 만들게 되면 도메인 주소와 연결해야 한다.

이떄 중복되지 않은 도메인 주소를 구매하여 연결한다.

 

4. 개발 비용 (천차만별이지만 대략적)

프로토타입, 서비스 지원 수준의 개발, 고도화 작업으로 나뉘는데,

프로토타입은 약 2천 / 서비스는 3천 / 고도화 작업 5천

이라고 생각하면 된다고 한다.

 

5. 개발 범위

마지막으로 개발시 고려해야 할 요건들로는,

- 견적 범위에서 부가세 포함 여부 확인할 것 (10%)

- 계약금은 3번에 걸쳐 지급하는게 좋음 (계약금 - 중도금 - 잔금)

- 계약시 개발 완료 후 소스 받기를 명시하도록

- 개발 완료 후 유지보수 기간을 명시할 것 (보통 3개월)

- 진행 중 추가하고 싶은 기능이 있더라도 바로 도입하기보다는 나중에 새로운 프로젝트로 진행하도록 (고도화개발)

 

6. 클라이언트의 역할 정리

1) 개발 일정 조율

2) 기능 리스트 점검

- 기간이 1/2, 2/3, 15일 남았을 때

3) 업체와 미팅 결과 정리

- 일자별로 수정본 모두 남기기

 

앞으로의 일정,

잘 할 수 있을지는 모르겠지만

일단 최선을 다해 볼 생각이다.

 

참고 유튜브

www.youtube.com/channel/UCyL4ybEbMQ5GjGNPZ8TNXZg

 

슬기로운 슬대표

#스타트업#창업#앱 개발의 경험 및 정보 공유#앱 개발 가이드#개발업체 정보

www.youtube.com

 

반응형
<-->

댓글