SE업계의 장로이신 CMU의 Mary Shaw교수님의 Talk가 한국에서 진행되네요. Mary Shaw 교수님은 David Garlan 교수님과 같이 SE 쪽에서 오랫동안 헌신하신 분입니다.
유명한 서적인 Software Architecture: Perspectives on an Emerging Discipline 저자이시기도 하구요.
이번 세미나는 아쉽게도 그의 연구인 Value-Based Software Engineering 쪽은 아니지만, SE 쪽에서 워낙 입지가 탄탄한 분이라 한번 만나 보시면 좋을거 같습니다.
좋은 SE 논문을 쓰는 방법입니다. SE 관련 학생들/부서에 있으신 분들에게 좋을거 같네요. 개발자 분들중에 어떻게 학습을 하고 글을 쓰는지, 자신의 지식을 표현하느지 관심있는 분도 좋을거 같습니다.

오랜만에 다시 PLoP에 대한 정보를 보내드립니다. 제가 개인적로 바빠 아직도 PLoP 정보를 다 못올렸는데. 또 PLoP이 열리네요 🙂
제 2회 AsianPLoP이 Tokyo에서 열립니다. 작년에 다녀와서 PLoP에서 배우지 못한 새로운 것들을 많이 배워왔습니다. 아직 구체적인 프로그램은 조율중이라. 말씀 드릴수 없지만, 위 링크를 보시면 대충 분위기를 아실 수 있을거 같습니다.

이름하여 “7인의 베타리더!! “ (7인의 사무라이를 살짝 바꾸었습니다.)를 다시 모집합니다.
출간을 앞두고 있는 모든 소프트웨어 아키텍트가 알아야할 97가지 에 이어 그 시리즈인 “모든 프로그래머가 알아야할97가지”의 베타리더분을 모집합니다. 저의 지인들로 구성된 Project 입니다.
대략적인 내용은 바로 직전 포스트인 “12인의 아키텍트가 말하는 아키텍트의 소양과 자세”와 거의 유사합니다. 다만 이게 프로그래머 버젼이라고 생각하시면 됩니다.
다른 출판사보다 훨씬 더, 베타리더 분을 극진히 모실것을 약속드립니다. 맛있는 식사를 대접하는 것은 물론이고, 베타리더분의 성함과 사진을 실어 드리겠습니다. (물론 본인이 희망하실 경우구요). 그리고 지앤선에서 출판된 책도 한권 무료로 드립니다. 🙂
그럼 신청포멧은 다음과 같습니다.

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 순서대로 쭉 메모한 것을 그대로 적겠습니다.
기쁜 마음을 먹고 행사가 열리는 호텔에 도착했습니다. 말씀드린것과 같이 SPLASH(OOPSLA) 와 piggyback 패턴으로 나란히 열린다고 말씀 드렸는데요. 호텔에 도착하자 마자 다음과 같이 큰 사진이 반겨주었습니다. 하지만 바로 옆에 여러명이 담배를 피면서, 슬롯머신을 돌리고 있어서, 분위기가 좀 이질적으로 느껴졌습니다.

여튼 행사장에 들어가니 Linda 아주머니와 Bob 아저씨가 기다리고 있었고, 즐겁게 악수를 하면서 안부를 물었습니다. 시간이 지나 사람들이 하나 둘 모이기 시작하니 15명 정도의 인원이 도착했고, 서로가 무슨을 하고 있고 왜 PLoP에 참여하게 되었는지 얘기를 했죠. 다행히 작년처럼 Ripple Game을 안해서 정말 다행이라고 생각이 들었어요. 🙂

