뛰어난 아키텍트는 복잡도를 최소한으로 줄일 수 있어야 하며, 단단한 기본 구조를 취하면서도 급변하는 상황에 적절히 대처할 수 있는 실용적인 해결책들을 설계할 수 있어야 합니다.

위대한 아키텍트는 고립된 소프트웨어 모듈에서뿐만 아니라 사람과 사람사이, 시스템과 시스템 사이에서 일어나는 변화의 충격을 이해해야 합니다.

변화는 다양한 형태로 나타날 수 있습니다.

  •  기능 위주의 요구 사항 변경
  •  확장성 요구의 진화
  •  수정된 시스템 인터페이스들
  •  팀원의 변동
  •  그리고 리스트(해야 할일)의 계속적인 발생

소프트웨어 프로젝트 변화의 광범위함과 복잡함을 미리 추측하는 것은 불가능하며, 변화가 발생하기 전에 모든 잠재적 어려움을 수용하는 시도는 헛된 일입니다.  그러나 아키텍트는 이러한 어려움들이 프로젝트를 망칠지 또는 완수할지를 결정하는 중요한 역할을 해야합니다.  

아키텍트의 역할이 반드시 변화를 관리하기 위한 것은 아니지만, 오히려 변화가 관리될 수 있음을 보장해야 합니다.   

계속 읽기

새로운 시작 – Refactoring to Pattern

Joshua KerivskyRefactoring to Pattern (역서 – 패턴을 활용한 리펙토링,  이하 줄여 RtoP)을 저희 EVA 팀에서  새로운 스터디로 진행했습니다.

현재 진행중인 Fearless Change와 병행해서 2주 씩 돌아가며 진행이 되어집니다. 관심 있는 분은 어서 댓글을 달아 주시길.. 🙂   패턴에 익숙한 저희가 이 책들을 보았을때의 느낌은, 정말 잘 쓰여진 서적이라는 겁니다.  Refactoring과 TDD를 잘 접목하여 step by step으로 Pattern으로 적용하는 내용이 아주 잘 표현되어 있네요.

서적 초반 부(1장)에 나오는 내용중에 가장 마음에 드는 내용이 이겁니다.  과도한 설계 와 미진한 설계.

모든 걸 패턴으로 해결해야 한다는 패턴 신봉자가 되어 과도한 설계를 그려내는모습과 정말 아무것도 준비하지 않고 대충 설계한 미진한 설계에 대한 이야기가 나옵니다.  이 사이에 균형을 맞추는 것이 바로 저희들이 해야 될 일이 아닌가 쉽습니다.

RtoP는 바로 Pattern으로 설계하는 그 과정을 보여 줍니다.

냄새나는 생성 로직 -> factory 로 바로 가는 것이 아니라. creation method를 1차적으로 만들고,  encapsulation을 거쳐 최종 factory 객체로 가는 모습을 보여줍니다.

굳이 Factory로 꺼낼만큼 생성 부분에 확장 가망성이 낮다면 , creation method에서 그쳐도 된다는 거지요.  정말  실용주의적으로 refactroing 하는 기법을 설명해 주고 있는 서적입니다.   지금 현재 PLoP 준비와 Fearless Change 준비로 제가 RtoP에 스터디에 단순히 참여만하고 있지만, 정말 공감할만한 내용들이 많은것 같습니다.

RtoP 동영상 강좌 공유

여러분에게 저희가 스터디 한 내용들을 실제 동영상으로 공유합니다.   바로 EvaCast.net을 통해서요.  많은 분들에게 약간의 도움이 되었으면 합니다.

계속 읽기

정말 오랜만에 포스팅을 하네요.  많은 지인들이 왜 포스팅이 뜸하냐고 저한테 물어보셨는데요.  여러가지 이유가 있었습니다.

전 지난 몇달간 죽음의 레이스(?)를 한 듯 합니다. 결과는 100%로 만족스럽지는 않지만, 그래도 여러분들에게 뭔가 더 좋은 것들을 드리기 위한 하나의 성과가 있었다고 봐주시면 좋을듯 합니다.

PLoP 논문

사실 PLoP 논문때문에 정신이 없었습니다. 이번 논문의 주제는 Framework Engineering입니다.   여러가지 내용들을 잘 정리해, 패턴화 시키는데 고생을 좀 했습니다.

다행히 논문이 Accept되어서, 이제 안도의 한숨을 쉬고 있습니다. 다만 논문이 Writer’s Workshop 외에도 Writing Group에도 할당되어 있어서, 더 많은 커뮤니케이션을 해야 하기 때문에 부담감이 많습니다.

그리고 이번 논문의 Shepherd는 Framework 설계의 전문가이신 Eduardo Guerra의 도움을 많이 받았습니다.  정말 값진 경험을 했습니다.  Eduardo Gueerra 님은 브라질에서 열리는 SugarLoaf PLoP에서 위원으로 맹 활약중이며, 작년에는 PLoP에서  A Pattern Language for Metadata-based Frameworks 이라는 주제로 논문들을 발표했습니다.

계속 읽기

