TDD(Test-Driven Development)는 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나로 애자일 방법론중 하나이다. 일반적으로 개발을 먼저 수행하고, 테스트 단계를 거치는 방식을 관점을 뒤집은 것으로 테스트를 수행할 방법(ex: Test Case)을 먼저 만들고, 이 요건을 충족할 코드를 뒤에 짜는 것이다. TDD는 이런 방식을 채용하였기 때문에, 더 고품질의 프로그램이 실현 가능해진다. 그리고 이어지는 리팩토링 단계는 테스트의 문제 뿐만 아니라, 코드의 단단함까지 더해질 수 있다. 결과적으로 TDD를 수행하게 되면 TC를 충족하는 코드와 군더더기 없는 코드(simple code 혹은 clean code)가 생산된다는 말이 된다. 일반적으로 개발을 진행하였을 때, 들어가..
XP는 스크럼(Scrum)과 쌍두마차격인 애자일(Agile) 방법론이다. 비즈니스 상의 요구가 시시각각 변동이 워낙 심하다보니 기존의 개발방법론으로는 현재의 흐름을 제대로 대응하기 힘들었고, 그래서 나온 것이 XP 방법론이다. XP는 켄트 백이 1999년에 "Extreme Programming Explained - Embrace Change" 라는 저서로 발표하였고 이후 XP라는 약칭으로 알려지게 된다. XP는 구체적인 실천 방법들을 정리해 놨고, 이 방법론은 적은 규모의 개발 프로젝트에 적용하기 좋다. 기존의 일반적인 산출물보다 소스코드를 조직적인 행동보다는 개개인의 행동과 책임 등을 중점을 둔다. 초창기에는 4가지의 가치를 추구했던 것으로 사료된다. "What Is Xp" 문서를 보면 단순성, 소통,..
내 머리속에서 애자일(Agile)하면 제일 먼저 떠오르는 것은 바로 스크럼(Scrum)이다. 요즘에는 관심이 좀 식었지만 한 때 폭발적인 관심으로 애자일 = 스크럼이 될 정도였었다. 대기업에서는 특히 스크럼을 실행하는 곳이 많았는데 사이트를 가면 스크럼 기반으로 만들어진 팀부터 프로젝트 관리까지 스크럼 투성이었다. 몇년전 당시 다니던 회사의 본부장님은 SW 품질쪽으로는 유명하신 분이라서, 애자일과 스크럼, 칸반에 관련된 문서를 잔뜩 뽑아서 나눠졌던 기억도 있다. 그만큼 SW 품질이나 관리를 하는 사람들에게는 도저히 못들어본 말일 것이다. 우선 스크럼의 탄생은 일본 히토츠바시 대학의 노나카 이쿠지로와 타케우지 히로타카가 1986년 1~2월 Harvard Business Review에 올린 "The New ..