익스트림 프로그래밍이란 무엇입니까?
익스트림 프로그래밍은 최신 소프트웨어 개발 방법 중 하나입니다. 비즈니스 가치와 품질을 강조하여 전통적인 소프트웨어 개발 방법을 개선하는 것을 목표로합니다. 이 프로그래밍 방법은 단 몇 주만에 비즈니스 요구를 충족시키는 완전하고 오류가없는 소프트웨어를 제공합니다.
전통적인 소프트웨어 개발 방식에서 프로젝트는 몇 개월 또는 몇 년에 걸쳐 진행됩니다. 한 분석가 팀이 모든 요구 사항을 사용자로부터 얻습니다. 그런 다음 일련의 디자이너가 시스템의 광범위한 구조를 만듭니다. 그런 다음 프로그래머는 해당 구조 내에서 시스템을 코딩합니다. 그런 다음 테스터는 코드에 오류가없고 요구 사항을 충족하는지 확인합니다.
기존 개발에서 직면 한 주요 문제는 사용자 자신이 항상 자신의 요구 사항을 명확하게 밝히지 않고 소프트웨어를 만드는 데 걸리는 연장 시간 동안 요구 사항이 종종 변경된다는 것입니다. 각기 다른 사람들이 서로 다른 단계에 관여하고 문서화가 거의 완료되지 않았으므로 후기 단계의 사람들은 초기 단계의 사람들의 사고 과정을 파악할 수 없습니다. 그 결과 비즈니스 가치는 떨어지고 소프트웨어 품질도 떨어집니다.
일반적으로 극단적 인 프로그래밍에는 몇 주 내에 빈번한 소프트웨어 제공이 필요합니다. 동기 부여는 일부 중요한 비즈니스 요구를 해결하는 완전히 작동하는 소프트웨어를 제공하는 것입니다. 다음 배송에서는 요구 사항 변경이 수용됩니다.
익스트림 프로그래밍, 즉 XP는 프로그래밍을 수행하기 전에 테스트를 작성하여 품질을 강조합니다. 소프트웨어가 작성 될 때 코드는 하루에 여러 번 검토 및 테스트됩니다. 전체 소프트웨어는 하루에 한 번 또는 여러 번 모여서 테스트됩니다. 소프트웨어의 한 부분으로 인해 시스템이 다운되지 않도록하기 위해 수행됩니다.
익스트림 프로그래밍의 잘 알려진 측면 중 하나는 페어 프로그래밍으로, 두 프로그래머가 한 컴퓨터에서 함께 작동합니다. 이 접근 방식으로 인해 소프트웨어 제작에 필요한 사고 과정, 설계 및 코딩이 즉시 확인됩니다. 소프트웨어를 개발하는 책임은 공유됩니다.
이 개발 방법을 사용하면 소프트웨어는 단순한 디자인으로 시작하여 추가 비즈니스 요구를 충족하도록 발전합니다. 기능의 우선 순위가 높아질 때까지 기능 작성을 피합니다. 완벽한 시스템을 만들기 위해 팀워크를 강조하므로 모든 팀원은 매일 분석가, 디자이너, 프로그래머 및 테스터의 역할을 수행합니다. 프로그래머와 소프트웨어가 제공되는 사용자 사이뿐만 아니라 프로그래밍 팀 내에서도 강력한 의사 소통이 이루어집니다.
이 프로그래밍 방법에서는 리팩토링 개념이 매우 강조됩니다. 리팩토링은 코드에 좋은 구조를 제공하고 출력에 영향을주지 않고 이해하기 쉽도록 내부 코드 개선입니다. 극단적 인 프로그래밍과 관련된 모든 작업은 심야와 주말없이 지속 가능한 속도로 수행 될 것으로 예상됩니다. 이것은 사기를 높이고 오류 가능성을 줄입니다.
익스트림 프로그래밍은 그 장점을 활용하기 위해 우수한 프로그래머가 일하는 방식에 대한 긍정적 인 측면이 극단으로 올라간다는 아이디어에서 유래했습니다. 이 개발 방법은 여러 소프트웨어 시스템에서 매우 효과적입니다. 이것이 여전히 새로운 방법론이므로, 그 관행은 지속적으로 발전하고 있습니다.