데브피아와 지앤선이 준비해 준 행사의 열기가 식기도 전에, 또 한번 저희 EVA가 준비하는 또 한번의 공개 세미나가 열립니다.

8월 26일 목요일 / NIPA (정보 통신 산업 진흥원)에서 주관하는 SW Technical 공학 세미나에 저희 EVA 식구들이 또 한 번의 만남을 여러분과 가져보고자 합니다.

내부적으로 또는 외부적으로 이미 패턴 포커의 경험은 10회가 넘어섰고,  가장 최근에 한 패턴 포커는 패턴에 무지한 분들까지 정말 재미나게 패턴을 익혔다는 피드백을 받았습니다.  패턴 관련 행사가 끝나고, 이런 행사를 왜 안하냐라는 요청을 제법 받았습니다. 혹시 여력이 되시는 분은 꼭 참여하시길 권해드립니다.

계속 읽기

행사가 끝난지 한달이 다 되어 가서 포스팅을 하네요.    어떻게 행사가 진행되었고, 어떤 결과물이 나왔는지 공유해 보는 시간을 가지겠습니다.

ICE BREAKING

먼저 서로간의 벽을 깨어가는 시간을 가졌습니다. 나란 사람은 누구이고, 서로를 소개하는 게임을 먼저 진행했죠.

일전에 포스팅했던 PLoP의 Rippling Game (잔물결 치며 이름외우기) 진행했습니다. 파도치기를 하면서 서로를 소개하는 방법입니다.   다들 서로의 이름을 짧은 시간에 외우누라 고생이 많았지만 얻어가는게 많습니다. 실제 저희 EVA 스터디 식구들은 2주마다 이렇게 자기를 소개하고 있습니다.  그래서 서로를 좀더 쉽게 이해해 나가죠. 작은 것 하나 사는 얘기들을 나누면서 좀더 친밀감을 높일 수 있습니다.  이것이 곧 소통의 열쇠가 됩니다.

계속 읽기

얼마전 장 선진님의 소개로 겜브라스  조정현 대표님에게 뜻 밖의 선물을 받았습니다. 바로 구하기 힘든 Christopher Alexander의 Pattern Languages의 시초가 되는 책을 선물 받았습니다.  그것도 1982년에 출간된 손 때가 묻은 서적을요. 아무런 조건 없이, 이 책은 내가 주인이 아니라. 패턴 저자인 영수님이 가져가는게 맞다며 주시더라구요. 정말 감사하고, 한 편으로는 패턴 저자가 별거 아닌데라고 생각해왔었는데..  더욱 어깨가 […]

마소 (마이크로 소프트웨어 ) 5월호에 “EVA네가 들려주는 Fearless Change 두 번째 이야기“라는 주제로 글을 기고했습니다.

원래 4월에 실릴 예정이었으나, 이런 저런 내부 사정으로 5월에 실리게 되었습니다.  이미 저의 블로그를 구독하시는 분에게는 싱거운 자료지만, 자료 공유 차원에서 올립니다.

물론 기고한 글은 모두 저의 지식이 아니며, Linda Rising의 지식과 다양한 분야의 경험을 가진 저희 EVA팀의 지식으로 만들어진 자료입니다. 지식을 나누어 주신 EVA 식구 여러분 감사합니다. 전 단지 정리를 했을 뿐입니다.

EVA 팀이 없었다면 이렇게 좋은 자료가 나온다는 것은 불가능했을 겁니다.  EVA팀 감사합니다. 다음과 같은 내용이 기고 되었습니다.

계속 읽기

패턴 칵테일.  이름을 봐서는 술이라도 한잔해야 될거 같은데요.

이름 맞추기 게임 (Name that Pattern)

이 게임은 패턴 포커를  뽑아서 보지 않고 자기 머리 위에 올려 놓습니다.  그리고 다른 사람에게 자신의 패턴이 뭔지 이것 저것 물어서 맞추어야 합니다.

상당히 쉬울거 같지만, 막상 당사자는 답답합니다.  무엇을 물어봐야 할지도 어렵고, 주위에 있는 사람이 실컷 설명해줘도, 찾기가 정말 어렵습니다.

계속 읽기

학습 곡선을 줄이며, 단기간에 쉽게 새로운 것들을 받아 들일 수 있을까?  그것에 대한 대답은 바로 놀이라고 생각합니다.

얼마 전 저희 EVA팀과 같이 Pattern Poker를 쳤습니다. 정말 놀이와 학습이라는 두가지 토끼를 잡은 좋은 게임이었습니다.  Pattern Poker (패턴 포커)라는 이름이  다들 생소하시리라 봅니다. AsianPLoP에서 만난 Refactoring to Pattern의 저자인 Joshua Kerievsky가 창안안 방법이며, 구입할 방도가 없어서 제가 직접 만들었습니다. 🙂 게임의 룰을 간단히 말씀 드리겠습니다.

계속 읽기

PLoP 2010 submission deadline extension The deadline to submit a paper for the 17th Conference on Pattern Languages of Programs has been extended to June 1st. Many authors have asked for an extension and since there is enough time for shepherding we took the chance to extend the deadline. Please tell your colleagues about the […]