개발 방법론이 진화할수록 UX 는 더 중요해진다?!
프론트엔드 개발 분야에서 사용자 경험(UX)의 중요성은 누구나 인정하는 사실입니다. 최근 들어 이 중요성이 기능 중심의 개발 방법론, 특히 Feature Sliced Design(FSD)의 등장과 함께 새로운 차원에서 재조명되고 있습니다. 이러한 변화는 기능 중심 개발의 뿌리인 Feature Driven Development(FDD)에서 시작되어, 현대의 프론트엔드 개발 트렌드와 사용자 요구의 빠른 변화에 대응하기 위해 FSD로 진화하였습니다. FDD의 기본 원칙이 현대적인 웹 및 모바일 애플리케이션 개발의 요구 사항에 맞춰 발전하면서, FSD는 프론트엔드 개발에서의 구조화된 코드 조직과 모듈화를 강조하게 되었습니다. 이 글에서는 기능 중심의 개발이 왜 주목받고 있는지, 그리고 이것이 UX에 어떤 긍정적인 영향을 미치는지에 대해, 개발 방법론과 연관하여 살펴보려합니다. FSD 와 FDD Feature Sliced Design (FSD)와 Feature Driven Development (FDD)는 모두 소프트웨어 개발 방법론으로, 기능 중심의 접근 방식을 공유합니다. 그러나 두 방법론은 출발점과 적용 범위, 그리고 목표에 있어서 다소 차이를 보입니다. Feature Driven Development (FDD) 출현 시기: FDD는 1990년대 후반에 개발되었습니다. 주요 초점: FDD는 대규모 팀에서 대규모 프로젝트를 효율적으로 관리하고 실행하기 위한 방법론입니다. 핵심 원칙: FDD는 프로젝트를 기능 단위로 분해하고, 이 기능들을 짧은 반복 주기로 개발하는 것을 강조합니다. 이 방법론은 모델링, 기능 목록 작성, 기능별 계획 및 빌드, 그리고 정기적인 진행 보고 등 5단계 프로세스로 구성됩니다. 목표: FDD의 목표는 개발 프로세스를 구조화하여 생산성을 높이고, 대규모 프로젝트에서도 효과적인 협업과 진행 상황의 명확한 추적을 가능하게 하는 것입니다. Feature Sliced Design (FSD) 출현 시기: FSD는 더 최근의 개념으로, 웹 및 모바일 개발 프로젝트에 특히 적합한 설계 방법론입니다. 주요 초점: FSD는 프론트엔드 개발에서의 구조화된 코드 조직과 모듈화를 강조합니다. 이 방법론은 애플리케이션을 기능별로 분할하여, 각 기능이 독립적으로 개발, 테스트, 배포될 수 있도록 합니다. 핵심 원칙: FSD는 기능별 분할, 재사용 가능한 컴포넌트의 개발, 그리고 유지 보수성과 확장성을 높이는 것을 목표로 합니다. 이를 통해 개발자는 더 빠르고 효율적으로 작업할 수 있으며, 코드 베이스를 쉽게 이해하고 수정할 수 있습니다. 목표: FSD의 목표는 프론트엔드 개발 프로젝트에서의 코드 조직화와 모듈화를 통해 유지 보수성, 확장성, 그리고 협업의 용이성을 증진시키는 것입니다. 이러한 차이점이 존재함과 동시에, FSD는 FDD 와 밀접한 연관성을 가지고 있습니다. FSD와 FDD는 기능 중심의 개발을 공통적으로 추구한다는 점에서 연관성이 있습니다. 두 방법론 모두 프로젝트를 더 작은 기능 단위로 분해하여 관리하고 개발하는 것을 중요하게 여깁니다. 그러나 FDD는 프로젝트 관리와 개발 프로세스에 더 초점을 맞춘 반면, FSD는 프론트엔드 개발의 구조화와 코드 조직에 더 많은 강조를 둡니다. 따라서, FSD는 FDD의 기능 중심 접근 방식을 프론트엔드 설계와 구현의 맥락으로 확장한 것으로 볼 수 있습니다. 이러한 확장은 FSD가 현대적인 프론트엔드 개발 요구 사항에 맞춰진 방법론으로 자리매김하게 했습니다. 더 나아가, FSD의 이러한 접근 방식은 Agile 개발 방법론의 핵심 가치와도 긴밀하게 연결되어 있습니다. Agile 방법론은 변화에 유연하게 대응하고, 고객의 지속적인 피드백을 통해 제품을 개선해 나가는 것을 목표로 하는데, FSD는 이러한 Agile 원칙을 프론트엔드 개발의 구조와 설계에 적용하여, 개발 프로세스의 효율성과 유연성을 높이는 데 기여합니다. 이제, Agile 개발 방법론의 네 가지 핵심 가치와 FSD가 어떻게 연결되는지 자세히 살펴보겠습니다. Agile 과 FSD Agile 개발 방법론의 네 가지 핵심 가치는 소프트웨어 개발의 유연성과 효율성을 높이는 데 중점을 둡니다. Feature Sliced Design (FSD)은 이러한 가치들을 프론트엔드 개발의 구조와 설계에 적용하여, Agile 방법론의 이점을 극대화합니다. 아래에서는 Agile의 4 가지 핵심 가치와 FSD의 구체적인 연결점을 자세히 설명하겠습니다. 개인과 상호 작용이 프로세스와 도구보다 중요합니다. FSD는 개발자 간의 효과적인 상호 작용을 촉진합니다. 기능별로 코드를 분할함으로써, 개발자들은 각자의 파트에 더 집중할 수 있고, 필요한 경우 다른 팀원과의 협업이 더욱 용이해집니다. 이는 Agile 가치인 팀원 간의 원활한 커뮤니케이션과 협업을 강화합니다.
![❤️](https://static.cafenono.com/emoji/14/img-apple-64/2764-fe0f.png)
1