[1]의 2장 방향 설정하기는 리엔지니어링 프로젝트의 방향 설정에 관한 내용을 다루고 있다. 팀 내에서 공통된 목적의식을 확립하는 방법과 함께 리엔지니어링 프로젝트를 효과적으로 진행하는 데 필요한 다양한 전략과 맥심(지침 원칙)을 소개하고 있다.

주요 내용은 다음과 같습다.

  • 맥심에 동의하기 - 프로젝트의 핵심 우선순위를 설정하고 팀이 올바른 방향으로 나아갈 수 있도록 돕는 지침과 원칙을 개발하는 과정다.
  • 내비게이터 지정 - 아키텍처 비전을 유지할 수 있도록 특정 인물을 '내비게이터'로 지정하는 전략이다.
  • 원탁 회의에 말하기 - 정기적인 원탁 회의를 통해 프로젝트 상태에 대한 팀 인식을 유지하고 정보를 공유하는 방법이다.
  • 가장 가치 있는 것 먼저 하기 - 문제 해결에 있어 가장 중요하고 가치 있는 부분부터 시작하는 전략이다.
  • 증상이 아닌 문제 수정하기 - 문제의 증상이 아닌 근본 원인을 해결함으로써 더 효과적인 리엔지니어링을 도모하는 접근법이다.
  • 고장이 나지 않으면 수정하지 않기 - 실제로 문제를 일으키고 있는 부분만을 수정하는 실용적 접근 방식이다.
  • 간단하게 유지하기 - 과도한 복잡성을 피하고, 간단하고 효과적인 솔루션을 구현하는 전략이다.

각 절에서는 이러한 원칙들을 실제로 적용하는 방법과 예상되는 도전, 그리고 팀 내부의 동기 부여 및 관리 방법에 대해 논의한다. 이를 통해 리엔지니어링 프로젝트가 보다 성공적으로 수행될 수 있도록 설계된 지침서로 사용할 수 있다.

 

[2]에 번역 내용이 올라가 있다.

 

참고 문헌

[1] Serge Demeyer et al., "Object-oriented Reengineering Patterns"

[2] https://github.com/blcktgr73/OORP 

Object-oriented Reengineering Pattern[1]의 저자인 세르게이 디마이어의 허락을 받아 번역을 시작한다. 전에 김창준님이 내가 관심이 있겠다고 소개해서 알게된 책이기도 하다. 이 책은 출판이 된적이 있지만, 크리에이티브 커먼즈로 공개되었다. 그렇다 하더라도, 번역하는데 허락을 받을 필요가 있다고 생각해서 저자에게 연락을 하여 확인하였다. 1장의 리엔지니어링 패턴을 번역하면서 [2]에 공유하고 내용을 요약해서 적어 본다.

 

1장의 내용은 소프트웨어 리엔지니어링(Software Reengineering)에 대해 다루고 있다. 특히, 레거시 시스템의 문제를 식별하고 개선하는 다양한 방법을 포함하며, 이를 통해 시스템을 더 유지보수가 가능하고 최신 요구 사항에 대응 가능하도록  조정하는 과정으로서 리엔지니어링을 설명한다. 주요 내용은 다음과 같다.

 

  • 리엔지니어링의 필요성: 레거시 소프트웨어 시스템이 비즈니스에 중요함에도 불구하고 많은 비용이 들어 업그레이드나 교체가 어렵기 때문에 리엔지니어링이 필요하다.
  • 리엔지니어링의 목적: 레거시 시스템의 복잡성을 줄이고, 적절한 비용으로 시스템을 계속 사용하고 적응할 수 있게 하는 것이다.
  • 리엔지니어링의 이유: 성능 개선, 시스템을 새 플랫폼으로 이전하기 위함, 유지보수 비용 절감, 시스템에 대한 지식 문서화 등 여러 가지 구체적인 이유가 있다.
  • 리엔지니어링 과정: 문제가 있는 레거시 시스템을 식별하고, 개선 방법을 모색하여 구현하는 과정을 포함한다. 이 과정에서 리버스 엔지니어링과 리엔지니어링의 차이점을 설명한다.
  • 리엔지니어링 패턴: 리엔지니어링 과정에서 사용되는 패턴의 양식을 소개한다.

 

참고 문헌

[1] Serge Demeyer et al., "Object-oriented Reengineering Patterns"

[2] https://github.com/blcktgr73/OORP 

+ Recent posts