주요 콘텐츠로 건너뛰기

Mission

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

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

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

목표​

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

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

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

일상적인 문제 해결​

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

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

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

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

한계​

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

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

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

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

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

참고 자료​