본문 바로가기
기획 일반

개발할 때도 기획이 필요하다

by 애플_피시 2025. 4. 24.

앞의 글인 '개발자는 왜 서비스 기획을 하기 어려울까?'에 대한 반대까지는 아니고 다른 관점의 글이라 할 수 있습니다. 저는 기획자입니다. 그러나 고등학교는 이과였고, 대학은 전자공학을 하다가 다시 수능 시험을 보고 경영학과를 들어간 경험을 바탕으로 이 글을 적어봅니다.

 

 

 

개발과 기획(계획, 알고리즘)

 

과거 공대에서 실험을 할 때, 반도체 같은 수업을 듣고 시험을 볼 때 기억을 더듬어 보면 계획, 설계를 했던 기억이 있습니다. 앱, 웹 기획과는 다르지만 C 언어를 배우기도 했습니다.

 

'Hello world' print 수준에서는 굳이 설계를 할 필요는 없지만 조금이라도 복잡한 내용을 코딩할 때는 설계를 하고 할 때와 아닐 때 분명 효율성 및 오류 가능성이 다르기는 합니다.

 

개발도 언어로 하기에, 복잡한 글을 쓸 때 어떤 주제의 글을, 어떤 구조로 작성할지를 정리하고 작성하는 것과 아닌 경우가 다르 듯이 개발도 그렇었던 것 같습니다. 워낙 C언어 점수가 C라서 그 이후 하지 않아서 기억은 잘 나지 않지만, 그래도 수년 전 파이썬을 배웠던 것까지 기억해 내면 복잡할수록 코드 구조를 작성해 놓고 코딩해야 틀리는 정도가 낮아지는 것 같았습니다. 물론 제 기억력이 나빠서 그런 것일 수도 있습니다.  

 

특히 실험이나 개발에 돈과 시간이 많이 들어가면 갈수록 사전 설계는 중요해집니다. 실험 데이터를 확인할 때도 이론을 기반으로 실험 설계 및 예상 데이터와 비교함으로써 실험 오류를 찾아내기도 했었던 것 같습니다.  

 

 

 

기획의 의미

 

여기서 기획을 목표를 위한 계획, 일의 순서 또는 과정을 사전에 정리하고 관리하는 작업, 작업 디자인 등으로 규정한다면, 개발도 기획을 하고 있는 것입니다.

 

여기서 기획은 개발을 시작하기 전 복잡하고 규모가 큰 코딩 대상을 미리 구조를 정리하고, 개발 방법을 결정하는 작업이라 할 수 있습니다.

 

흔히 아키텍처, 알고리즘, 로직 설계 등을 개발을 위한 기획이라 할 수 있을 것이라 생각합니다.

 

사람들은 여행을 갈 때도 계획을 세웁니다. 하물며 놀 때에도 계획을 세우기도 합니다. 이 계획도 기획의 일종입니다.

 

최소한 개발이 여행이나 노는 것보다는 복잡하기에 모든 것을 기억하고 연산 처리할 수 있는 수준의 천재급 개발자가 아니라면 기획을 하고 개발 진행하는 것이 개발이 많이 진행된 후 오류 가능성을 낮출 수 있는 방법은 아닌가 생각합니다.

 

 

 

복잡한 개발 시 기획

 

과거 C와 파이썬을 잠깐 했을 때 기억을 더듬어 보면 코딩은 문법과 함수, 변수로 구성되어 있었던 기억이 납니다.

  • 문법
  • 함수
  • 변수

문법은 C나 파이썬의 작성 규칙입니다. 

 

함수는 어떤 업무가 처리되는 방법 및 이 방법으로 도출되는 처리 로직이라 할 수 있었던 것으로 기억됩니다. 함수는 인풋과 아웃풋 중간의 둘의 관계를 연결하는 규칙입니다. 제 기억으로는 일반적인 규칙도 있었지만 함수라는 이름답게 수학적 규칙도 있었던 것 같습니다. 그래서 수학을 잘 못하는 제가 코딩을 잘 못하는 것 같습니다. 

 

변수는 인풋 데이터와 아웃풋 데이터의 규칙을 의미합니다. 특정 라이브러리, 모듈, 패키지 등을 활용하여 개발을 할 때, 원소의 성격을 지닌 변수는 각 집합의 규칙에 따라 집합과 집합이 연결될 때 오류 가능성이 발생할 수 있습니다. 지역 변수, 전역 변수 관리가 있을 것 같습니다.   

 

문법이야 개발 언어에 따라 결정된 것이라 보고,

함수와 변수는 개발 시 이렇게도 저렇게도 할 수 있습니다. 단지 코드 관계가 복잡해질수록 기억만으로 특정 개발이 이렇게 한 것인지, 저렇게 한 것인지 헷갈릴 수 있습니다.

 

심각한 오류까지는 아니고 간단한 개발 예 중 종종 같은 항목이 다른 화면에서 다른 변숫값으로 보이는 경우가 있습니다. 이런 간단한 변수 인출도 기억에만 의지하면 실수하게 되는 예라 생각 듭니다.

 

결론은 개발도 기획을 하고 해야 더 잘할 수 있다는 것입니다. 특히 복잡할수록 더욱 그러합니다.

여기서 기획은 개발 설계를 의미하다고 함께 일을 하면서 느낍니다.   

 

앞서 글에서는 '개발자는 왜 서비스 기획을 하기 어려울까?' 서비스라는 개발과는 다른 영역의 기획임을 지적하고 싶습니다. 서비스=개발이 아니므로 다른 전문 영역의 기획으로 볼 수 있습니다.

 

그러므로 서비스 기획이 어렵다고 개발 기획을 못한다는 말은 성립되지 않습니다.

 

개발 그 자체로 계획과 설계는 난이도와 역량 향상을 위해 필요합니다. 개발이 아니라 어떤 분야든지 설계, 알고리즘(문제 해결을 위한 절차나 방법)에 대한 것은 실행에 앞서 진행하는 것이 시행착오나 오류를 줄이기 위해 필요한 작업입니다. 

 

 

댓글