사용자 삽입 이미지사용자 삽입 이미지

애자일(Agile), 익스트림 프로그래밍, 실용주의. 개발자 사이에서 최근에 많이 들리는 단어들이다. 호기심이 생겼다. 저 단어들은 무엇을 의미하는 것일까?? 이렇게 해서 읽게된 책이 "애자일 프랙티스"이다. 처음에는 새로운 프로그래밍 언어인 줄 알았다. 읽어보니 "소프트웨어 공학"에 대한 책이었다.

"기존의 프로그래밍 방법들"을 예를 들면서 '이런 경우에는 이렇게 하는것이 더 실용적이다' 라는  "실용주의 프로그래머로써의 개발 방법론"에 대한 Tip을 몇십가지 제시한다.

'애자일 프랙티스'를 읽은 후 애자일에 대해 더 유명한 책이 존재하는 것을 알게됬다. 바로 애자일 컨설팅회사의 대표 김창준님이 번역하신 "실용주의 프로그래머"라는 책이다. "실용주의 프로그래머"라는 책은 번역이 굉장히 깔끔하게 되어있으며 읽기좋고 재미있다.

둘 다 실용주의에 대해 논한 책이지만 제안하는 Tip들은 조금씩 다르다. 그래도 애자일에 관심을 갖고 한번 책을 읽어보고 싶은 사람들에게는 먼저 "실용주의 프로그래머"를 추천해 주고 그 이후에 "애자일 프랙티스"를 추천해 주고 싶다.

두 책에서는 각각 몇십가지의 Tip을 제시하지만 그것을 다 외우고 무작정 실천하기 보다는 자신이 부족하다고 느끼는 점 2~5개를 깨닫고 그것들부터 실천하기를 추천하고있다.

이 책들을 읽은 후 부터 적어도 내 행동의 몇가지들을 개선할 수 있었다.
1. '모듈단위로 나눠서 기능단위로 코딩'하던 것을  '모듈단위로 나눠서 모듈단위로 코딩'하는 습관으로 나눌 수 있었다.

2. 모듈별로 프로그래밍을 한 후에는 다른 모듈을 구현하기 전에 단언문(Assert)나 JUnit을 사용하여 단위 테스트를 진행하였다.

3. 자동화 빌드도구 'ANT'단위테스트 도구 'JUNIT'에 대해 관심을 갖을 수 있었다. 기존에는 저것들이 편리하기는 하지만 궂이 써야하나.. 라는 생각을 많이했었다. 하지만 'DRY 법칙' 'Dont Repeat Yourself' 불필요한 반복된 작업을 반복하지 않는 것은 실용주의 프로그래머의 기본이다. 불필요하게 수동으로 할 일들을 자동화 하고 꾸준히 테스트를 수행해 나간다면 보다 생산성이 향상되고 오류가 적은 코드를 생산해 낼 수 있을 것이다.

4. '제한시간에 프로그래밍을 하는데 중점'을 두는 것에서 '고객 중심의 프로그래밍'을 해야겠다고 마음가짐을 바꿨다. 성공한 프로젝트란 무엇일까? 제한시간안에 완성한 프로젝트 일까?? 아니다. 결과에 대해서 고객이 만족하고 개발자가 만족할 수 있는 프로젝트가 진짜 성공한 프로젝트이다.

5. 기존에는 코드에 최대한 많은 주석을 달기위해 노력했었는데 이제는 코드에 종속적인 주석은 달지 않고 추상적이고 개념적인 주석만 작성하게 되었다. "코드로 대화해라" 이렇게 하기 위해서는 변수를 최대한 읽기 좋게 full name으로 작성해야 한다. 이로 인해 후에 코드가 수정되어도 주석을 수정하는 불필요한 반복된 작업을 되풀이할 일이 없어진다.


« PREV : 1 : ... 58 : 59 : 60 : 61 : 62 : 63 : 64 : 65 : 66 : ... 248 : NEXT »