프로젝트를 시작하면서…
쉴드부터 치고 가자…-.-
나는 현재 경력 16년 10개월차의 개발자이다.
2009년까지는 JAVA 개발을 주력으로 하다가 2010년부터 iOS 개발로 방향을 선회한 후
지금에 이르고 있다.
전공은 국어국문학이며 대략 1994년 무렵 중앙정보처리 학원이라는 곳에서
C/C++과 MFC 관련 교육을 한 5개월 정도 받은 것이 IT 교육의 전부이다.
이러한 이력이 내게 가져다 주는 것은 끝없는 의심이다.
‘내가 제대로 한 것인가?’
‘누군가가 나의 실력을 의심하고 있지는 않은가?’
‘더 나은 방법을 어떻게 찾아야 하는가?’ 등등…
이 프로젝트를 진행하면서도 이같은 질문들은 계속 될 것이다.
특히나 이번 프로젝트에 적용하고자 하는 기술 중 절반은 한 번도 경험해보지 못한
기술들이며 그 나머지 기술들도 본격적인 실무에 적용해 본 적이 없는 기술들이다.
결국 끊임없이 검증을 받아야 하는 상황이지만 아마 아무도 검증을 해주지 않을 것이다.
그러면서 한편으로는 나만의 방법론과 산출물들을 정립하고 그 것이 일반적으로도
적용돌 수 있기를 야무지게 꿈꿔본다.
그래서 이 글을 꾸준히 읽을 독자들이 있다면 미리 사죄의 인사를 드린다.
Till60란 어떤 의미인가?
고령화 사회가 되면서 사실상 ‘환갑’은 별 의미가 없어졌다.
이제는 60 정도의 어르신들을 할아버지라고 부르기도 민망할 정도다.
그리고 내가 그 나이가 되기까지는 앞으로도 무려 13년이라는 시간이 남아있다.
물론 나보다 더 많은 시간이 남은 사람들도 있고, 더 적은 시간이 남은 사람들도 있을 것이다.
비록 ‘환갑’의 의미가 퇴색되었다고 할지라도 그 본래의 뜻, 60갑자를 한바퀴 돌고
다시 시작한다는 의미 만큼은 아직도 분명한 가치가 있다고 생각한다.
아직 우리에게는 다시 시작할 수 있는 시간들이 남아 있다.
그 것이 처음의 시작이든 다시 하는 시작이든 목표를 정하고 그 목표에 매진하는 것이
삶에 있어서 얼마나 소중한가 하는 것은 두 말 할 필요가 없다.
지금까지 나온 생산성 카테고리에 넣을만한 서비스들이 주로 단기 계획 위주의 To-Do 또는
프로젝트 관리 시스템인데 비해 Till60는 조금은 여유롭게 중장기 목표를 수행하도록
도와주는 시스템이라 생각하면 될 것이다.
어떤 요소들이 있는가?
To-Do나 프로젝트 관리 시스템들이 짧은 시간을 전제로 하다보니 일정관리나 단편적인
목표를 실행 했는가에 대해 집중하는데 비해 Till60는 목표를 이루기 위해 필요한 요소들을
하나 하나 모으고 그렇게 모은 것을 어떻게 조합하고 활용하는지에 집중하고자 한다.
우선 당연히 목표를 설정해야 할 것이고
그 목표를 이루기 위해 일반적으로 필요하다고 생각되는 4가지 요소를 배치해 보았다.
자원 (금전, 시간, 공간, 그밖의 물질적 요소), 멘토 (인적 요소), 정보 (지적 요소), 위험 (회피 해야 할 요소)
그리고 이 요소들을 수집하거나 제거하는 ‘활동’이라는 핵심 요소를 추가하였다.
아직까지는 일반적인 상황을 염두에 두고 있으나 점차 목표의 특성에 따라 다양한 요소들을
구성할 생각이다. 이전 글에서 언급한 Scrivener처럼 말이다.
어떻게 만들어갈 것인가?
우선은 간단한 웹 시스템으로 시작을 할 것이나 모바일 앱도 거의 같은 시점에 병행하여 개발 할 것이다.
자기 계정을 만들고, 간단한 프로필을 생성하고, 목표를 설정하고 바로 위에 언급한 요소들을
등록하는…그리고 이러한 활동을 시각화 할 것이고 Social화 할 것이다.
아직 뚜렷한 일정은 나오지 않았지만(아마도 프로젝트가 끝날 때가지 나오지 않을 것이다…^^;)
대략적인 단계는 다음과 같이 정해두었다.
1차 개발
1. 로그인
. 계정정 생성
. 계정 로그인
. SNS 연동 로그인
2. 프로필 등록
. 사진 등록
. 간단한 소개 등록
. SNS계정 또는 블로그 주소 등록
3. 목표 등록
. 목표 및 5가지 요소 등록
. 공개여부 선택
4. 챠트를 통한 시각화
. 레이터 챠트를 통한 각 요소 편중도 표현
. 활동량을 챠트로 표현
5. 알람 (모바일)
. 일정 시간 활동이 없는 경우 알람
2차 개발
1. Timeline 표현
. 활동을 시간의 역순으로 표현
2. SNS 연동 기능 구현
. 목표 및 액션 관련 데이터를 twitter나 facebook에 공유
3차 개발
1. 목표 관련 뉴스 및 정보 수집 기능 구현
. 자신이 설정한 목표와 관련있는 각종 정보를 크롤링을 통해 수집
2. 멀티미디어 처리
. 사진 및 동영상 등록
4차 개발
1. 소셜 기능 구현
. 친구 맺기
. 유사한 목표를 가진 회원을 친구로 추천
. 목표 및 활동(모든 요소) 공유
5차 개발
1. 소셜 기능 강화
. 그룹 기능 구현
. 공동 목표 관리 기능 구현
. 관련성 있는 목표 통합 기능 구현
추가 개발
아두이노를 이용한 알람 캐릭터 인형
- 웹 연동 가능한 캐릭터 인형
- 목표 달성을 위한 활동이 없을 경우 알람
- 시계 및 날씨 기본 표시
- 목표 레이터 챠트 표시
지향점
나름 적지 않은 개인 프로젝트를 진행했는데 사실상 남긴 것이 아무 것도 없다.
이는 아마도 ‘무엇을’ 구현할 것인지에만 집중한 나머지 ‘어떻게’ 구현할 것인지에 대한
고민이 없었기 때문이라 생각한다.
‘무엇을’에 대한 고민이 깊은 경우 그 프로젝트가 성공적이라면 많은 것을 남기고
또 이후의 진행이 원활해지겠지만 실패할 경우에는 남는 것이 없다. 결과가 곧
목적이기에 결과가 않좋으면 모든 것이 안좋아지는 것이다.
하지만 ‘어떻게’에 집중한다는 것은 그 ‘과정’에 집중한다는 것이고 ‘과정’에 집중하게 되면
비록 결과가 안좋게 되는 경우라 할지라도 얻을 수 있는 것이 많다, 하다못해
문서 한쪼가리라도 얻을 것이 생긴다는 말이다.
때문에 이 프로젝트는 최대한 그 과정에서 많은 것을 남기는 것을 목표로 한다.
물론 어디까지나 개인 프로젝트이기에 가능한 일이지만…
생각하고 행동하기? 행동하고 생각하기!
이전 글에서도 언급했듯이 간간이 뭔가를 하려고 시도했고 그 때마다 함께 할 사람들을
찾아보았다. 하지만 번번이 벽에 부딪친 이유는 내 아이디어의 실현 가능성이 낮아서,
아니 더 정확히 말하면 돈이 되지 않을 것이기 때문이리라.
뭐 바쁜 현대 사회에서 돈도 안되는 일에 시간을 투자하는 것은 그 자체로 큰 손실이긴 하다.
하지만 난 개발자다. 뭐가 돈이되고 뭐가 사람들의 관심을 끌지를 제대로 알아낼 수 있다면
나는 개발자가 아니라 마케터나 기획자 또는 시장 분석가가 되었겠지…
그렇다고 정말 모두에게 인정받을 수 있는 아이디어를 뽑아내는 일부터 하면 될까?
그렇지 않다고 생각한다.
이리 재고 저리 재느라 아무 것도 시작을 하지 못하는 것보다는 무엇이 되었든 만들어 놓고
그 것을 평가하는 것이 더 낫다는 생각이다. 특히나 요즘 같이 개발 툴들이 좋아진 환경에서는
빠른 시간내에 prototype을 만들고 평가하는 것이 가능하다.
더군다나 나같이 추상화에 약한 사람들은 구체화 된 무언가로부터 영감을 얻는 것이
훨씬 바람직한 방법이다.
그리고 앞서 말한 바와 같이 ‘어떻게’에 방점을 찍는다면 분명 많은 아이디어를
파생시킬 수 있을 것이다.
그러니 (덜떨어진)아이디어만 덜렁 들이미는 무책임한 짓거리는 하지 말자.
적어도 그럴싸한 프로토타입 하나는 만들어서 보여주는 것이 개발자의 도리이자
상대방에 대한 예의 아니겠는가.
어쨌든 나는 늦었을지라도 예의를 갖추고자 한다.
다음 포스팅에는 이 시스템을 만드는데 어떤 기술들을 사용하는지 간략하게 소개하고
그 이후 본격적인 작업 과정을 정리하도록 하겠다.
'Development > Till60' 카테고리의 다른 글
[Till60] Spring boot와 mongoDB 연동하기 (0) | 2016.12.11 |
---|---|
[Till60] 1차 개발분 Prototype 오픈 (0) | 2016.12.03 |
[Till60] Prototype 개발을 위한 SessionDB - Web Storage를 이용한 간이 DB (0) | 2016.11.12 |
[Till60] 사용하게 될 기술들 (0) | 2016.11.02 |
[Till60] 프롤로그 - 5년만의 개인 프로젝트 (0) | 2016.10.19 |