2015년 11월 20일 금요일

성공적인 애자일 데브옵스(DevOps) 적용으로 인도하는 세 가지 핵심요소

최근 많은 전문가들 사이에서 데브옵스 (DevOps) 는 기업 애플리케이션 개발 및 운영 프로세스에 근본적인 변화를 제공하고 있다는 평가를 받고 있습니다 . 그러나 수많은 기업들이 데브옵스 (DevOps) 를 적용하는데 1 년 가까운 시간이 걸리며 , 그 중 일부는 적용에 실패하는 것으로 나타나고 있습니다 . 따라서 데브옵스 (DevOps) 를 효과적으로 적용하는 세 가지 방안 ( 프로세스 흐름 , 지속적인 피드백 , 끊임없는 학습 ) 을 제시하고자 합니다 .
  • 첫 번째 방법 : 흐름(The flow)
  • 두 번째 방법 : 지속적인 피드백(Consistent feedback)
  • 세 번째 방법 : 끊임없는 학습(Continual learning)

2015년 11월 19일 목요일

제23차 SP인증을 중심으로 한 SW프로세스 교육안내(11/25(수)~11/26(목) 대전)

지역 SW기업 및 방산SW기업의 SW개발품질관리 선진화 및 역량강화 일환으로, 마련된 [제23차 SP인증을 중심으로 한 SW프로세스 교육]에 여러분을 모십니다.

본 교육은 국내 중소 SW기업과 개발 조직의 SW프로세스 품질 향상과 신뢰성 확보에 목적이 있습니다. SW개발자, 품질 담당자, 테스트 담당자 등을 대상으로 SW프로세스 개념과 SP인증 기준 이해를 바탕으로 실제 업무에 필요한 SW 프로세스 교육을 진행합니다.


  • 교육대상: 충남소재 중소SW기업 또는 방산SW기업 소속 엔지니어(관리자, 실무자 포함)
  • 교육일시: 2015.11.25(수)~26(목), 2일간 09:00~17:50
  • 신청기한: 2015.11.23(월)18:00
  • 교육장소: 대전정보문화산업진흥원 영상특수효과타운 3층 지역스토리랩 강의실
  • 교육비용: 무료(다과 및 중식, 교재/가이드 제공)
신청 하러가기 →


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

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

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

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

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

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

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

모바일 애플리케이션 성능향상을 위한 품질관리적용 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. 적용 사례 및 방안


      도커  아키텍처