brunch

현실 개발 과정을 담은 앱개발 비하인드 스토리

5년차 개발자의 현실 개발 과정

by 긍정맨

개발 과정은

겉보기에는

간단해 보일 수 있지만,

그 안에는 수많은

복잡한 작업들이 숨어있습니다.


이번 글에서는 비개발자 고객도

쉽게 이해할 수 있도록,

제가 경험한 앱 개발 과정의

비하인드 스토리를 공유해보려고 합니다.

한 번 개발이 어떻게 진행되는지 살펴볼까요?


1.처음 시작

아이디어를 구체화하는 단계


1.jpg


개발 프로젝트는

항상 아이디어에서 시작됩니다.

고객이 앱이나 웹사이트에

대한 큰 그림을 제시하면,

개발팀은 이 아이디어를

더 구체적인 계획으로

전환하는 작업을 합니다.


고객이 말하는 "내가 원하는 앱"은

보통 대략적인 느낌이기 때문에,

여기서 개발팀은 고객의

생각을 구체화해야 합니다.


저희가 맡았던 한 프로젝트를 예로 들면,

고객님은

"사용자들이 모일 수 있는 커뮤니티 앱"을

만들고 싶다고 했어요.


하지만 구체적으로 어떤 기능을 담아야 할지,

어떤 방식으로 사용자 경험을

제공해야 할지 막연해하셨죠.

그래서 우리는 다음과 같은 질문들을 던졌습니다


2.jpg


"사용자들이 어떤 활동을 할 수 있나요?",

"모든 사용자에게 동일한 기능을 제공할까요”

아니면 “역할에 따라 다른 권한을 부여할까요?"


이 질문을 통해 우리는 앱의

구체적인 기능들을 정리해나갔습니다.

이런 과정은 기능명세서를

작성하는 데 중요한 첫 단계입니다.


2. 디자인

사용자 경험을 시각적으로 표현하기


기능을 정리한 후에는

디자인 작업이 시작됩니다.


여기서 중요한 건 단순히

예쁜 화면을 만드는 게 아니라,


사용자가 직관적으로

앱을 사용할 수 있게 하는 것입니다.


개발팀과 디자이너가 협력하여

사용자 경험(UX)을 고려한 인터페이스를 설계하죠.


3.jpg


제가 기억나는 한 프로젝트에서는,

고객이 앱의 색상과 레이아웃에

대해 많은 요구를 했습니다.


그 중 가장 큰 요청

"모든 것이 한눈에 보였으면 좋겠다"

는 것이었어요.


하지만 모든 정보를 한 화면에 다 넣는 것은

사용자에게 혼란을 줄 수 있었기 때문에,

이를 단순하고 직관적인 구조로 변환해야 했습니다.


4.jpg


결과적으로, 우리는 각 화면에 핵심 기능만 배치하고,

추가적인 정보는 메뉴를 통해

쉽게 접근할 수 있도록 디자인했습니다.


이렇게 디자인은 시각적 아름다움보다는 사용

편의성을 더 중요하게 다뤄야 한다는 점

배웠습니다.


3. 개발

코드를 짜는 마법 같은 시간


이제 본격적인 개발 단계로 들어갑니다.

이 단계에서 개발팀은

기능명세서에

따라 코드를 작성하기 시작합니다.


고객이 요청한 기능이 기술적으로 가능한지,

최적화된 방식으로 구현될 수 있는지를

확인하며 한 줄 한 줄 코드를 짜나가죠.


5.jpg


한 번은 고객이 앱에

실시간 채팅 기능을 추가하고 싶다고

요청한 적이 있었는데요


여기서 가장 큰 도전은

서버 부하 문제였습니다.


수많은 사용자가 동시에 메시지를

주고받을 때 서버가 느려지거나

다운될 수 있는 위험이 있었기 때문에,


이를 해결하기 위해 우리는

클라우드 기반 서버를 활용하여

안정성을 높였습니다.


실시간 채팅처럼 기술적으로 복잡한 기능은

