페티시 패턴은 반복되는 많은 문제에 대응하는 소프트웨어 엔지니어링 및 프로젝트 관리의 일반적인 안티 패턴으로, 종종 비효과적이고 해로운 결과를 초래합니다. 이 개념은 1995년 컴퓨터 프로그래머 Andrew Konik에 의해 처음 제안되었습니다. 이 개념은 효과적이고 신뢰할 수 있는 것으로 간주되는 소프트웨어 개발을 위한 일부 디자인 패턴을 설명하는 "Design Patterns"라는 책에서 영감을 받았습니다. 그 후 1998년 책 "Anti-Patterns"는 소프트웨어 아키텍처 및 프로젝트 관리 영역을 포함하도록 개념을 더욱 확장했습니다. 이 기사에서는 소프트웨어 엔지니어링에서 "여성 패턴"의 정의, 적용 및 구체적인 예를 살펴보겠습니다.
디자인 패턴 작성자에 따르면 안티패턴에는 나쁜 습관이나 나쁜 행동과 구별되는 두 가지 핵심 요소가 있습니다.
안티패턴은 처음에는 문제에 대한 적절하고 유효한 대응처럼 보이지만 좋은 결과보다 나쁜 결과를 더 많이 초래하는 프로세스, 구조 또는 행동의 일반적으로 사용되는 패턴입니다.
안티패턴이 해결하려는 문제에 대해 문서화되고 반복 가능하며 입증된 효과적인 솔루션이 있습니다.
'3가지 규칙'에 따라 안티패턴으로 인정받으려면 해당 패턴을 최소 3번 관찰해야 합니다.
안티패턴을 문서화하면 문제 공간을 효과적으로 분석하고 전문 지식을 포착하는 데 사용할 수 있습니다. 좋은 안티패턴 문서는 패턴의 부정적인 결과를 문서화할 뿐만 아니라 패턴을 개선할 수 있는 대체 솔루션이나 방법도 제공합니다.
소프트웨어 엔지니어링에서 일반적인 안티 패턴에는 큰 진흙 공, 신의 물체, 마법의 숫자, 폴터가이스트 등이 있습니다.
디자인 없는 혼돈은 인지할 수 있는 아키텍처가 부족한 소프트웨어 시스템을 의미합니다. 소프트웨어 엔지니어링 관점에서는 바람직하지 않지만 이러한 시스템은 비즈니스 압박, 개발자 이직 및 코드 저하로 인해 일반적입니다. Brian Fort와 Joseph Yoder는 1997년 논문에서 이 개념을 심층적으로 정의했습니다.
설계되지 않은 잡동사니는 무질서하게 구조화되어 있고, 넓게 퍼져 있고, 혼란스러운 '스파게티 정글'입니다. 이러한 시스템은 통제할 수 없는 상당한 성장과 지속적인 임시 패치를 나타냅니다.
프로젝트 관리의 안티 패턴에는 Blowhard Jamboree, 분석 마비, Viewgraph 엔지니어링, 계획에 의한 죽음, 성공에 대한 두려움 등이 포함됩니다.
이러한 안티패턴은 잘못된 관리 또는 잘못된 의사소통 방법으로 인해 발생하는 경우가 많으며, 이로 인해 프로젝트 진행 속도가 느려지고 팀 사기가 저하됩니다.
소프트웨어 설계 및 프로젝트 관리 문제에 직면할 때 이러한 안티패턴을 이해하고 식별하는 것이 중요합니다. 페티시 모델의 일반적인 함정을 피함으로써 팀은 보다 안정적이고 효과적인 솔루션을 설계할 수 있으며, 이는 결과적으로 성공적인 프로젝트 완료를 촉진합니다. 그렇다면 당신도 자신도 모르게 이러한 안티패턴의 영향을 받고 있는 것은 아닐까?