-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SoftwareEngineering] eXtreme Programming 정리 #63
Conversation
XP에 대한 설명들을 오랜만에 접할 수 있어 좋네요. 이런 다양한 개발방법론들은 정보처리기사에도 많은 도움이 될 것 같아요~ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XP~ 오랜만 애자일 방법론 잘봤습니다 ㅎㅎ 이게 실제로 현업에선 어떻게 활용 되는지 궁금 하네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
에자일에 테스트코드가 없다는게 신기합니다.....
테스트코드가 없는 개발물을 신뢰할 수 있을까요 흠
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
처음 접해본 지식인데, 제가 지향하고 있는 개발방법과 비슷한 것 같습니다!
잘 읽었습니다 🎉
XP에도 테스트 코드는 있습니다. 페어 프로그래밍을 함으로써 개발과 동시에 테스트 코드가 작성되고, 개발과 동시에 테스트가 진행된다는 것이 XP의 특징입니다. 물론 다른 애자일 프로세스에도 테스트 코드를 개발과 동시에 작성할 수 있습니다. 다만 이러한 방식이 XP의 두드러지는 특징이라고 볼 수 있습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XP 너무 잘 봤습니다. 안 그래도 최근에 애자일 방법론 살펴봤었는데 이해가 새록새록 되네요 !!
#### Simple Design | ||
개발을 하다 보면 코드가 복잡해진다. 따라서 **코드를 가능한 심플하게 설계를 한다.** (KISS 원칙 : Keep It Small, Simple) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 KISS ~~ 💋
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그... 그런 방 아닙니다..
#### Test-Driven Development | ||
XP에서 가장 중요한 요소이다. **테스트를 거치면서 코딩한다.** | ||
|
||
#### Pair Programming | ||
**두명 혹은 그 이상의 프로그래머가 함께 코딩을 한다.** 코딩 하는 역할, Quality Assurance 역할 등으로 나누어서 개발과 테스트에 모두 집중한다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
XP에서 코딩을 할 때 테스트도 같이 개발을 한다고 했는데, 테스트와 코딩은 어떤 것이 먼저 이루어지거나가 없이 "동시에" 이루어지나요? 아니면 TDD처럼 테스트 코드를 먼저 작성한 후 개발을 진행하나요?
그리고 페어 프로그래밍에서 코딩 역할과 QA 역할으로 나뉜다고 그랬는데, 코딩과 QA는 각각 한 사람이 맡는건가요? 아니면 한 사람이 코딩과 QA를 모두 맡고, 다른 사람이 그와 관련된 아이디어를 던져주는 방식으로 진행되나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우선 첫번째 질문에 대한 답을 드리자면 일반적으로 XP에서는 테스트와 코딩이 "동시에" 이루어집니다. 물론 코딩을 하는 사람과 테스트 코드를 작성하는 사람의 역량 차이에 따라 둘 중 하나가 먼저 마무리되는 경우는 있습니다.
다만 주의해야할 점이 있습니다. "Test-Driven Development 란 테스트와 코딩을 동시에 하는 것이다." 라고 이해하시면 안됩니다. Test-Driven Development 는 말 그대로 테스트 주도 개발입니다. 개발을 하면서 항상 단위 테스트를 거치는 방법인데, 여러 방법이 있겠죠. 테스트 코드 먼저 작성하고 개발하기, 개발 후에 테스트 코드 작성하기, 둘 다 동시에 하기. 전부다 Test-Driven Development 라고 할 수 있습니다. XP에서는 이러한 테스트 주도 개발 메커니즘을 채택했다고 보시면 됩니다.
그런데 제가 왜 첫단에 "동시에" 이루어 진다고 답을 했는가, 그 이유는 밑에 질문하신 페어 프로그래밍과 관련있습니다.
페어 프로그래밍에서는 두 사람이 한 팀이되어 한명은 코딩, 한명은 QA를 위한 테스트 코드를 만듭니다. XP에서는 이런 방식으로 TDD가 진행됩니다. 서로 협력하는 과정에서 당연히 커뮤니케이션이 오고가니 서로 아이디어를 던져줄 수는 있습니다. 그런데 일방적으로 한 사람은 아이디어만 주고 한 사람은 아바타 마냥 코딩만하는건... 그것도 어찌보면 페어니까 페어 프로그래밍이라고 할수도 있겠네요ㅎㅎ 다만 XP에서는 코딩과 QA를 각각 한 사람이 맡는 것을 페어 프로그래밍이라 칭합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 덕분에 검색을 해도 모호하게 나오던 개념을 확실하게 잡을 수 있었네요 !! 정말 감사합니다 ㅎㅎㅎㅎ!! 확실히 이해가 되었어요 ㅎㅎ
변경 사항
Point of discussion
분위기 전환겸 애자일로 찾아와 봤습니다ㅎㅎ
Reference