전체 글 1294

요즘 IT JOB 상황들...

금년에 S 보험사의 차세대 프로젝트, D 증권인가 차세대 그리고 IFRS 프로젝트 등으로 시장에 프로젝트가 많을것으로 예상했으나... OKJ** 사이트에 들어가도 프로젝트 구하기가 어렵다는 이야기들이 많고 뉴스를 봐도 http://www.ddaily.co.kr/news/news_view.php?uid=47642 인원 감축이야기고... 실제로 내 경우도 H社의 미국 프로젝트가 취소되었고... 지금 들어와 있는 K社의 프로젝트도 곧 끝날테고, H社의 차세대도 금년 5월정도면 끝이고, H증권社도 올해 5월 오픈, 파트너들도 이야기 들어보면 4월이나 5월즘에 인력들이 나온다던데.. 전체적으로 시장이 안좋긴 안좋고. 인력 과잉이라고는 하는데.. 왜? 프로젝트는 엄청 많고... 사람은 모자르고.. 사람좀 구하려고 ..

사는 이야기 2009.03.10

Short Release와 회귀 테스트, Itertive and iteration 방법론의 사례

요즘 모회사의 차세대 시스템의 오픈을 막바지에 두고, 성능 향상 컨설팅에 나와 있습니다. 주로 하는 작업이 Code Inspection을 통하여 구조 개선 및 성능 개선을 하는 작업입니다. 그런데, 코드를 보면서 이해가 안되는 아키텍쳐가 종종 있습니다. 이런 의도가 아닐텐데 라던지.. 아키텍쳐 구성이 잘못되었다던지. 그런데 이미 구현이 끝나가는 단계에서 이런 아키텍쳐를 변경하기는 거의 불가능합니다. 알면서도 당하는 케이스라고나 할까요? 이미 여러 코드들이 동일 패턴으로 구현이 되어 있기 때문에, 공통부라면 어떻게 변경을 시도해보겠지만, 아키텍쳐적인 문제나, 통신 전문 같은 경우는 변경이 불가능합니다. 결국 울며 겨자 먹기로 CPU를 늘리거나, 다른 부분의 코드를 튜닝해서 목표 성능치를 내야 겠지요. 그런..

ALM/Task Management 2009.03.04

JCO 컨퍼런스 강의 프리뷰.

미국 출장과 호주 교육등이 얽혀서. 10회 JCO 컨퍼런스에 참가가 불확실했었습니다. 이래저래 정리가 되서 아마 내일에는 참석하지 않을까 싶습니다. 그래서 오늘 간략하게 어떤 강의가 좋을까? 마침 강의자료도 올라와 있길래.. 한번 쭈욱 내용 Preview했습니다. PPT 글자가 깨진것도 있어서 모두 preview해보지는 못했고, 본것중에 관심이 가는 것은 2트랙의 2번째 시간 - 최지웅님의 Seam 설명잘하기로 유명한 놀새님의 강의입니다. 그간 J2EE 진영에 차세대 기술이 모호했는데, Seam은 매우 관심이 가는 기술중의 하나입니다. 3트랙의 3번째 시간 - 김승권님의 차세대 배치 시스템의 성공 전략 ★ PT 내용을 보면 아주 기대가 됩니다. 배치 업무가 항상 Enterprise system에서 con..

사는 이야기 2009.02.27

ALM / Polarion Review

