2014-03-12 1 views
-3

민첩 값 :에 응답 포괄적 인 문서를 통해 소프트웨어를 작동테스트 주도 개발은 민첩합니까? 애자일 선언문에서

개인과 상호 작용 프로세스와 도구를 통해,

, 계약 협상을 통해

고객 협업,

계획에 따라 변경하십시오.

그러나 TDD가 계획을 세우지 않고 계약 협상을 구조화하지는 않습니까?

"원하는 기능은 무엇입니까?" "1,2,3" 개발자가 1,2,3에 대한 테스트를 작성 -> 팀은 또한 또한 포괄적 인 문서 및 양식의

"1,2,3은 우리에게 돈을주는 것 여기에"코드 을 제공합니다 방법. 일단 테스트가 작성되면 개인과 상호 작용은 더 이상 중요하지 않습니다. 왜냐하면 "진실의 근원"은 더 이상 사람들과 함께 있지는 않지만 코드에서 다림질되기 때문입니다.

그들이 어떻게 서로 어울리는지 궁금하거나, 반대하거나 함께 작동하는 것이 궁금한가요?

+1

이것은 단어로만 연주하는 것 같습니다. –

+0

정말 이것을 해결하거나 증명할 방법이 없습니다. 그것은 [SO에 잘 어울리지 않을 수 있습니다] (http://stackoverflow.com/help/on-topic), IMO. –

+0

글쎄 대답은 이렇습니다 : "민첩한 선언문은 TDD에 어긋나는 것처럼 보이지만 얕은 해석 일뿐입니다. 왜냐하면 현실적으로 그들은 함께 일하기 때문입니다."또는 "그들은 완전히 관련이 없습니다"또는 그들은 결코 함께 사용되어서는 안됩니다 " – user2483724

답변

2

TDD는 프로세스가 아닌 개별 기여자의 관행과 같습니다. 여기서 테스트는 일반적으로 성능, 기능 및 통합 테스트와 같은 포괄적 인 테스트 슈트 대신 개발 작업의 일부인 단위 테스트를 의미합니다.

TDD는 개별 기여자가 요구 사항 및 구현 (변경에 대응하고 작업 소프트웨어를 제안)에 대해 실제로 생각하는 데 도움이되어야합니다. 필자는 개인적으로 이러한 관행을 채택하지 않지만 단일 기여자가 채택 할 수있는 민첩한 관행입니다. 더 높은 수준의 테스트 및 관련 문서와 혼동하지 마십시오.

+0

좋습니다, 개발자들 사이에 더 많은 계약이 있습니다. 왜 어떤 사람들은 질문에 화를내는 것 같습니까? – user2483724

+0

TDD는 성격에 크게 의존하는 관행입니다. 쇼핑을하기 전에 모든 항목을 목록에 쓰고 그 순서대로 하나씩 건너 뛰는 사람들이 있습니다. 다른 사람들은 일을 기억하고 사이트를 움켜 쥐기 위해 노력하고 있지만 어렵습니다. 트레이드 오프를 정당화하기위한 것이며, 이는 업무 범위 (대개 너무 유연함)에 크게 의존합니다. 페어 프로그래밍과 비슷하지만 일부 사람들은 동행하게되어서 너무 기분이 좋았습니다. 다른 사람들은 사적 사고 공간을 유지하는 것이 더 나을 것입니다. – miushock

2

아직 TDD 계획

아니를 만들지 않습니다. TDD는 "테스트 작성"을 의미하지 않으며 "코드 작성 전에 테스트 작성"을 의미합니다. 전체 "당신이 필요로하는 것만 큼 더해라"가 시작됩니다. 현재 코드를 작성하기 전에 모든 기능에 대한 테스트를 작성하지 않아도됩니다. 그리고 나서 (테스트의 레벨에 따라) 기능의 일부분 만이 테스트가 필요합니다. .

또한 그것은 또한 소프트웨어 작업과 보조 포괄적 인 문서의 형태 또한 프로세스

입니다.

포괄적 인 문서를 통해 소프트웨어 작업

,

이상,하지 않고. 둘 다 얻을 수 있다면 좋을 것입니다.

"진실의 근원"은 더 이상 사람과 함께 있지 않지만 코드에서 다림질되기 때문에 테스트는 개인과 상호 작용으로 작성됩니다.

에 대한 오라클은 항상 코드입니다. 에 대한 오라클은 무엇을해야합니까 항상 사람입니다. 잘 수행 된 TDD는 통신에도 도움이됩니다.

왜 어떤 사람들은 그 질문에 화를내는 것 같아요?

질문은 매우 트롤 - y로 나온다. 당신은 그 선언문을 뒤틀어서 후자가 "나쁘다"는 것을 돕고, TDD의 정의를 완전히 뒤집어서 완전히 앞선 과정으로 왜곡하고있는 것처럼 들리게 만듭니다. 어느 쪽도 진실하지 않다. 프로세스와 도구를 통해

개인과의 상호 작용,

BDD는 dev에/BA/이해 관계자 수준에서 상호 작용을 돕기위한 훌륭한 도구입니다

. TDD (xUnit 및 alikes)는 개발 수준에서 상호 작용을 돕는 훌륭한 도구입니다. 포괄적 인 문서

TDD 이상

작동 소프트웨어 작동 소프트웨어를 만들 수 있습니다. 계약 협상

(BDD) 공통 언어 사양을 설명하고 그 실행해야 할 수 있다는 이상

고객 협력은 굉장합니다. 계획

쉽게 변경할 수 있습니다 잘 테스트 코드베이스를 다음을 통해 변화 대응

. 테스트되지 않았거나 잘못 테스트 된 코드베이스가 수정되었습니다. 이다

는 오른쪽 의 항목에 값이 동안, 우리는 왼쪽 더의 항목을 소중하게 생각합니다.

+1

고장에 감사드립니다! 제가 질문을 한 지 오래되었지만 "시험"은 실제로 매우 광범위한 개념이며 사람들은 종종 "옳은 길"에 관해 반 종교적 논쟁을 시작한다는 것을 배웠습니다. 이제 IMO는 테스트와 민첩성이 실제로는 같은 시간에 발생하지만 연결되어있는 별개의 아이디어입니다. 애자일은 피드백과 테스트를 위해 빠른 배포와 릴리스가 필요했기 때문에 이러한 릴리스가 딸꾹질없이 일관되게 발생했습니다. 테스팅은 애자일 이전에 존재 했었지만 전에는 그러한 빠른 배포 목적으로 사용되지 않았습니다. – user2483724

+0

(큰 A) 민첩함은 사람들이 이미 적어 놓은 것의 무리 일뿐입니다. 그런 다음 일부 종교에 의해 만들어졌습니다. –

0

나는 또한 톰의 대답에 동의한다. '민첩하게 할 수 있다면 항상 좋은 일이라고 믿는다. 그것을 잘 수행 할 수 없다면, 그것은 해로울 수 있다고 생각합니다. "Agile은 단순히 모든 회사에 대한 올바른 대답이 아닙니다. 대기업에서 잘하는 것은 다르며 소프트웨어 아키텍처에 대한 집중력 부족이 결과 기술의 유용성에 실제로 영향을 미칠 수 있습니다. 디지털 애니멀 (Digital Animal)은 애자일 (Agile)에 대한 흥미로운 기사를 작성했으며, 왜 애질런트가 효과적이지는 않은지 설명합니다. http://digitalanimal.com/blog/slaying-the-agile-dragon-the-game-of-thrones-methodology/?AT=D8c953

관련 문제