NEW 기획 디자인 개발 프로덕트 아웃소싱 프리랜싱

개발

소프트웨어 개발은 어떻게 이루어질까?

옛날엔 소프트웨어라고 하면 컴퓨터에 직접­­ 설치하는 프로그램을 뜻하는 것이 일반적이었다. 하지만 ­시대가 흘러 인터넷과 스마트폰이 사회 중심에 자리 잡으면서, 소프트웨어의 형태도 정말 다양해졌다. 휴대폰에 설치하는 인스타그램 앱부터, 브라우저에서 돌아가는 넷플릭스, 유튜브의 영상 추천 알고리즘까지 모두 소프트웨어의 한 형태라고 볼 수 있다.

 

소프트웨어 하나가 세상에 등장하기까지는 수많은 단계를 거쳐간다. 어느 날 갑자기 혜성처럼 짠하고 등장하지 않는다. 작은 프로그램이야 개발자 혼자서도 만들 수 있지만, 어느 정도 규모를 갖춘 소프트웨어는 개발자뿐만 아니라 프로덕트 매니저와 디자이너 등 여러 명의 협업이 필수다. 

 

소프트웨어 하나가 세상에 등장하기까지는 수많은 단계를 거쳐간다. 어느 날 갑자기 혜성처럼 짠하고 등장하지 않는다. 작은 프로그램이야 개발자 혼자서도 만들 수 있지만, 어느 정도 규모를 갖춘 소프트웨어는 개발자뿐만 아니라 프로덕트 매니저와 디자이너 등 여러 명의 협업이 필수다. 

 

소프트웨어는 어떤 과정을 거쳐 세상에 나오는 것일까? 총 7단계로 나누어서 알아보자. (물론 회사마다, 프로젝트마다 다를 수 있다는 점 참고!).

 

 

1. 기획 단계

모든 것이 그렇듯 일단 무엇을, 왜 만들어야 하는지 정해야 한다. 책을 쓸 때도 무작정 쓰기보다는 대충 어떤 장르의 글인지, 누구를 위해 쓰는 글인지 정해놓고 시작하는 것과 같다. 

 

 

2. 구체화 단계

만들고 싶은 소프트웨어를 대충이라도 정했다면 이제 그 아이디어를 구체화해야 한다. 여럿이서 협업하는 작업이니 더욱 그렇다. 사람들의 머릿속은 다 비슷비슷한 것 같으면서도 전혀 다르기 때문에 만들고 싶은 것을 최대한 구체적으로 계획해야 한다. 

 

여기서 계획이란 일정뿐만 아니라 작업 내용도 포함된다. "풍경 사진을 공유하는 앱을 만듭시다!"라고 외쳐봤자 그 앱이 어떻게 생겼는지는 아무도 모른다. 무엇을 개발하고 디자인해야 그 앱이 완성되는지 잘게 쪼개어 우선순위를 정해야 한다. 누가 보더라도 같은 기능과 디자인을 떠올릴 수 있게끔 명확하게 만들어 보여주어야 한다.

 

잘게 나뉜 작업 하나하나를 일반적으로 '티켓(ticket)'이라 부르는데, 전체 퍼즐의 한 조각이라고 보면 된다. 여러 개의 조각을 하나씩 맞추다 보면 어느새 퍼즐이 완성되듯이, 작업 내용을 담은 티켓을 완성하다 보면 소프트웨어 전체가 완성되는 것이다.

 

 

3. 실제로 만드는 단계

당연하게도 소프트웨어를 만들려면 코딩을 하고 디자인을 해야 한다. 계획 단계에서 만든 티켓을 처리하면서 하나씩 만들어가야 한다. 확인 버튼은 어떤 모양을 하고 있는지, 버튼을 눌렀을 때 화면이 어떻게 바뀌어야 하는지, 새 화면으로 이동할 때 걸리는 시간을 어떻게 하면 줄일 수 있는지 모든 부분을 뚝딱뚝딱 만들어야 한다.

 

안타깝게도 100% 계획대로 진행되는 경우는 없다. 기술적인 한계로 인해 화려한 디자인을 버려야 하는 경우도 생기고, 새로 생긴 법 때문에 계획에 없던 보안 프로그램을 넣어야 할 때도 있다.

 

 

