728x90
[경고] 이 글은 순 헛소리 이며 23학점 시험기간에 소소한 재미를 위해 쓴 글입니다.
🍺 BDD(Beer Driven Development) 의 정의와 효과
Goal
- BDD의 정의 - '맥주를 통해 결정과 피드백 사이 갭을 채울 수 있다.'
- BDD의 효과 - BDD는 언제, 어떻게 사용하면 좋을까
- BDD를 활용하기 어려운 이유와 잘 하는 방법
- 프로그래머 외의 사람들에게는 BDD는 어떤 의미가 있을까
[들어가기전]
- BDD가 프로그래머에게만 해당된다고 생각하면 AFD(Alcohol Fueled Development)의 근본 개념을 망치는 것이다.
- BDD의 진짜 개념을 적용하기 위해서는 많은 시간이 걸릴 것이다.
*Alcohol Fueled Development)
BDD란
BDD의 정의
- Beer Driven Development
- 맥주 주도 개발: 맥주가 개발을 이끌어 나간다.
구체적인 행동 레벨에서의 BDD의 개념
맥주를 먼저 마시고 앱을 완성하기 위해 코드를 짜는 것, 즉 개발 과정에서 우선 맥주를 마시고 동작하는 코드를 만들고 다시 맥주를 마시면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것이다.
- 보통은 SW 개발을 할 때 출시와 배포가 다 끝난 후 맥주를 마신다.
- BDD를 적용한 사례
- 예를 들어, 생년월일(input)을 입력받으면 현재 나이(output)를 출력하는 프로그램
- 처음에는 간단한 안주만 시킨다. (감자튀김, 마른 안주, 과일안주)
- 개발하기 전에 먼저 맥주부터 마신다.
- 약간 취한 상태로 하나씩 기능을 개발한다.
- 기능이 실행되면 다음 잔을 마신다.
- 위와 같은 작업을 계속 왔다갔다 수행한다.
- 필요에 따라서 치킨과 같은 안주로 허용된다.
- 예를 들어, 생년월일(input)을 입력받으면 현재 나이(output)를 출력하는 프로그램
추상적인 레벨에서 TDD의 핵심 개념
- 개발과 맥주 사이의 갭에 대한 인식, 더 나아가 취한채로 개발하는 것에 대한 테크닉이라 할 수 있다.
BDD의 효과
BDD를 왜 해야할까
프레자일(Fragile) 이란 깨지기 쉬운으로 각종 버그로 개발자의 멘탈이 깨지기 쉽다는 뜻이다.
- 피드백
- 약간 취한 상태로 권위에 대항하여 직언을 날릴 수 있는 용기를 얻게된다.
(extreme programming 에서 중요한 "용기"이다)
- 약간 취한 상태로 권위에 대항하여 직언을 날릴 수 있는 용기를 얻게된다.
- 협력
- 팀원간의 어색할 틈도 없이 다들 친구가 될 수 있다.
- 좋은 맥주와 좋은 개발자가 모이면 그날밤은 해커톤이 될 수 있다.
- 왜 BDD가 협력을 증진시킬까
- 내가 짠 코드도 다음날 잘 모른다.
- 남이 짠 코드도 이해가 안될 것이다.
- 사실 헛소리다.
- 여기까지 읽었으면 대단한 집중력이다.
BDD의 장단점
- 장점
- BDD를 하면 개발 시간이 늘어난다.
(BDD를 하지 않을 떄보다 90~100% 늘어난다.) - BDD를 하면 안된다.
(개발은 맑고 깨끗한 정신으로) - BDD를 요리사가 될 수 있다.
(내가 오늘은 스파게티코드 요리사!)
- BDD를 하면 개발 시간이 늘어난다.
References
TDD는 중요한 개념이다.
처음에는 재밌었는데 쓰다보니 재미없어졌다.
1절만 해야되는데
시험기간동안 잠깐 재밌었다.
이만 끝
🍺
728x90
'ETC' 카테고리의 다른 글
🎓 졸업과제 - Python3, Pycharm, Homebrew update (0) | 2020.07.16 |
---|---|
WWDC2020 미모지 만들기 (0) | 2020.06.25 |
🎓졸업과제 - 착수 보고서 (2) | 2020.06.03 |
🎓졸업과제 - 착수 보고서 준비와 설계부분 자료조사 (0) | 2020.05.31 |
Notion으로 생산성 높이기 (0) | 2020.05.26 |
댓글