'분석'에 해당되는 글 3건

  1. 2012/01/04 모바일 어플리케이션 분석 툴이면서 (실제로는 광고 플랫폼인) Flurry
  2. 2009/05/13 소프트웨어 개발 생명주기(SDLC)에 대하여 (2)
  3. 2008/09/15 프로젝트의 성공 요인 분석 #1

모바일 어플리케이션 분석 툴이면서 (실제로는 광고 플랫폼인) Flurry

|


모바일 앱을 서비스하다 보면 다양한 통계 데이터를 보고 싶은 경우가 많습니다. 
앱스토어에서는 단순히 다운로드 숫자만 볼 수 있는데요.
다운로드 이외의 사용자 접속이나 PV, UV 등의 데이터를 보고 싶은 경우가 있죠.

이럴 때 개별적으로 통계를 구축하기에는 서버도 필요하고 개발을 추가해야 하는 부분도 있습니다.
그러나 Flurry(http://www.flurry.com)라는 SDK를 이용하면 이런 문제를 해결할 수 있게 됩니다.  


안드로이드의 경우, 특정 이벤트마다 OnStartSession()을 호출하고 종료될 때 OnEndSession()을 호출하면 쉽게 통계를 쌓을 수 있습니다. 
특히 사용자가 빠르게 이벤트들을 지나가는 것을 체크하기 위해 10초 이내에 이어지는 것은 Start Session을 유지하기로 한 것은 
나름 정확한 통계 데이터를 확보하기 위한 방안으로 보이고 괜찮은 것 같았습니다.  
설정에 따라 사용자의 접속 위치 정보도 포함할 수도 있도록 되어 있더군요. 

특히 loeEvent() 메소드를 통해서 특정 이벤트만을 저장해서 따로 분석 결과를 볼 수 있는 부분도 상당히 괜찮은 것 같습니다. 

국내에도 이와 유사한 서비스가 있기는 하지만 유료이더군요..  
Flurry는 이런 서비스를 왜 무료로 하고 있을까요?

사이트를 살펴보니 이렇게 수집한 세션별, 지역별, 성별에 따른 페이지뷰를 활용하여 타게팅된 광고 서비스를 하고 있더군요.
즉, AppCircle이라는 광고 플랫폼을 통해 App 개발자에게 분석 데이터 뿐만 아니라 광고 노출까지도 유도하고 있습니다. 
사용자에게는 보다 타게팅된 광고 효과를 제공하겠다고 이야기 하고 있구요.

광고 형태도 기존의 배너와 카달로그 뿐만 아니라, 광고 데이터만 받아서 사용자가 원하는 형태로 노출하는 API도 제공하고 있습니다. 

예전에 광고 플랫폼을 적용하면서 페이지뷰를 해당 광고의 노출을 토대로 체크했던 점을 생각하면
이를 반영해 분석 데이터를 무료로 제공하고 광고 플랫폼을 추가로 활용하도록 하는 전략이 좋은 것 같습니다.

국내의 많은 모바일 광고 플랫폼 업체들도 한번 고려해 볼 만한 전략이 아닌가 합니다. 


한발 더 나아가서 광고를 동영상 부분으로 확장한 AppCircle Clip 이라는 것도 있습니다.
Flurry에서 배포한 다음 동영상을 살펴보면 조금 이해가 쉬울 수 있겠네요.  

Wistia


사용자의 데이터를 어떻게 수집하고 이를 잘 분석해서 서비스 할 수 있는가 하는 점이 모바일 서비스에서는 상당히 중요하다고 생각하는데요. 
일반적인 모바일 광고 플랫폼에서 벗어나 그런 측면을 잘 활용한 점이 돋보이는 서비스가 아닌가 생각합니다. 

 
크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0

소프트웨어 개발 생명주기(SDLC)에 대하여

|


저도 처음에는 프로그래밍 언어만 할 줄 알면 프로그램을 만들 수 있다고 생각했던 적이 있었습니다.
실제로 그렇게 만들었던 프로그램도 꽤 많지요. ^^

하지만, 지금 생각해 보면 그렇게 만들었던 프로그램은 세상에 빛을 보지 못했거나 그리 오래 가지 못했던 것 같습니다.
반면에 체계적인 분석과 설계로 만들었던 몇몇 솔루션은 아직도 현업에서 잘 사용하고 있는 것을 볼 수 있었습니다.

바로 체계적인 분석과 설계라고 하는 것이 소프트웨어 개발 생명주기(Software Development Life Cycle)의 핵심이 아닌가 합니다.
여기에 추후 운영에 필요한 유지보수도 무시할 수는 없겠죠..

흔히 SDLC라고 하면 Waterfall, Prototyping, Spiral, RAD, Incremental Development, Evolutionary Development, 4 Generation 등의 모델을 들면서 어렵게 이야기 하는 경우가 많습니다.

물론 어떤 모형을 사용하는지 중요하지만, SDLC가 왜 필요한지 생각하지 않고 사용하는 것은 무의미하다고 봅니다.
단순하게 이런 모델로 개발을 진행한다고 하면서 코팅부터 하고, 프로젝트 개발이후 문서작업을 따로 하는 경우를 종종 봐왔기 때문입니다.

특정 모델들을 떠나서 가장 기본적인 또는 고전적인 SDLC의 형태는 다음과 같습니다.


프로젝트를 수행하려면 먼저 계획을 세워야 합니다. 투입될 인력이나 기간을 토대로 비용도 산정해 봐야하고 비즈니스 타당성도 검토해 봐야겠죠.. 물론 분석이나 설계 없이 이 작업을 정확하게 할 수는 없을 겁니다.
그러나 기존의 경험을 토대로 개괄적인 계획은 세워야만 프로젝트를 시작할 수 있을 겁니다.
추후 분석과 설계를 토대로 계획을 수정할 수도 있을 겁니다.

다음으로 분석과 설계입니다. 먼저 둘의 차이점에 대해서 알아보죠..
분석은 무엇(what)에 관심을 갖는 것이고 설계는 어떻게(how)에 관심을 갖는 겁니다.
만들어야 할 프로그램은 하나지만, 그것을 만드는 방법은 여러가지가 있을 수 있습니다.


즉, 분석은 만들려고 하는 프로그램을 하나로 명확하게 정의하는 과정이라고 할 수 있습니다.
설계는 프로그램을 만드는 방법을 찾아보는 것이라 할 수 있겠죠..

이것을 반대로 수행한다면 어떨까요? 어떻게 만들까를 먼저 생각하고 무엇을 만들지를 결정한다..
말이 안되는 것처럼 보이지만 의외로 현업에서 자주 발생하는 듯 합니다.
특히, 개발자의 관점에서 브레인스토밍 회의시 무엇을 만들지를 이야기 하고 있는데, 어떻게 구현할지를 걱정해서 "이건 안된다, 저건 안된다" 하는 경우를 종종 볼 수 있었습니다.

앞에서도 이야기 했듯이 분석에서 만들려고 하는 프로그램을 명확하게 정의해야 합니다.
그것을 어떻게 구현할 지는 설계 단계에서 결정하면 되는 것이죠..

"개발하지 못할 것이 어디 있겠는가?"하는 마인드가 분석 단계에서 중요하다고 볼 수 있겠죠..

설계 단계에서는 가장 효율적이고, 사용자가 편리하고, 개발을 빠르게 할 수 있는 방법을 찾아서 정리하고 모듈별로 나누는 작업까지 해야 겠죠..

코딩및 구현은 프로그램 개발에 있어 기본적인 사항이라 할 수 있습니다.

테스트의 중요성이 요즘 커져서 Test Driven Development라고 하는 방법도 나오고 있고, JUnit과 같은 단위 테스트 도구도 많이 발달한 상태입니다.
통합 테스트에 대해서는 좀 더 고려가 필요하겠죠...

마지막으로 유지보수입니다. 실제 보면, 개발 기간보다 시스템을 운영하는 기간이 더 길기 때문에 유지보수의 중요성이 점차 커지고 있습니다. 천만원에 개발했는데, 유지보수에 억단위가 들어간다면 좋은 시스템은 아니겠지요..

기본적인 SDLC의 단계를 나열해보니, 그리 어렵지 않다는 생각이 들겁니다.
물론 실제 적용하다 보면, 구현 단계에서 특정 부분을 변경할 경우 해당하는 분석/설계 산출물까지 변경해야 하는 번거로움이 존재할 수 있습니다.
이런 문제들은 반복이나 자동화 툴을 이용하는 다양한 SDLC의 모델들을 통해서 해결해 나갈 수 있을 것입니다.

중요한 것은 소프트웨어 개발 생명주기가 단순히 문서 작업을 늘리고, 이론적일 뿐인 방법론이 아니라 제대로 된 소프트웨어를 개발하기 위한 필수 사항이라는 것을 이해해야 한다고 봅니다.


[읽을만한 자료]
소프트웨어 개발 생명 주기의 이해
코딩보다 먼저 할 일 ‘분석과 설계’
설계도가 우선, 그 다음이 구현이다

크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 2

프로젝트의 성공 요인 분석 #1

|


2004년 5월 ~ 12월까지 월간 시사 컴퓨터에 연재된 천정락 교수님의 프로젝트 성공 요인 분석이란 자료가 있습니다.
4년여의 시간이 지났지만, 아직도 현재 진행하고 있는 IT 프로젝트에도 도움이 되는 이야기 인 듯 하여 정리해서 옮겨 봅니다.

1. 업무 변경 관리로 프로젝트 성공률을 높이자.

첫번째로 이야기 한 것은 변경 관리입니다. 프로젝트의 범위나 현업의 업무가 변경된 경우, 의사결정자들과 프로젝트 수행자들이 모여 업무 변경 관리 위원회를 만들고 체크해 나가야 한다는 이야기 입니다.

방법으로는 업무가 변경될 때마다, 단계별로, 프로젝트 막바지에 변경하는 방식이 있는데요
변경될 때마다 하는 것은 번거롭고 프로젝트 진행을 더디게 할 수 있구요.
단계별로 수행하는 것은 프로젝트가 잠시 멈추게 되므로 미리 일정을 반영해서 변경관리를 해야 한다고 합니다.
마지막에 일시에 수행하는 것은 프로젝트가 긴 경우, 업무 변경의 양도 많고 시간도 오래 걸리므로 주의해야 한다고 하네요..

어쨌든 추가 비용이 들더라도 업무 변경 관리는 어떤 형식으로든지 해야 합니다.
보통 프로젝트 수행시에 보면, 마지막에 설계 문서를 한꺼번에 다시 고치는 경우가 가장 많은 것 같습니다.
즉, 프로젝트가 끝난 후에 개발 결과물에 맞추어서 설계문서를 다시 만드는 것인데요..
실질적인 변경관리라고 볼 수는 없다고 봅니다.

정말 성공하는 프로젝트를 만들고 싶다면, 설계를 변경하는 것에 대한 위험성을 고객이나 프로젝트 수행자 모두 인식하고 초기 설계부터 신중을 기해야 할 것입니다.

업무변경관리 전체보기...

2. 회의도 관리가 필요한 시대다.

회의로 인해 낭비되는 시간의 가치에 대해서 이야기 하고 있습니다.
회의를 줄이기 위해 단순한 정보 공유는 이메일이나 인트라넷 게시판을 활용하고, 화상회의 같은 것을 충분히 활용하자는 겁니다.

만약 회의를 진행한다면, 미리 회의 목적과 내용을 회의 참석자에게 알리고, 회의의 시작과 끝나는 시간을 정해서 준수하고, 회의 끝 부분에 안건과 결론을 정리하고, 결론이 난 부분을 해당 부서나 팀에 효과적으로 전달해야 한다고 하네요..

회의가 많은 기업은 그리 성공하지 못한다는 이야기를 들은 적이 있습니다.
물론 회의라는 것이 매우 중요한 것이지만 그만큼 잘못 사용하면 탁상공론에 실행이 뒷받침되지 않는 조직이 될 가능성도 높겠죠..

회의관리 전체보기..

3. 이해관계자를 '내 편'으로 만들어라

이해관계자라 하면 고객과 같은 '프로젝트 스폰서', 프로젝트를 수행하는 '프로젝트 실행자', 프로젝트에는 직접 관여하지는 않지만 영향을 주거나 받을 수 있는 '외부 이해관계자'를 이야기 합니다.

이런 이해관계자를 명확하게 파악하고, 각자의 입장에서 프로젝트 수행에 대한 득실과 주장의 정보를 파악하고, 프로젝트에 대한 영향을 분석하고, 대응전략과 구체적인 실행방안을 세우고, 모니터링 및 피드백을 해야 한다는 겁니다.

여기에서는 주로 외부 이해관계자에 대한 이야기를 하고 있는데요..
저는 일반적으로 IT 프로젝트에 있어서 고객에 초점을 맞추고 싶습니다. 고객이라 하면 외부고객과 내부고객으로 나눠 볼 수 있을 겁니다.
내부에 같이 프로젝트를 진행하는 사람들도 하나의 고객이라고 생각하고 내편으로 만들어 업무를 진행한다면 프로젝트 진행이 좀 더 수월해지지 않을 까 합니다.

이해관계자 전체보기..

4. 프로젝트 연착륙 뒤엔 변화관리가 있다.

여기에서 변화관리는 위의 변경관리와 다른 이야기 입니다. 변경관리가 프로젝트 진행 중에 발생하는 변경 요소를 관리하는 것이라면, 변화관리는 프로젝트 완료 후 새롭게 적용되는 변화에 대한 관리를 말합니다.

프로젝트를 완료하더라도 적용해야 하는 직원들의 새로운 환경이나 제도에 대한 저항을 받을 수 있다고 합니다. 그래서 실행 과정에서 직,간접적으로 영향을 받게 되는 조직원과 고객으로부터 불편을 사게 되면 기대한 만큼의 성과를 내기도 어렵고, 조직원과 이해관계자들한테 성공했다는 평가를 받기 힘들다고 합니다.

변화를 적극 수용하고 변화에 대한 저항을 극복하며, 변화 계획을 세우고 그 계획을 차질 없이 성취해 나가기 위한 변화 관리가 필요하다고 이야기 하고 있습니다.

실제로 어렵게 프로젝트를 통해 결과물을 만들어도 제대로 활용하지 않으면 무용지물일 겁니다.
결국 만드는 것만이 최종 마무리가 아니라 제대로 필요한 곳에 적용하는 것이 성공적인 프로젝트의 마무리가 아닐까 합니다.

변화관리 전체보기..

이어서 나머지 이슈화, 리스크관리, 인적자원, 현실과지표에 대해서 정리해 보도록 할께요~
프로젝트 관리 알면 알수록 배울게 많은 것 같습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License


Trackback 0 And Comment 0
prev | 1 | next