4. 내부 테스트 단계

찌개를 끓일 때 맛을 보면서 간을 맞추는 것처럼, 소프트웨어도 테스트가 필요하다. 원래 의도대로 작동하는지부터 시작해 디자인이 깨져 보이지는 않는지, 스마트폰 메모리를 너무 많이 잡아먹지는 않는지, 화면에 보이는 수치와 실제 수치가 일치하는지(은행 앱에서 보여주는 잔액과 실제 잔액이 다르면 얼마나 끔찍하겠는가) 수많은 테스트가 반복적으로 이루어지는 단계다. 남에게 보여주기 부끄럽지 않을 정도가 되기 위해서는 여러 번의 담금질이 필요하다.

 

 

5. 외부 테스트 단계

소수의 유저들에게 소프트웨어를 배포해 반응을 살펴보는 단계다. 진짜 사용자의 눈으로 평가받기 때문에 귀중한 피드백을 얻을 수 있다. 사용하기는 편리한지, 예상치 못한 버그는 없는지, 과연 지속적으로 쓸 만한 소프트웨어인지를 검증해볼 수 있다. 영화 시사회 느낌이라고 보면 된다. 사람들의 반응과 평가를 기반으로 소프트웨어를 더욱 다듬을 수 있다.

 

 

6. 공식 릴리스

내부 테스트도 통과했고 외부에서도 쓸만하다는 소리를 들었다면 이제 소프트웨어를 배포하는 일만 남았다. 모바일 앱이라면 스토어에 앱 파일을 업로드할 것이고, 리포팅 툴이라면 유저들이 로그인할 수 있는 URL을 공개할 것이다. 수많은 계획 변경과 작업을 통해 탄생한 하나의 소프트웨어가 드디어 세상을 만나는 단계다.

 

 

7. 유지 및 업데이트

소프트웨어를 CD 형태로 판매했던 시절에는 한 번 배포하고 끝이었다. 하지만 요즘은 대부분 클라우드 기반으로 돌아가기 때문에 지속적인 최적화와 업데이트는 이제 당연한 시대가 되었다. 첫 버전을 배포한 후에는 유저의 사용 패턴에 맞춰 디자인을 바꾸고, 기능을 추가하고, 로딩 속도를 단축하는 작업이 계속해서 이루어져야 한다. 요즘처럼 업데이트의 중요성이 강조되는 때도 없다.

 

 

이상 소프트웨어를 총 7단계로 나누어 정­­리해보았다. 개발 단계는 회사마다, 프로젝트마다 천차만별일 것이다. 그러나 확실한 것은 소프트웨어가 마법처럼 짠하고 등장하는 경우는 없다는 사실이다. 실제로 코딩하고 디자인하는 시간보다 계획을 짜고 세부 내용을 논의하는데 더 많은 시간을 할애할 때도 있다. 그런 시간이 쓸데없이 느껴질 수도 있지만, 여러 사람이 협업하기 위해서는 탄탄한 계획과 효율적인 절차가 반드시 있어야 한다.

댓글 0

맨오브피스

효율 추구에만 매달리지 않으려고 노력하는 프로덕트 매니저입니다.

비개발자가 코딩을 배우면 좋은 이유

기획

내 생활을 지키는 알림 설정 전략

기획

우선순위가 낮은 작업은 언제 처리해야 할까?

기획

순조로운 퇴사를 위해 해야 할 일 5가지

기획

OTT 시대의 반항아, 일본 ‘TVer’ 살펴보기

프로덕트

유튜브에서 '싫어요' 숫자가 사라졌다

프로덕트

슈퍼휴먼, 이메일에 월 30달러나 쓰는 이유는?

프로덕트

구글의 수수료 정책은 정말로 부당할까?

프로덕트

인터넷 뱅킹, Z세대에 열광하는 이유는?

프로덕트

나를 만족시킨 QR 체크인 앱은 무엇일까?

프로덕트

스포티파이, 왜 한국에서는 그저 그럴까?

프로덕트

구글의 발표는 왜 지루할까? (feat. 애플 이벤트)

프로덕트

