본문 바로가기
세미나

현장에 TDD, 리팩토링 적용하기

by e-pd 2020. 7. 31.

 

NEXT STEP, ATDD 과정 자바지기님 특강(2020.07.31)

 

ATDD(TDD) 개발 문화를 어떻게 만들 것인가?

 

누가 문화를 만들것인가?

 

왜 내가 해야할까?

-> 변화를 만들려면 리더쉽 역량을 발휘해야함 + (사실) 감정 노동.

 

 

인공 지능 시대에 가장 필요한 역량

리더쉽 역량

감정 노동

 

프로그래머가 내가 배운 기술을 전파하면서 리더쉽과 감정 노동의 역량을 늘리는 연습을 한다.

 

 

변화는 어떻게 만들것인가?

현재 개인, 팀의 상황(Context)을 고려

 

 

개인, 팀에 가장 필요한 변화는 무엇인가?

이 변화가 왜 중요한지, 합당한 이유를 바탕으로 공감대 형성이 필요하다.

팀의 상황을 고려한 변화를 만들때 성공 가능성이 높아진다.

 

 

 

변화는 어떻게 만들어 갈 것인가?

 

상황의 인식 

  • 사람은 기본적으로 변화를 싫어함
  • 팀은 더 싫어함
  • 대부분은 변화를 실패한 경험이 있음(팀장은 더 그렇다)

 

 

다른 사람과 공감하는것은 쉽지않다. 

하지만 개발자로서 길을 간다.

 

작은 성공(small success)의 반복.

  • 작은 성공 경험을 통해 성취감과 안정감
  • 신뢰감을 형성
  • 더 큰 변화를 도전할 수 있는 자신감

힘들지만 변화를 만들어가면서 더 많이 성장할 수 있을 것이다.

 

변화를 스스로 이끌어내도록 유도. 너무 많은 것이 아닌 한 가지에 집중해본다.

 

 

회고 -> Practice-> 한가지에 집중 -> 작은성공 -> 반복

 

 

신뢰만들기: 사람들이 감정적으로 결정하기때문에 신뢰형성이 중요.

 

ATDD, TDD 적용하기 

1. 장난감 코드로 연습

2. 내가 맡고 있는 회사 코드에 적용

3. 회사에 전파

 

 

테스트하기 쉬운 코드와 테스트하기 어려운 부분을 분리.

 

대표적으로 테스트하기 어려운 코드

외부 API, DB 테스트 가능한 부분과 테스트하기 어려운 부분을 분리

 

 

테스트하기 어려운 레거시 코드가 있다면 인수테스트를 작성하여

핵심 도메인을 실행 성공하기 위해 테스트를 완성.

테스트는 불안한 만큼만 만든다.

 

테스트 수가 많은것이 중요한게 아니라, CI& CD를 구축하여 

피드백. 나를 위한 작은 성공과 희망을 느낌.

 

 

우리에게 필요한것은 두려움에 도전할 수 있는 용기.