2015년 8월 7일 금요일

분산된 애자일 팀 간의 명확히 공유된 이해 제공

대부분의 애자일 개발관련 참고서적들은 동일 장소에 배치된(co-located) 팀들과 대면(face-to-face) 의사소통의 장점에 대해 말합니다. 기본적으로 동일 장소에 배치된 팀들은 의사소통이 더 쉽고 강한 유대관계를 형성하는 장점을 가집니다. 그러나 기술과 SW개발/관리도구(tool)들의 발전과 더불어 분산된 애자일 팀들(distributed Agile teams)이 많아짐에 따라 애자일 방법론상의 대면활동에 대한 강조는 SW개발 조직운영에 있어 부작용이 발생시킬 여지가 있습니다. 현재 SW개발/관리 툴들은 더 많은 유연성과 이동성을 보장함에 따라, 문서화를 통한 효과적인 의사소통 체계를 구축하는 것이 필요합니다.

  • SW 개발 프로젝트에 있어 문서화는 개발팀간의 오해가 없는 명확히 공유된 이해를 제공한다.
  • 문서화는 대면 의사소통에 비해 공유하기 쉬우며 분산된 개발팀의 기본적인 의사소통 수단으로 활용하는 것이 바람직하다.
  • 그럼에도 불구하고 대면 의사소통은 여전히 중요하다.

대량 스트림 데이터 처리 솔루션인 Oracle Complex Event Proces

오늘날 다양한 IT 환경에서 수많은 데이터가 쏟아지고 있습니다 . RFID 리더 , 바코드 스캐너 , 기계 장치의 센서는 물론 최근에는 중요 자원의 위치를 알려주는 GPS(Global Positioning Systems) 정보까지 다양한 데이터가 끊임없이 쏟아지고 있습니다 . 이렇듯 지속적으로 데이터를 발생시키는 시스템들이 많아지고 , 발생하는 데이터량 또한 점점 늘어가고 있는 상황에서 중요한 것은 어떻게 이 많은 양의 데이터 중에서 비즈니스적으로 의미 있는 데이터를 신속하게 추출하고 처리하느냐입니다 . 이러한 상황에서 복잡한 데이터를 처리하는 솔루션인 CEP(Complex Event Processing) 에 대해 설명하고자 합니다 .

Complex Event Processing 는 여러 이벤트 소스로부터 발생한 이벤트를 대상으로 실시간으로 의미 있는 데이 터를 추출하여 대응되는 액션을 수행하는 것을 말합니다 . 이때 이벤트 데이터는 스트림 데이터로써 대량으로 지 속적으로 입력되는 데이터 , 시간 순서가 중요한 데이 터 , 끝이 없는 데이터입니다 . 이러한 스트림 데이터는 전 통적인 관계형 데이터 베이스에서는 실시간 처리 및 분 석이 불가능합니다 . CEP 는 바로 이런 스트림 데이터를 실시간으로 분석하는 이벤트 데이터 처리 솔루션입니다 .  

Architecture Visualization(아키텍쳐 시각화) Part 1

변화의 충격을 감지해라 - Dependency Structure Matrix

소프트웨어는 사용자에게 유용해야 된다는 명백한 외부적인 관점도 있지만 , 품질이라는 내부적인 관점도 존재합니다 . 즉 소프트웨어가 잘 개발되고 있는지 품질을 파악할 수 있는 지표가 필요합니다 . 이번 연구에서는 소프트웨어의 품질을 평가할 수 있는 몇몇 시각화 기법을 전달합니다 .  

시각화의 필요성 (1000 피트의 관점 )

아키텍처의 품질을 평가하기 위해 , UML 로 그려진 아키텍처 다이어그램을 볼 수 있습니다 . 하지만 아키텍처 다이어그램의 작은 상자들은 전체 시스템을 나타내며 상자 간의 선은 시스템 간의 의존성 , 데이터 흐름 , 버스와 같은 공유자원인지 파악할 수 없습니다 . 이것은 비행기 밖 풍경과 같이 과도하게 추상화되어 있는 30,000 피트의 뷰 입니다 .

반면에 소스코드를 보며 품질을 평가 할 수 있는데 , 이것은 0 피트와 같은 바닥 레벨의 뷰로 비유할 수 있습니다 . 소스 레벨에서는 연관성 있는 몇 개의 객체의 구조도 보지 못할 만큼 많은 정보를 제공합니다 .

이 두 뷰는 소프트웨어 품질에 대한 올바른 정보를 제공하지 못하므로 , 0 피트와 30,000 사이인 , 1000 피트의 뷰를 보아야 합니다 . 1000 피트의 뷰는 메서드 개수 , 클래스 팬 아웃 , 순환 의존도와 같은 다양한 지표와 많은 양의 데이터를 접할 수 있습니다 .

의존성 분석 도구 DSM(Dependency Structure Matrix)

  • DSM 으로 보는 계층화
  • Change Propagator 를 주의해라
  • 의존성을 끊는 방법
  • 실 사례로 보는 DSM


자세히 보기 →