백엔드 개발이 매우 중요한 역할을 합니다


6.jpg


이 과정에서 가장 어려운 부분은,

고객이 보이지 않는 부분을

어떻게 설명할지였습니다.


"이 기능은 왜 이렇게 시간이 오래 걸리나요?"

라는 질문에 우리는 데이터 처리와

서버 성능 문제를 이해하기 쉽게 설명하며,

고객의 신뢰를 얻어야 했었습니다.


4. 테스트

모든 것이 제대로 작동하는지 확인


7.jpg


개발이 끝나면,

모든 기능이 제대로

작동하는지 확인해야 합니다.


이 단계에서는 다양한 테스트를 진행해

앱이 오류 없이 동작하는지,

다양한 상황에서도 안정적인지 점검합니다.


한 번은, 특정 기기에서 앱이

비정상적으로 종료되는 문제를 발견했는데,

이는 기기별 호환성을 고려하지

못한 부분에서 발생한 이슈였습니다.


8.jpg


이러한 문제는 QA(Quality Assurance) 팀이

다양한 환경에서 앱을

테스트하면서 발견됩니다.


고객이 최종 결과물을 사용하기 전에,

모든 잠재적인 문제를 해결하는 것이

이 단계의 목표입니다.


5. 배포

세상에 내놓다


9.jpg


마지막 단계는 앱을

스토어에 배포하는 과정입니다.


구글 플레이스토어나

애플 앱스토어에 올리기 전,

각 스토어의 심사 기준을 통과해야 합니다.


한 번은 우리가 사주 앱을

배포하려 했는데,


애플에서

"샤머니즘 콘텐츠는

사용자 경험을 해칠 수 있다"며

거절당한 적이 있었습니다.


하지만 이 앱이 빅데이터 기반 분석 도구임을

강력히 설득한 끝에, 결국 승인받았죠.


10.jpg


배포 과정에서는 스토어 심사와

함께 버전 관리가 중요합니다.


고객이 업데이트를 요청할 때마다

새로운 버전을 올리고,

이를 사용자에게 자동으로 배포하는

작업이 이루어집니다.


개발은 마법이 아니라 전략이다


11.jpg


개발 과정은

마치 퍼즐을 맞추는 작업과 같습니다.


모든 단계가 유기적으로 연결되어 있으며,

고객의 아이디어를 현실로 구현하기 위해

많은 기술적 고민과 전략이 필요합니다.


비개발자라면 이 모든 과정이

복잡하게 느껴질 수 있지만,

올바른 개발 파트너와 협력하면

하나하나 해결할 수 있는 문제들입니다.


개발은 복잡하지만,

결국 고객의 목표를 달성하기

위한 하나의 여정입니다.


이처럼 개발 과정은

단순히 코드를 짜는 것이 아니라,

고객의 아이디어를 실현하고

사용자 경험을 완성하는

전략적 작업이랍니다


잠깐~!!! 개발은 여기서 끝이 아닙니다.


12.jpg


사용자 경험(UX)은 출시 이후에도

꾸준히 모니터링하고 개선해 나가야 합니다.


실제 사용자가 앱이나 웹사이트를

어떻게 사용하는지 데이터를 수집하고

분석하는 과정이 필요합니다.


이렇게 UX를 지속적으로 개선하면,

사용자 만족도와 충성도를 높일 수 있고,


더 나아가 전환율이나

매출 증가로도 이어질 수 있습니다.


실제로, 고객의 피드백을 반영하여

사용성을 개선하고,


직관적이고 편리한 UI로

지속적으로 발전시킬 때,

서비스는 경쟁력을 유지할 수 있습니다.


끊임없는 피드백 루프와 개선은

성공적인 제품의 필수적인 과정입니다.


20241015_194528.jpg


즉 개발은 끝이없다…


이상 똑똑한개발자였습니다.

keyword
작가의 이전글5년차 개발자 프론트엔드 개발 도구 및 라이브러리 추천