서로의 소개가 마친 다음 Bootcamp가 시작되면서 여러가지 주제들을 나누었습니다. 작년 Bootcamp와는 좀 다른 느낌을 가지게 되었습니다. 왜냐면 후방 지원이 빠방했거든요. 뒷 자리에 Joe Yoder, Linda 아주머니의 남편 Karl, 그리고 Program Chair인 Christian 까지 합세해 여러가지 질문들에 다양한 관점으로 답변을 해주었습니다.
PLoP 이란..
PLoP이라는 행사는 GoF의 Ralph Johnson이 1994년 처음 열었고, Speaker 한명이 발표를 하고 청중들은 듣는 전형적인 Conference의 틀을 깨고, 활발한 상호 커뮤니케이션과 함께 패턴을 전파하는 컨퍼런스 입니다.
그래서 논문을 제출하면, 단순히 accept / reject 통보만 받는 것이 아니고, 그 분야의 전문가인 Sephered(목자)가 붙어 2달동안 논문을 같이 다듬고, 발전 시켜 줍니다. 그리고 Shepherd들이 모여, 논문의 통과 여부를 결정한다고 합니다. 올해는 30개가 넘는 논문들이 제출되었는데 그중에 반만 accept되었다고 하네요. 아마 완벽하지 않더라도, Shepherd가 붙어서 논문을 다듬어 주니 당연히 논문이 좋아 질수 밖에 없죠.
업계 최고의 컨설턴트(아키텍트)에게 자신의 논문을 멘토링 받는다고 생각해 보세요. 아마 이런 경험을 무료로 받을 수 있는 곳은 PLoP이 유일할 것입니다. 열심히 노력해서 논문을 완성시킨다면, 여러분도 좋은 결과가 있으리라 생각이 듭니다. 그러니 여러분도 꼭 지원하시길 권해드립니다.
여러분이 아마 이 posting을 볼때면, 저의 숙원이었던, 최강의 궁합인 PLoP + OOPSLA (SPLASH) Conference 에 가기 위해 비행기를 타고 있을 겁니다. 14일에서 21일까지 총 7박 8일동안 주말도 쉬지 않고 대가들의 생각, 경험들을 들을수 있는 좋은 기회가 될거 같습니다. 아마 저처럼 Software Architecture에 관심이 있는 분이라면, 꼭 한번 참여해야 되는 Conference입니다. 이번에 작년에 했던 PLoP 그 이상의 경험을 하고 오리라 믿습니다. […]
또는… 안녕하세요. 블로그를 통해서 이런 스팸성 글을 적어서 죄송합니다. 다름이 아니라. 이번주 금요일 부터 열려서 다음주 금요일날 끝나는 OOPSLA의 새로운 이름인 SPLASH나 PLoP에 참석하시는 한국분이 있으시면 연락 주시길 바랍니다. 제가 혼자 가게 될거 같습니다. 혹시 가시면 얼굴이라도 알고 지내고, 호텔비를 Save하는데는 도움을 드릴 수 있을것 같네요. 혹시 충동적으로 비행기/등록비를 내서라도 가고 싶은데, 현지 생활비가 걱정이 […]

뛰어난 아키텍트는 복잡도를 최소한으로 줄일 수 있어야 하며, 단단한 기본 구조를 취하면서도 급변하는 상황에 적절히 대처할 수 있는 실용적인 해결책들을 설계할 수 있어야 합니다.
위대한 아키텍트는 고립된 소프트웨어 모듈에서뿐만 아니라 사람과 사람사이, 시스템과 시스템 사이에서 일어나는 변화의 충격을 이해해야 합니다.
변화는 다양한 형태로 나타날 수 있습니다.
- 기능 위주의 요구 사항 변경
- 확장성 요구의 진화
- 수정된 시스템 인터페이스들
- 팀원의 변동
- 그리고 리스트(해야 할일)의 계속적인 발생
소프트웨어 프로젝트 변화의 광범위함과 복잡함을 미리 추측하는 것은 불가능하며, 변화가 발생하기 전에 모든 잠재적 어려움을 수용하는 시도는 헛된 일입니다. 그러나 아키텍트는 이러한 어려움들이 프로젝트를 망칠지 또는 완수할지를 결정하는 중요한 역할을 해야합니다.
아키텍트의 역할이 반드시 변화를 관리하기 위한 것은 아니지만, 오히려 변화가 관리될 수 있음을 보장해야 합니다.
