2015년 11월 19일 목요일

왜 창의적인 요구사항이 나오지 않을까?

최근 기업들은 무한경쟁 시대에 살고 있습니다 . 따라서 혁신적 제품을 출시해야만 글로벌 생태계에서 살아남을 수 있습니다 . 일반적으로 혁신적 제품을 개발하기 위해서는 개발초기에 창의적인 요구사항이 도출되어야 합니다 . 그러나 안타깝게도 대부분의 기업에서 창의적인 요구사항을 도출해 내기가 쉽지 않은 것이 현실입니다 . 물론 국내에서는 삼성전자를 비롯한 소수의 몇몇 기업처럼 창의적인 요구사항 도출을 위해 과거부터 다방면으로 꾸준하게 활동 해온 결과 실제로 많은 성과를 이루어낸 성공사례도 있습니다 . 따라서 본 원고에서 제시하고 있는 현장의 문제점과 제안에 대한 내용은 앞서 제시한 극소수의 성공사례의 기업들을 제외하고 현재 창의적 요구사항을 효과적으로 도출하지 못하고 있는 벤처나 , 중소기업을 포함한 대부분의 기업들을 대상으로 합니다 . 

그러면 왜 기업에서 창의적인 요구사항이 나오지 않는 걸까 ?

본 원고에서는 위의 문제를 개선하기 위해 일반기업들의 개발 현장에서 창의적인 요구사항이 도출되지 않고 있는 근본적인 원인에 대해 면밀히 살펴보고 효과적으로 도출 할 수 있는 방법에 대해 고민하여 개선방안을 제안 하고자 합니다 .

개발 현장의 문제점
  • 첫째, 촉박한 개발일정을 꼽을 수 있다. 
  • 둘째, 수직적 의사 결정 구조도 창의성을 저해하는 한 원인이다.
  • 셋째, 요구사항 도출 시 원활하지 못한 협업문제를 들 수 있다.
  • 넷째, 실패를 두려워하는 조직문화라 할 수 있다.
  • 다섯째, 내부적으로 다양한 의사결정을 거쳐야 한다는 점을 꼽을 수 있다. 
  • 여섯째, 적절한 평가와 보상이 제대로 이루어지지 않고 있다는 점이다.
  • 마지막으로, 한국사회의 문화적 특징을 들 수 있다. 

창의적인 요구사항 도출을 위한 제안
  • 첫째, 근무시간 중에 일정시간을 창의적인 요구사항을 도출 할 수 있도록 여유 시간을 구성원들에게 부여해야 한다. 
  • 둘째, 창의적 요구사항 제안에 대한 적절한 평가와 보상제도 마련이라 할 수 있다. 
  • 셋째, 창의적 요구사항 아이디어 수집과 수평적인 토론의 장으로 인트라넷을 활용함으로서 요구 사항 도출의 협업 문제를 개선한다.

고려해야 할 점
  • 첫째, 기존 요구사항 관리시스템과 유기적으로 연동되게 해야 한다. 
  • 둘째, 요구사항 도출 과정이 지나치게 오래 걸려서는 안 된다.
  • 셋째, 소수의 결정권자의 획일적인 의사결정은 지양해야 한다.

모바일 애플리케이션 성능향상을 위한 품질관리적용 FAQ

현재 모바일 애플리케이션 사용자들은 과거 형편없던 시절을 뒤로 하고 데스크톱 애플리케이션에 준하는 성능을 기대하고 있습니다 . 모바일 애플리케이션 성능 보장을 위해서는 기능 (functionality), 성능 (performance), 사용성 (usability) 테스트 등의 전통적인 품질관리 프로세스를 적용해야하며 , 이의 적용을 위한 핵심이슈에 대한 질문과 답변을 FAQ 형태로 제공합니다 .

본 원고에서는 FAQ형식을 통해 기업 모바일 개발 프로젝트에 테스트 프로세스를 적용하고, 모바일 애플리케이션 개발에 있어서 흔히 저지를 수 있는 실수를 피하며, 모바일 전략을 세우는 것에 대해 조언합니다.

