Rebecca Wirfs-Brock 국내에는 비교적 많이 알려져 있지 않지만, 정말 현실을 직시하는 몇 안되는 Architect입니다. 일전에 소개 드린것 처럼, 절대 어느 한가지 맞다고, 자기의 설계 기법이나, 방법을 따라야 한다는 몇몇 아키텍트와 달리. 여러가지 해결책을 펼쳐놓고, 주어진 상황에서 적합한 전략/솔루션을 선택하는 아키텍트 입니다.
아마도 패턴에 영향을 많이 받아서 그런거겠죠. 패턴 자체가 그러거니깐요.

패턴을 공부하다 보면 무엇이 맞다는 것 보다나는, 주어진 Context/Resulting Context를 심각히 고려하고 그중에 적합한 것을 선택하는 자세가 몸에 베이게 됩니다. 그게 아니면 제대로 패턴을 익힌거라고 할수 없으니깐요. 물론 저는 이제 아주 아주 조금 눈을 떠 가는 중이구요. (전 애벌레입니다. 🙂 – 몇몇 대단하게 보시는 분이 있어서. 오해를 하시지 마시기를…)

저도 많은 정보를 전달해 드리고 싶지만, 영어가 짧고, Nature of Order에 대한 선 지식이 없어서, 잘못된 내용이 있을수도 있습니다. (폭탄 발언?) 여튼 제가 이해하는 것이 잘못되었다고 생각하신 분은 댓글을 달아 주시면 바로 수정하겠습니다. 일단 잘못된 정보를 전달하면 안되기 때문에 글을 쓰지 말라는 분도 있지만, 누군가 정확한 의견을 전달해주면 그걸 수정하는 것이 맞지, 실패나 비난을 두려워해 아무것도 공유하지 않는 것은 정말 비겁한 자세라고 개인적으로 생각합니다. 전 정반합이 힘을 믿습니다.

Christopher Alexandar의 Nature of Order라는 서적은 크게 4가지 Volume으로 구성되어 있지만, Rebecca는 두권만 언급했습니다.

  • 1st Volume은 the fifteen property of things (어떤 존재, 사물에 대한 15가지 속성)
  • 2nd Volume은 Unfolding process for create“lively” things (살아있는 생명쳬를 만들기 위한 절차들)

오늘 Rebecca가 발표한 내용은 1st Edition에 나오는 15가지 속성을 기반으로 S/W에 빚대어 설명하는게 골자입니다. 1시간에 이런 무거운 내용을 전달하다 보니, 하고 싶은 얘기를 다 못껴내신거 같더라구요. 그리고 저 역시도 영어가 짧아서.. 이해를 다 하지는 못한거 같습니다.

Rebecca 아주머니는, Habitable Software라는 이야기를 꺼내며 화두를 시작했습니다. 사용하기 편하고, 경험하기 쉬운 소프트웨어를 말하는 데요. 이러한 시스템을 구성하기 위해 Alexandar가 말하는 15가지 속성으로 잘 구성되어야 된다고 얘기를 꺼냅니다.

Alexandar가 말하는생명체가 가지는 15개의 속성

  • Levels of scale
  • Strong centers
  • Boundaries
  • Alternating repetition
  • Positive space
  • Local symmetries
  • Good shape
  • Deep interlock and ambiguious
  • Contrast
  • Gradients
  • Roughness
  • Echoes
  • The void
  • Simplicity and inner calm
  • No-separateness

계속 읽기

Joshua Kerievsky 의 A Timelss way to communicate 세션 (부제 : : The Alexandrian Pattern Format )을 듣고 왔습니다. 패턴 저자들에게 Christopher Alexander 패턴의 가치를 깨닫게 해주고, 패턴 저자로써  가야할 방향을 제시한 좋은 발표였습니다.

크게 요약하면, 패턴을 작성하는 스타일이 있는데,  Portland Form  –  Jim Copeling Form – GoF Form – Alexandarian Form 형태로 성숙하고 더 좋은 포멧이라는 것을 설명하는 세션이었습니다.  A Timeless way of Building를 작성한 Christopher  Alexandar가 만든 패턴 포멧에 대한 가치와 심오한 배경등을 설명해 주고, 왜 우리 패턴 저자들이 Alexandar가 만든 스타일을 따라야 하는지 설명을 해주었습니다.

재미난 건 PLoP에 GoF인 Ralph Johnson도 있고,  Linda Rising 도 있고, Jim Copelin은 안 나왔지만 이미 친분이 두터운 관계인데, 그들의 스타일을 일일이 설명하면서, 어떻게 개선해야 되는지 설명한 세션이다 보니, 국내에선 이렇게 하다가 분위기가 험악해 질수도 있을거 같았는데. 놀라웠던건 그들이 그걸 수긍하고, 이미 Alexandarian 패턴 포멧을 따라가겠다는 의지를 밝혀 주었다는 겁니다.   역시 PLoP에 참가한 대가들은 변화와 개선점도 아주 빠르게 흡수한다는 것이 놀라웠습니다.

일단 특별히 어떤 형태로 쭉 잘정리하고 싶었지만 영어를 실시간으로 들으면서 정리하는데는 시간이 무지 많이 걸리거 같아. Timeline 순서대로 쭉 메모한 것을 그대로 적겠습니다.

계속 읽기

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

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

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

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

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

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

계속 읽기

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

전 지난 몇달간 죽음의 레이스(?)를 한 듯 합니다. 결과는 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팀 감사합니다. 다음과 같은 내용이 기고 되었습니다.

계속 읽기

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 […]

Framework 설계시 가장 중요시 여겨야 하는 것이 사용성이다.

사용자들이 쉽게 사용하고, 생산성에 만족하느냐가 Framework의 생존 여부와 연결되어 있기 때문이다. 쉽게 사용할 수 있는 사용 편의성을 일전에 얘기한 적이 있지만,이 못지 않게 중요한 것이  Framework 사용자가  실수를 하기 어렵게  만드는 것이다. 즉  실수하지 않게 성공의 웅덩이를 만들어서 성공할 수 밖에 없게 만들라는 얘기다.

PLoP10으로 인해 Framework 관련 논문을 작성하면서, .NET과 Java Framework를 설계한 대가들의 공통적인 충고를 들을 수 있었다.

계속 읽기