ALM에 대해서 정리하다가 오늘은 Polarion (http://www.polarion.com) 을 직접 인스톨해서 Evaluate해보았습니다. Polarion이 개념상으로도 만족 스럽고 무엇보다 AJAX기반의 깔끔한 UI가 마음에 들어서 비싼 가격에도 불구하고 미련이 남아서 다시 테스트를 해보았습니다. Polarion ALM은 Enterprise Version으로 많은 기능을 제공하고 자체적으로 CMMI Level까지 충족시키는 프로세스를 포함한다고 해서 복잡도가 높고 속도가 느린 것으로 알려져있습니다. 그리고 가격도 만만하지 않구요. 오늘 테스트 한 버전은 Polarion Track + Wiki 라는 버전으로 일종의 Light 버전으로 생각하면 됩니다. 테스트해보고 딱 드는 생각은 Trac의 Comm..

ALM/Task Management 2009.02.20

재미있는 ALM 도구 발견

http://www.inflectra.com/HomePage.aspx 에서 제공하는 SpiraTeam이라는 시스템이다. 가격도 매우 저렴하고 무엇보다 마음에 드는것이, Requirement 부터 Test case까지 End2End 추적이 가능하도록 되어 있고 Release 관리와, Iteration 관리.. 그리고 Requirement와 Task에 대한 추적성까지 깔끔하게 제공한다는 것이다. UI는 다른 툴에 비해서 다소 떨어지는 것 같지만 개념적으로 매우 마음에 드는 도구이다. Report도 Velocity나 기타 왠만한 Reporting도 다 제공하고, Defect(Bug) Tracking 시스템도 내장되어 있고 또는 JIRA나 Bugzilla와 같은 외부 Bug tracking 시스템과 연계 가능한..

ALM 2009.02.20

실용주의 ALM (Application Lifecycle Management) Overview

Practical Application Life cycle Management (ALM) Overview ALM의 정의를 wikipedia에서 찾아보면 다음과 같다. Application lifecycle management (ALM) is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management.[1] 해석해 보자면, 기존의 애플리케이션 개발은 기술적인 관점에서 많이 접근이 되어 왔으나, 비즈니스 요건 ..

ALM 2009.02.18

Cloud 컴퓨팅을 이용한 대용량 Selenium 테스트

Selenium이 UI Base 테스팅 툴로 널리 쓰이는 것은 기정 사실로 알고 있는 것이고, 대용량 부하 테스트를 할 경우, 환경 마련이 만만하지 않은데, Amazon의 E2C 클라우드를 이용해서 Selenium으로 대규모 부하 테스트를 할 수 있는 사이트가 있어서 소개 합니다. http://saucelabs.com/ 인데, Selenium 스크립트를 만든후에, 로드하면 Amazon 클라우드를 이용하여 부하테스트를 하고, 그 결과를 리포팅 합니다. Load R*와 같은 툴을 사용할 수 없는 곳이나, 이미 Selenium으로 테스트 코드를 구현해 놓은 곳에서는 저비용으로 매우 유용하게 사용할 수 있겠네요.

ALM/Test Automation 2009.02.18

오랜만에 ALM 업데이트

잘 아시겠지만(?) ALM을 만들고 사이트에 적용하고, 여러 자료들을 발표한지도 꽤 오랜 시간이 지났습니다. 제가 소개하는 ALM은 오픈소스나 저 가격 솔루션으로 구성되어 있고 현재는 크게 4가지 파트로 구성이 되어 있습니다. Task Management Build Automation Test Automation Collaboration 입니다. Build Automation은 Hudson을 중심으로 한 일일 빌드, Test Automation은 xUnit을 이용한 단위 테스트와 함께 V-Model 기반에 전체 테스팅 프로세스를 커버 합니다. Task Management는 Issue Tracking 시스템을 이용한 프로젝트 관리를 Collaboration은 Wiki와 Forum 중심의 협업 환경과 Cod..

ALM 2009.02.17

ALM / Task management process (Scrum 기반의 프로젝트 관리 방법)

Overview 프로젝트에서 중요한 포인트중의 하나는 팀의 운영과 관리이다. 프로젝트에 Unified Process나 Waterfall model과 같은 기존의 방법론을 사용하더라도, 그 방법론에는 자세한 task 관리 프로세스에 대해서는 거의 정의가 되어 있지 않다. 반대로 요즘 유행하는 Agile 방법론의 경우, task 관리에 대한 전략과 수행 방법을 기술하고 있지만, 실제 프로젝트를 관리하는 관점에서는 전체 스케쥴에 대한 예측과 관리가 어렵기 때문에(불확실성의 문제), SI 프로젝트등에서는 쉽게 적용할 수 없는 문제를 가지고 있다. 또한 실제 프로젝트에서는 이미 고객이나 주관사의 방법론을 표준으로 사용하고 있기 때문에 Agile 방법론을 적용하는 것이 쉽지 않다. 이 문서의 목적은 위 두 가지 접..

ALM/Task Management 2009.02.17

Selenium (UI 테스트 자동화)

UI 테스트 프레임웍이다. 강규영님의 강좌 동영상을 보니까는, Fire Fox에 화면 Recorder까지 나와서 상당히 현실적으로 쉽게 테스트 케이스를 만들 수 있을것 같고.. 무엇보다 테스트 스크립트 자체가 Meaningful 하기 때문에, 스크립트가 테스트케이스가 될 수 있다. 그런데 요즘 이상하게 프로젝트 할때 UI테스트할일이 없어진다. Integration성 프로젝트만 해서 그런지.. 아니면 요즘 RIA CLIENT가 많아서 그런지... Enterprise System에서는 Pure HTML로 된 페이지를 보기가 힘든것 같다.

ALM/Test Automation 2009.02.09

The Art of project management

THE ART OF PROJECT MANAGEMENT 카테고리 컴퓨터/IT 지은이 스콧 버쿤 (한빛미디어, 2006년) 상세보기 사놨다가 읽다 말다 한책인데. 요즘 Scrum 방법론을 프로젝트용으로 개선하는데 유용하게 읽고 있다. PM은 한번쯤 꼭 읽어봐야 할 책인데. 재미있는 것중 하나가. AGILE 방법론에 대한 책이 아님에도 불구하고 AGILE의 프로젝트 관리 사상들이 거의 다 나온다. Communication,일일빌드,Task 관리 등등. Agile 제목을 단 다른 책들보다 오히려 이해하기 쉽고 직관적이랄까?

Enterprise Integration Patterns

이번 프로젝트를 Role out하면서 고객에게서 선물 받은 책이다. 예전에 고객에게 좋은 책이라고 추천을 했는데.. 비싸서 못사고 있다고 했더니.. 용케 기억하시고 오늘 선물로 해주셨다. 그간 받은 선물중에서 최고인듯... Star bucks doesn't have two phase commit이라는 글로 유명한 Gergor hohpe가 쓰고, Martin Fowler가 감수한 책이다. EAI에서는 거의 교본 처럼 사용되는 책인데, 정말 기대되는 책이다. 두꺼워서 부담은 되기는 하는데... 시간이 걸리더라도 꼭 다 읽어봐야겠다. 특히 Enterprise Architecture에서는 Message exchange pattern이 매우 중요하고 JMS나 MOM(MQ와 같은)을 이용한 많은 아키텍쳐가 존재하기..

오랜만에 지방 출장

어제와 그저께 오랜만에 지방 출장을 다녀왔습니다. 운전 왕복 10시간에.. 고객의 준비가 치밀해서 많은 내용을 이야기하고 오늘 거의 넉 다운 상태입니다. 그래도 이런 출장이 싫지만은 않습니다. 고객분들 중에서 제가 이야기하는 기술적인 가치에 대해서 인정해주는 고객이 있어서 이런 경우에는 모라도 하나 더 드리고 싶은 경우가 있습니다. 이번 출장도 그런 고객분들중의 한분입니다. ALM 사상은 제가 근무하는 회사의 제품과는 사실상은 관련이 없습니다. 단 프로젝트를 수행하는데 있어서 컨설팅 방법론으로 사용하는 기법입니다. 요즘 유행인 AGILE사상이나 실용 주의 사상과도 유사하구요. ALM 을 프로젝트 수행하는 곳에 소개하면 좋아합니다만 별도로 돈을 들여서 컨설팅을 받고자 하지는 않습니다. 공짜로 받기를 원하지..

ALM 2009.01.23

SOA Design Pattern

읽을 책이 산더미... 요 몇달 동안 잠시 REST와 agile 방법론을 보고 있는 동안... 또 새로운 책이 나왔다. SOA Design Pattern SOA 책으로는 유명한 Thomas Erl의 책이다. 사실 Thomas Erl의 SOA 책 두권은 정말~~ 실망 스러웠다... 인기에 편승한 책장에 꼽아놓기 좋은 책 정도라고나 할까... 책 표지가 참 흥미롭ㄴ다. Foreword by Grady Booch (Grady Booch 감수.) Grady Booch야 모르는 사람이 없을터이고 이번에는 알찬 내용이길 기대한다. 근데 책값이 너무 비싸서... ^^

엑셀 기반의 Task management (스케쥴 관리)

ALM 프레임웍중에서, JIRA와 같은 이슈 추적 시스템을 이용하여 스케쥴 관리와 작업 추적을 할 수 있지만, 프로젝트에 따라서는 이슈 추적 시스템의 도입이 어렵거나, 별도의 프로세스 정립이나 Learning Curve가 필요한 경우가 있기 때문에, 때에 따라서는 Excel 기반의 Task관리가 효율적일 수 있다. 조엘 온 소프트웨어에서도 언급된바있는 내용인데, 엑셀 항목에 TASK # | Category | Sub task | Detail Task | Assignee | Priority | Due data | Status 를 정한다. Category는 Task의 종류가 된다. 디자인,분석 같은 단계가 될 수 도 있고, Logging,Exception Handling과 같은 각 패키지가 될 수 도 있다...

ALM/Task Management 2009.01.14

PM,아키텍트,개발자 - (2) 아키텍트

요즘 프로젝트가 바쁘다 보니, 블로그에 포스팅할 시간이 없다. REST, ROA (Resource Oriented Architecture), Collaboration, Code Review등 포스팅 하고 싶은 것들이 많은데.. 그나마 시간내서 쓰던 포스팅들도 이번달에는 거의 힘든 상태가 되었다. 아마도 다음달이나 되야, 포스팅들이 올라가지 않을까? 이번 글은 어제 저녁에 써놨던 아키텍트,PM,개발자의 차이 중 2번째로 아키텍트에 대해서 이야기 해보고자 한다. 아키텍트 아키텍트는 전체 시스템을 디자인하고 설계하는 역할을 가지는 사람이다. 아키텍처링은 크게 두가지로 나뉘어 지는데 첫번째는 비지니스 아키텍쳐, 다음은 테크니컬 아키텍쳐이다. 비 지니스 아키텍쳐랑, 해당 시스템이 비지니스적으로 어떤 의미를 갖는지..

2009년 기술 전망

1. Cloud and grid computing 클라우드 컴퓨팅과 이를 구현하기 위한 솔루션인 그리드 컴퓨팅은 금년에도 이슈가 될것같다. 구글이나 야후, 아마존들을 중심으로 한 글로벌 서비스 기업들이 그리드와 클라우드 컴퓨팅에 선두가 되고 있지만 정작, 기업에 있어서 클라우드 컴퓨팅이나 그리드 컴퓨팅의 도입은 소극적이다. 특히 클라우드 컴퓨팅의 경우 보안이나 성능상의 이슈로 기업에 도입이 될지 않될지는 지켜봐야 할것 같지만 그리드 컴퓨팅의 경우 Coherence와 같은 Data Grid제품이나, Hadoop과 같은 File grid, grid dbms등은 기업에도 충분히 사용이 가능한 솔루션이다. 얼마나 기업 고객들이 이 개념들을 이해하고 적응하느냐가 관건일테고, 다른 한축으로는 대부분의 그리드 솔루션..

ALM-Project Management

ALM의 이슈트랙킹 시스템을 통한 프로젝트 관리 방법입니다. 아래 그림이 구현하고자 하는 내용의 모두라고 볼 수 있습니다. PM : 요구 사항을 시스템에 등록하고 각 요구 사항에 대해서 스케쥴링을 한후에 각 요구사항을 해당 개발팀의 팀장에게 ASSIGN합니다. PL : PL은 각 요구사항을 분석하여 실제 작업(TASK)로 쪼게고 개발자의 스케쥴과 역량 그리고 작업의 심각도와 긴급도에 따라서 개발자에게 ASSIGN합니다. 개발자 : 개발자는 진척 상황을 TASK에 COMMENT로 로깅하고, 각 TASK에 연관된 단위 테스트 케이스를 작성하여 진행을 합니다. PM은 요구 사항을 개발 PL뿐만 아니라, QA 팀에도 ASSIGN하는데 QA 팀에서는 각 요건을 검증할 수 있는 테스트 케이스를 개발 초기단계 부터 ..

ALM/Task Management 2008.12.24

ALM Concept

제 블로그에 자주 오시는 분들이나 혹은 강연이나 기고를 보신분들은 아시겠지만 2008년 한해는 ALM (Application Lifecycle Management)쪽에 많은 시간을 할애한 한 해였습니다. CI(Contiguous Integration), Unit Test,실용주의 방법론이 유행한 한해이기 때문에, 유난히 관련 서적을 많이 접했던 이유도 있지만 컨설턴트로써 프로젝트 관리와 소프트웨어 품질 관리에 대한 필요성이 많았기에 많은 시간을 부었습니다. ALM에 대해서 시간이 나는데로 좀더 정리를 해보고자 합니다. 제가 이야기 하는 ALM은 기존의 어떤 방법론이나 사상은 아닙니다. 프로젝트를 하면서 필요하다고 생각되는 부분을 묶어서 정리한 하나의 간단한 방법론 정도로 생각하면 됩니다. ALM은 크게 ..

ALM 2008.12.24

아키텍트,PM,개발자의 차이...(1)

PM,아키텍트,개발자.. 모두 프로젝트에서 없어서는 안될 사람들이다. IT 생활을 하다보니 각자의 역할이 명확하게 다르고 거기에 요구 되는 능력도 다르다는것을 알게 되는데. 반대로 제역할을 못하는 사람들과 일을 하게 되면 참으로 고달퍼 지는건 사실이다. * 프로젝트 메니져 프로젝트 메니져의 역할은 어떻게든 프로젝트를 성공적으로 끝내는 것이다. 인원이나 일정에 대한 관리뿐만 아니라, 특히 돈 (Budget)과 위험요소(Risk)에 대한 관리가 중요하다. 무엇보다 중요한것은 Communication이다. 고객과의 의사소통과 팀원들과의 의사소통이 가장 중요한 역할이다. 그 과정에서 RISK들이 자연스럽게 도출되고, 각자의 능력을 최대화해줄 수 있는 방법을 찾을 수 있게 된다. 경험상 많은 프로젝트 관리자들을 ..

XMLBean

요즘 진행하고 있는 프로젝트 성격상 XML에 관련된 작업이 많습니다. 그중에서 흥미로운것을 하나 발견해서 Posting을 하는데 JAVA2XML 솔루션입니다. Java2XML 솔루션이란 한마디로 Java ValueObject를 XML 문서로 변환해주거나 XML 문서를 Java ValueObject로 변환해주는 라이브러리들을 이야기 합니다. XML Scheme가 Class의 데이타 타입을 정의해주는 원리입니다. 예전에는 Castor와 같은 오픈소스 프레임웍들이 유행을 했지만 요즘은 J2EE5부터 JAXB2.0이 들어 있어서 JAXB2.0을 추천할만합니다. 사용법도 쉽고, 성능도 상당히 좋아져서 프로젝트에 사용하기에 무리가 없습니다. 그런데 재미있는 녀석중에 하나가 XMLBeans입니다. JAXB의 경우 J..

SOAP TO REST Convert(Transform)

ALSB에서 SOAP 을 REST POX (Plain Old Xml)로 변환하는 XmlBeans 구현 예제. ALSB에서 Java Callout으로 사용이 가능함 == import javax.xml.namespace.QName; import org.apache.xmlbeans.XmlCursor; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlCursor.TokenType; public class RESTTransformer { public static XmlObject toREST(XmlObject soap){ XmlCursor cur = soap.newCursor(); cur.toFirstChild(); cur.toChild(n..

ALSB에서 Dynamic Routing 사용하는법

Mediation에서 Route To 추가하고 거기에 Dynamic Routing 추가한후에, Expression에 다음과 같이 써줌 GeneralProxySampleProject/samplewebservice/localproxy/PersonService.local == Route하고자 하는 destination이 Proxy일 경우 isProxy를 true로 해줄것. service 경로는 "프로젝트명/폴더.../폴더/Proxy명" 예를 들어 default 프로젝트의 localproxy 폴더의 common.local.proxy의 경우 default/localproxy/common.local (.proxy를 뺀다.) 가 된다.