OTT 이야기에 로쿠(Roku)가 빠질 수 없지

프로덕트

프로덕트 매니저라는 직무는 왜 생긴 것일까?

기획

디자인 커뮤니케이션 툴, 윔지컬(Whimsical) 둘러보기

디자인

영상 컨펌 협업툴 '이미지블' 살펴보기

프로덕트

테크 기업 CEO들의 하루 살펴보기

기획

구글 캘린더 100% 활용하기

프로덕트

총성 없는 전쟁, 아마존 VS 가짜 리뷰

프로덕트

애플 TV+는 잘 되고 있을까?

프로덕트

구글 스태디아는 왜 흥하지 못했을까?

프로덕트

경기지역화폐 앱 살펴보기

프로덕트

"카운트다운 시작!!!"...출시 앞둔 디즈니플러스 미리보기

프로덕트

점유율 2%의 활약, MS 빙(Bing)

프로덕트

PM 업무에 꼭 필요한 소프트 스킬 6가지

기획

업무 생산성을 높이는 IT 환경 만들기

기획

다른 나라 사람들은 어떤 앱에 돈을 쓸까?

프로덕트

아동 성착취물을 막겠다는 애플은 왜 욕먹는 걸까?

프로덕트

휴가 떠나기 전, 인수인계 확실히 하는 법

기획

구글이 직접 반도체를 만드는 게 나랑 무슨 상관일까?

개발

구독 서비스를 현명하게 사용하는 5가지 방법

기획

디지털 피규어 콜렉팅 앱, 비브(VeVe) 살펴보기

프로덕트

구글 미트가 프로그레시브 웹 앱(PWA)으로 출시된 이유

프로덕트

깃허브 코파일럿(Copilot)은 무엇이며, 왜 욕먹는 걸까?

프로덕트

원격근무의 치명적 단점 5가지

기획

구글이 안드로이드 앱 배포를 APK 대신 AAB로 바꾸는 이유

프로덕트

IT 직무 탐구: 프로덕트 매니저 vs 프로덕트 오너 (+그 외)

기획

구글 앱시트(AppSheet)로 노코드 앱 만들기

개발

이제는 운영체제도 구독이다! 윈도우 365 공개

프로덕트

즐겁고 효율적인 재택근무를 위한 7가지 기술

기획

절대 빼놓을 수 없는 크롬 확장 프로그램 7가지

프로덕트

IT 스타트업의 ­인수합병이 실무자에게 미치는 영향

기획

트위터 블루와 슈퍼 팔로우는 과연 돈 값을 할까?

프로덕트

경기도가 만든 배달 앱, 배달특급 리뷰

프로덕트

점점 맥을 닮아가네? 윈도우 11만의 특징 살펴보기

프로덕트

메시지 예약이 된다고? 슬랙의 최신 기능 5개 따라잡기

프로덕트

날씨 앱 번개가 더 리얼해졌다! iOS 15 미리 보기

프로덕트

스포티파이가 만든 클럽하우스, '그린룸' 살펴보기

프로덕트

안드로이드 12가 온다! 주요 기능 살펴보기

프로덕트

넷플릭스의 새로운 기능, 랜덤 재생 살펴보기

프로덕트

맥에서도 쓸 수 있는 마이크로소프트 엣지만의 장점

프로덕트

쉽게 읽히는 티켓 쓰는 법

기획

당근마켓은 어떻게 돈을 벌까?

프로덕트

구글 시트로 앱스토어 정보 긁어오는 방법

프로덕트

클럽하우스 인기가 뚝 떨어진 이유

프로덕트

데이터별 딱 맞는 그래프 찾기

기획

프로젝트 매니지먼트에 도움이 되는 툴들

기획

비개발자를 위한 파이썬 독학법 (하)

개발

비개발자를 위한 파이썬 독학법 (상)

개발

아웃소싱 개발이 필요한 상황은?

아웃소싱

#해시태그가 정확히 무엇인가요? 해시태그 A to Z

기획

아이디어를 체계적으로 기록하는 방법

기획

그럼에도 불구하고, 엑셀이 필요한 이유

프로덕트

구글의 OTP는 어떻게 비행기 모드에서도 작동할까?

개발

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.