2015년 10월 6일 화요일

SW 품질향상을 위한 SW 테스트 관리방식의 변화

가상화(Virtualization), 예방 테스트 축소, 비정형 결함 수정(ad hoc defect fixing), 단편적 개발 (piecemeal deployment)등의 트렌드는 테스트 매니저의 역할을 변화시키고 있습니다. 여기에서는 산업연구와 테스트 컨설팅 작업에서 볼 수 있는 일반적인 개발 경향들을 소개하고 테스트와 QA 관리자를 위한 조언들을 소개합니다.

테스트 관리 트렌드
  • 제품통합 개발팀들(Integrated Product Teams) 
  • 단편적 개발, “테스트 단계”의 종료를 불러옴 
  • 가상화(virtualization) 
  • 이러한 경향들을 살펴본다면, 전통적인 테스트 관리를 위해 사용했던 툴들이 불필요해 지거나, 적어도 가치가 감소된 것을 알 수 있음 


QA 관리자가 고려해야 할 사항들
  • 제품 책임자가 될 것
  • 높은 수준에서 수행하는 사업 관리자가 되어야 함 
  • 팀에서 팀으로 이동하는 컨설턴트가 되어야 함 

애자일 개발 프로세스에서 스크럼 마스터(Scrum Master)의 역할

대표적인 애자일 개발 방법론 중에 하나인 스크럼(scrum)은 상호적이고 점진적으로 소프트웨어를 개발하는 방법으로, 반복을 통해 개발주기를 단축하여 팀의 생산성을 높입니다. 반복 개발을 통해 프로젝트를 진행시키는 방식인 스크럼은 일반적인 관리를 수행하는 프로젝트 관리자 역할과는 다른 스크럼 마스터 고유의 역할을 요구합니다.
 
스크럼 마스터는 팀원을 이끌어 가면서, 프로젝트의 문제들을 해결해 나갑니다. 이와 같은 방식으로 스크럼은 고객의 비즈니스 요구사항을 만족시키는 소프트웨어를 개발할 수 있도록 합니다. 여기서는 애자일 개발 프로세스에서 요구되는 스크럼 마스터의 역할을 소개합니다.

스크럼 마스터의 역할
  • 스크럼 팀에 의해 확인된 문제들을 해결하기 위해 스크럼 마스터는 섬기는 리더(servant leader)로서 수행함
  • 스크럼 마스터는 일일 회의, 계획 회의, 회고작업, 개발 팀원들과 소비자 팀원들 사이의 대화를 더욱 용이하게 함
  • 팀은 지속적으로 소프트웨어의 품질과 프로세스 개선을 위해 노력해야 되며, 스크럼 마스터는 팀의 당면 과제를 개선시키기 위해 도움이 되어야 함
  • 다른 도급업자들과 함께 개발해야 하는 대규모 팀의 경우, 내부 팀들과 고객들 그리고 외부 팀들을 상호 조율할 수 있는 프로젝트 관리자가 있었음
  • 요구목록에서 해야 할 일을 선별하고 자기 자신에 대한 업무량을 관리하는 자주적인 팀의 원칙을 익스트림 프로그래밍(Extreme Programming)과 같은 애자일 방법뿐만 아니라 칸반(Kanban)과 같은 다른 애자일 프로젝트 관리 프레임워크에도 적용해야 함
  • 애자일의 모든 ‘플래버스(flavors)’에는 고객과 개발팀의 책임들이 정의되어 있으며, 이런 정의들은 비즈니스 전문가들과 기술 전문가들 사이의 성공적인 소프트웨어 개발을 위한 협업에 도움을 줌

프로그래머가 알아야 할 10가지 빅데이터 툴

프로그래머들이 빅데이터 앱을 구축하거나 데이터들로부터 중요한 정보를 만들어 내기 위해서는 데이터 분석 툴이 그 어느 때보다 중요해지고 있으며, 많은 회사들이 개발자들의 니즈와 기술을 기반으로 설계된 툴들을 구축하는 것이 필요합니다. 따라서 데이터 전문가가 아닌 코딩을 수행하는 프로그래머 관점에서 유용한 10가지 빅데이터 툴(알파벳 순서)을 소개합니다.

Ⅰ. 비트델리(BitDeli)
Ⅱ. 컨티뉴이티(Continuuity)
Ⅲ. 플러리(Flurry)
Ⅳ. 구글 프리딕션 API(Google Prediction API)
Ⅴ. 인포침스(Infochimps)
Ⅵ. 킨 IO(Keen IO)
Ⅶ. 콘테이전트(Kontagent)
Ⅷ. 모르타르 데이터(Mortar Data)
Ⅸ. 플레이스드 분석(Placed Analytics)
Ⅹ. 프리코그(Precog)