주요 콘텐츠로 건너뛰기

Mission

이 문서는 우리가 방법론을 개발할 때 따르는 목표와 적용 가능성의 한계를 설명합니다.

  • 방법론의 목표는 이념과 단순성의 균형을 맞추는 것입니다.
  • 모든 사람에게 완벽하게 들어맞는 만능 해결책은 존재하지 않습니다.

그럼에도, 방법론은 다양한 개발자들이 쉽게 접근할 수 있고 실용적이어야 합니다.

목표

다양한 개발자에게 직관적이고 명확하게

방법론은 프로젝트에 참여하는 대부분의 팀원들이 쉽게 접근하고 이해할 수 있도록 설계되어야 합니다.

향후 새로운 도구가 추가되더라도, 시니어나 리더급 개발자만 이해할 수 있다면 그 방법론은 충분하지 않습니다.

일상적인 문제 해결

방법론은 개발 프로젝트에서 자주 발생하는 문제에 대해 명확한 근거와 해결책을 제시해야 합니다.

이를 위해 CLI, 린터(linter) 같은 도구들도 함께 제공해야 합니다.

이를 통해 개발자들은 아키텍처 및 개발 과정에서 발생하는 반복적인 문제를 피하고, 검증된 접근 방식을 활용할 수 있습니다.

@sergeysova: 방법론을 기반으로 코드를 작성하는 개발자는 이미 많은 문제에 대한 해법을 내장한 채로 시작하기 때문에, 문제 발생 빈도가 10배 정도 줄어들 것이라고 상상해보세요.

한계

우리는 특정 관점을 강요하지 않으며, 동시에 개발자로서의 습관이 문제 해결을 방해할 수 있다는 점도 이해합니다.

개발자마다 시스템 설계, 개발 경험 수준이 다르기 때문에, 다음 사항을 이해하는 것이 중요합니다:

  • 항상 통하지는 않음
    너무 단순하고 명확한 접근이 모든 상황과 모든 사람에게 항상 효과적인 것은 아닙니다.

    @sergeysova: 일부 개념은 직접 문제를 겪고, 오랜 시간 고민하며 해결하는 과정을 거쳐야만 직관적으로 이해할 수 있습니다.

    • 수학: 그래프 이론
    • 물리학: 양자 역학
    • 프로그래밍: 애플리케이션 아키텍처
  • 가능하고 바람직한 방향
    단순함, 확장 가능성

참고 자료