[품질관리적용 FAQ]
  1. 모바일 애플리케이션 개발 전략을 실행에서 기업들이 직면하게 되는 문제들은 무엇인가 ?
  2. 품질보증 설정측면에서 모바일의 상기 이슈를 해결할 수 있는 방법은 무엇인가 ?
  3. 모바일 애플리케이션 개발 과정에서 모바일 테스팅이 중요한 이유는 무엇인가 ?
  4. 모바일 전략을 개발하고 수립하는 핵심적인 단계들은 무엇인가 ?
  5. 기업 모바일 애플리케이션을 위한 최고의 ROI( 투자대비효과 ) 보장 방법은 무엇인가 ?
  6. 기업 모바일 애플리케이션을 위한 개발 프로젝트에서 발생되는 일반적인 실수들은 무엇인가 ?

2015년 11월 18일 수요일

디자인 패턴 자동화 Part 2

디자인패턴 자동화 프레임 워크

Ⅰ . 디자인 패턴을 자동화하고 강화하기 위한 포괄적 프레임워크

솔루션으로써 동적 언어 , 오픈 컴파일러 (Roslyn 와 같은 ), 혹은 재컴파일러 (Cecil 과 같은 ) 것들은 매우 상세한 구문 트리 (syntex tree) 를 노출하기 때문에 이들을 알기 위해 유혹을 받을 수 있습니다 .
그러나 이러한 기술들은 모든 변형을 이행하는 것을 매우 복잡하게 만들면서 과도한 추상화 수준으로 운영됩니다 .
우리가 필요로 하는 것은 다음과 같은 원칙에 기반을 둔 컴파일러 확장을 위한 상위 수준의 프레임워크입니다 .

1. 일련의 변형 기본 요소의 제공 , 예를 들면
  • 메소드 호출을 차단
  • 메소드 실행 이전 이후 실행 코드
  • 필드 , 속성 , 이벤트로의 접근 차단
  • 기존 클래스에 대한 인터페이스 , 속성 이벤트들의 소개
Ⅱ . 영역지향 프로그래밍
Ⅲ . AOP 의 불리한 면
Ⅳ . PostSharp 라이브러리로 기성품인 디자인 패턴 이행
Ⅴ . 요약

자세히 보기 →

품질관리 및 개발자를 위한 오픈소스 버그추적시스템 10선

버그추적시스템은 개발 중 발생하는 SW 오류 ( 버그 ) 를 추적 / 관리하는 품질관리 지원 시스템의 일종으로 버그추적시스템의 활용은 SW 개발시 매우 유용하며 , 오류와 이슈추적 시스템의 지속적 관리는 역량 있는 SW 개발팀이라는 증거가 될 수 있습니다 . 여기서 소개되는 열 가지 버그추적시스템은 PC 및 웹기반으로 활용될 수 있으며 오픈소스로 개발되어 접근성이 높습니다 .

  1. 버그질라 (Bugzilla)
  2. 맨티스 비티 (Mantis BT)
  3. 트랙 (Trac)
  4. 레드마인 (Redmine)
  5. 오티알에스 (OTRS)
  6. 리퀘스트 트렉커 (Request Tracker)
  7. 이븐툼 (Eventum)
  8. 버그지니 (BugGenie)
  9. 웹이슈스 (WebIssues)
  10. 파슬 (Fossil)

컨테이너 기술에 대한 이해

