컴퓨터 프로그램을 쓰다 보면, 요즘은 GUI로 많이들 되어 있기 때문에 화려한 그림을 보여주며 굉장히 멋진 화면을 보여주는 경우가 많다. 하지만 기획이 엉망이면 아무리 화려해도 실제로 사용하는 입장에서는 매우 큰 불편함을 느낄 수밖에 없다. 정말, 어떤 기능들은 "이 기능을 개발한 개발자는 이 기능을 한번도 써본 적이 없는 개발자일것 같다"고 생각하는 기능들이 많다. 이런 기능들은 대부분 기획이 잘못된 경우다. 그리고 많은 경우 기획자와 개발자 사이의 의사소통이 제대로 안되어서 그런 경우일 것이다. 예전에 웹 서비스 기획도 해봤었고 지금은 프로그램 개발도 하고 있지만, 기획자랑 개발자 사이의 의사소통은 러시아 사람과 ET가 대화하는 것 만큼 힘든 사안일 것이다. 나? 난 개발자들한테 칭찬받는 기획자였다. "snowall씨는 개발자의 언어를 사용할 줄 알아서 참 좋아"라고. ㅋㅋ 요즘 내가 개발하고 있는 프로그램은 실험 결과를 분석하는 프로그램인데 3개월동안 삽질할 것을 1시간동안 삽질할 분량으로 줄여준다. 이 프로그램 개발하느라 12개월째 삽질하고 있다. 다른 일도 하면서 하느라 많이 늦어진 것이니까 그렇게 많이 늦어졌다고 생각하지는 않는다. 이 프로그램을 개발하면서 느낀 점은, 아무래도 난 좌뇌가 기획하고 우뇌가 코딩하는 것 같다는 생각을 떨칠수가 없다. 사람들이 말하기를 좌뇌는 이성적이고 분석적인 기능을 하고 우뇌는 감성적이고 직관적인 기능을 한다더라. 그런데 나는 분석적으로 기획하고 직관적으로 코딩한다. 덕분에 소스코드는 라면발을 방불케 하고 있으며 비주얼 베이직 언어를 사용하는데 포트란 같은 느낌을 떨칠수 없다. 그리고 프로그램 화면이 보여주는 UI는 누가 이공계 아니랄까봐 딱딱하며, 아기자기한 맛이나 이쁜 측면은 전혀 없다. 철저히 사용자 중심의 기획을 하였다. 왜냐하면 이 프로그램은 기획자, 사용자, 검사자, 개발자, 그 외 기타등등의 역할을 다 나 혼자 하고 있기 때문이다. 당연히 사용자 관점에서 기획이 될 수밖에 없고 요구사항은 그때그때 철저히 반영된다. 이런식으로 프로그램을 개발하다가 다른 사람이, 특히 내가 어쩔 수 없이 자주 사용해야 하는데 불편하게 만들어진 것들 - 예를 들면, 운영체제 같은 것 - 이 있으면 뜯어 고치고 싶다. 실력도 안되지만 어차피 내가 쓰는 운영체제는 소스코드조차 알아낼 수 없다. 가끔 맘에 드는 기능이 추가되는 경우도 있지만, 운영체제 수준의 프로그램들은 한번 개발되면 웬만해서는 바뀌지 않기 때문에 어떻게 해볼 도리가 없다. 가령, 윈도우즈 운영체제의 시작표시줄은 나에게 허용된 선택사항이 2개밖에 없다. "새 시작표시줄"과 "예전의 시작표시줄" 뿐이다. 이런 망할. 둘 다 맘에 들지 않을 뿐더러, 두가지 형태를 섞어 놓은 걸 원하는 사람도 있고 자기 맘대로 뭔가를 하고 싶어하는 사람도 있다. 그래서 프로그램 실행기를 따로 설치해서 dock이라는 것들을 쓰는 사람도 많다. 하지만 운영체제에서 기본적으로 제공할 수 있는 것들을 사용자가 컴퓨터 자원을 써 가면서 추가적으로 뭔가를 더 해야 하는지 잘 이해가 되지 않는다. 나는 내 컴퓨터가 오직 내가 하려는 업무에만 집중해 주었으면 한다. 내가 집중을 하지 못하기 때문이다.

-----
요즘들어 머릿속에서 수많은 생각이 비집고 튀어나오려고 하는 것 같다. 일부를 기록하여 둔다.
by snowall 2009.12.17 18:58
  • 당당~ 2009.12.18 14:27 ADDR EDIT/DEL REPLY

    동의합니다. 특히 개발자들과 이야기하면 용어부터 알아듣지 못할 말이 많아요. 전반적인 사용자 친화적 문화가 각 개발사에 필요한 듯 합니다.

    • snowall 2009.12.18 14:54 신고 EDIT/DEL

      개발자도 기획을 조금 배우고, 기획자도 개발을 좀 할줄 알아야 말이 통하게 되는 것 같습니다.

      서비스 하나 출시했을 때, 서비스가 망하면 기획자는 개발이 잘못됐다 하고 개발자는 기획이 틀렸다 하니...
      (사실 잘못한건 CEO...-_-;)

  • goldenbug 2009.12.19 12:59 ADDR EDIT/DEL REPLY

    저는 조금 의견이 다른 것이, 기획자가 개발을 알아가면 알아갈수록 snowall님께서 말씀하시는 기획과는 거리가 멀어져간다고 생각해요.
    기획자는 개발을 모르는 상태에서 기획하고, 믿을 수 있는 개발자가 그 기획을 보고 의견을 제시할 때 이를 받아들여 수정할 수 있는 feedback이 제대로 되야 하지 않나 싶어요. ^^;;
    나중에 snowall님이랑 사업해야겠어요. ㅎㅎㅎㅎ

    • snowall 2009.12.19 13:38 신고 EDIT/DEL

      개발을 알아간다는 의미는 "개발자가 알아듣도록 말한다"는 뜻입니다. 개발의 자세한 공정 그 자체를 알 필요는 없죠. 개발은 그 자체로 추상화되어야 하고, 실제 구현이 어떻게 되었는지는 기획자가 신경쓸 부분이 아닙니다.
      문제는 기획자가 개발자에게 기획을 전달할 때
      http://kldp.org/node/111179
      이런 식으로 전달한다는 거죠...-_-; 개발자는 당황하거든요. (아마 솔직히 말해서, 말로 안해서 그렇지 화가 날걸요...;;)

    • goldenbug 2009.12.19 15:22 EDIT/DEL

      에이~
      그건 정상적인 기획자와 개발자가 아닌 것 같은데요. ㅎㅎ
      자기가 할 일을 서로 상대에게 떠넘기는 한 쌍이네요.

    • snowall 2009.12.19 15:30 신고 EDIT/DEL

      그렇게 말씀하신다면...
      우리나라엔 정상적인 기획자와 개발자가 많지 않지요...-_-;;

    • goldenbug 2009.12.19 15:39 EDIT/DEL

      그렇게 알고 있습니다만..^^;
      근데 또 알고 보니 우리나라에서 기획자와 개발자에 대한 인식이 좀 이상하더군요.