본문 바로가기
ETC

🍺 BDD - Beer Driven Development

by HaningYa 2020. 6. 18.
728x90

[경고] 이 글은 순 헛소리 이며 23학점 시험기간에 소소한 재미를 위해 쓴 글입니다.

헛소리 200%

🍺 BDD(Beer Driven Development) 의 정의와 효과

Goal

  • BDD의 정의 - '맥주를 통해 결정과 피드백 사이 갭을 채울 수 있다.'
  • BDD의 효과 - BDD는 언제, 어떻게 사용하면 좋을까
  • BDD를 활용하기 어려운 이유와 잘 하는 방법
  • 프로그래머 외의 사람들에게는 BDD는 어떤 의미가 있을까

[들어가기전]

  • BDD가 프로그래머에게만 해당된다고 생각하면  AFD(Alcohol Fueled Development)의 근본 개념을 망치는 것이다.
  • BDD의 진짜 개념을 적용하기 위해서는 많은 시간이 걸릴 것이다.

*Alcohol Fueled Development)

 

https://wiki.c2.com/?AlcoholFueledDevelopment

 

wiki.c2.com


BDD란

Beer library

BDD의 정의

  • Beer Driven Development
    • 맥주 주도 개발: 맥주가 개발을 이끌어 나간다.

구체적인 행동 레벨에서의 BDD의 개념

맥주를 먼저 마시고 앱을 완성하기 위해 코드를 짜는 것, 즉 개발 과정에서 우선 맥주를 마시고 동작하는 코드를 만들고 다시 맥주를 마시면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것이다.

  • 보통은 SW 개발을 할 때 출시와 배포가 다 끝난 후 맥주를 마신다.
  • BDD를 적용한 사례
    • 예를 들어, 생년월일(input)을 입력받으면 현재 나이(output)를 출력하는 프로그램
      1. 처음에는 간단한 안주만 시킨다. (감자튀김, 마른 안주, 과일안주)
      2. 개발하기 전에 먼저 맥주부터 마신다.
      3. 약간 취한 상태로 하나씩 기능을 개발한다.
      4. 기능이 실행되면 다음 잔을 마신다.
      5. 위와 같은 작업을 계속 왔다갔다 수행한다.
      6. 필요에 따라서 치킨과 같은 안주로 허용된다.

추상적인 레벨에서 TDD의 핵심 개념

  • 개발과 맥주 사이의 갭에 대한 인식, 더 나아가 취한채로 개발하는 것에 대한 테크닉이라 할 수 있다.

BDD의 효과

FR"Agile" 방법론

BDD를 왜 해야할까

프레자일(Fragile) 이란 깨지기 쉬운으로 각종 버그로 개발자의 멘탈이 깨지기 쉽다는 뜻이다.

  1. 피드백
    • 약간 취한 상태로 권위에 대항하여 직언을 날릴 수 있는 용기를 얻게된다.
      (extreme programming 에서 중요한 "용기"이다)
  2. 협력
    • 팀원간의 어색할 틈도 없이 다들 친구가 될 수 있다.
    • 좋은 맥주와 좋은 개발자가 모이면 그날밤은 해커톤이 될 수 있다.
    • 왜 BDD가 협력을 증진시킬까
      • 내가 짠 코드도 다음날 잘 모른다.
      • 남이 짠 코드도 이해가 안될 것이다.
      • 사실 헛소리다.
      • 여기까지 읽었으면 대단한 집중력이다.

BDD의 장단점

  • 장점
    1. BDD를 하면 개발 시간이 늘어난다.
      (BDD를 하지 않을 떄보다 90~100% 늘어난다.)
    2. BDD를 하면 안된다.
      (개발은 맑고 깨끗한 정신으로)
    3. BDD를 요리사가 될 수 있다.
      (내가 오늘은 스파게티코드 요리사!)

References

TDD는 중요한 개념이다.

 

[Agile] TDD(테스트 주도 개발)란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 


처음에는 재밌었는데 쓰다보니 재미없어졌다.

1절만 해야되는데 

시험기간동안 잠깐 재밌었다.

이만 끝

🍺

728x90

댓글