이제 세상에 나온 지 채 3년이 안 된 ‘컨테이너 기술’에 전세계 개발자들의 이목이 집중되고 있다.  구글을 비롯한 아마존 등의 클라우드 컴퓨팅 기업들이 컨테이너 서비스를 한다고 이미 소리 높여 외치고 있을 정도이다. 뿐만 아니라, 클라우드 운영플랫폼의 표준으로 자리 잡아 가고 있는 오픈소스 클라우드 프로젝트 ‘오픈스택’에서도 차세대 트렌드는 ‘컨테이너’임을 최근 밝힌 바 있다.  이미 알려진 대로, 컨테이너 기술은 소프트웨어 정의 데이터센터 구현을 위한 핵심 기술 중 하나로써 이와 관련해 다양한 기술과 솔루션이 속속 등장하고 있다.

이러한 컨테이너 기술의 개념과 컨테이너 기술을 리드하고 있는 Docker, 다양한 에코시스템들, 그리고 클라우드 서비스 환경에서의 적용 사례들에 대해 한국 레드햇의 김호중 부장으로부터 자세한 설명을 들을 수 있었다.


1. 컨테이너 주요기술 설명
    2. Docker, 에코시스템
      3. 적용 사례 및 방안


      도커  아키텍처


      2015년 11월 17일 화요일

      소프트웨어 생산성 향상 - 원격개발센터 편

      SW개발에서 많은 비용과 노력이 필요함에도 '소프트웨어 개발 프로세스'를 적용하는 이유 중에는 산출물과 코드의 재활용, 품질관리를 통한 개발 생산성 향상이라는 점이 있기 때문이다. 개발 생산성은 다양한 형태로 해석할 수 있는데 인건비 대비 개발 결과물의 규모를 나타내는 것이 일반적이다. 우리나라 소프트웨어 개발자의 인건비가 상승하는 추세이고 개발 기간이 짧아지면서 생산성을 고민하지 않을 수 없다.  

      생산성 향상과 관련하여 우선 원격개발센터에 대해 살펴보자. 최근 들어, 많은 기업에서 도입하고 있는 원격개발센터는 단순 개발 부분에 대해 인건비가 낮은 해외 거주 개발자에게 위탁함으로써 비용 절감과 함께 야간(새벽) 지원도 가능하게 한다. 또한, 핵심 개발자들을 한 곳에 모아 다양한 개발 사이트를 지원하는 것도 원격개발센터의 목적으로 볼 수 있다. 초기에는 일부 대기업에서만 운영되었으나 최근에는 중견 기업에도 확대되는 추세다.
      • 원격개발센터의 배경과 목적
      • 원격개발센터의 구성
      • 원격개발센터에서 필요한 소프트웨어공학적 요소
      • 원격개발센터 사례
      Eyefax에서 제시하는 원격개발센터의 장단점

      구분
      내용
      장점
      - 기존 개발에 비해 40~60%의 비용 절감 효과를 제공
      - 다른 프로젝트 수행 모델에 비해 30%의 비용 절감
      - 매월 고정 비용 지출
      - 지적 재산권 보호
      - 개발 과정을 통합 관리
      - 저 위험, 고수익
      - 일관된 절차에 따라 개발팀을 관리
      단점
      - 1년 365일 지속적인 운영
      - 최소 2명 이상의 팀 멤버 필요

      원포인트 클리닉 Round Table 안내(12/3(목)~4(금)

      중소기업의 SW개발 생산성, 품질향상을 위한 SW공학센터의 원포인트 클리닉 Round Table행사와 다양한 오퍼링 서비스에 여러분을 모십니다.

      본 행사는 국내외 SW전문가를 초빙하여 SW개발 관련 최신 기술 동향을 파악하고, 기업이 직면한 SW품질개선, 생산성제고를 위한 이슈에 대하여, 함께 토의하고, SW공학적용의 해결 방향을 제시하는 국내 최초의 SW공학 전문 Counseling 무료 행사입니다.


      • 일정: 2015.12.03(목)~12.04(금)/2일간
      • 시간: 09:30~17:00(세션별 1시간 30분 이내 진행)
      • 장소: 베스트웨스턴 프리미어 구로호텔 지하 1층 로즈홀
      • 신청: 국내기업(신청방법: 접수처를 통한 일정협의 및 신청서 접수/선착순)