해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자 유석문은 지도지역서비스개발랩 랩장. 광주과학기술원 기전공학과를 졸업하였으며 LG 전자 우면연구소, 인텔리코리아, 핸디소프트에서 소프트웨어 개발자로 근무하였다. 현재 NHN에서 지도 서비스 개발을 담당하고 있으며 오픈소스 NTAF 개발에 참여하였다. 소프트웨어 품질 향상에 대하여 공부하고 공유하는 것을 즐기고 있다.
저자(글) 이세현
저자 이세현은 생산성혁신팀에서 품질 기획. 덕성여자대학교 통계학과를 졸업하고, 쌍용정보통신, 팬택&큐리텔에서 소프트웨어 개발방법론, 소프트웨어 프로세스 개선 및 품질관리 업무를 담당했으며, 현재는 NHN 생산성혁신팀에 소속되어 소프트웨어 엔지니어링, 품질 기획 및 정량적 품질 관리와 관련된 업무를 담당하고 있다. 주요 관심 분야는 프로세스 개선과 애자일 개발 방법론을 적용하는 것이다.
저자(글) 이상범
저자 이상범은 생산성혁신팀에서 Klocwork 사용 지원 및 품질 기획. 쌍용정보통신에서 7년간 국방프로젝트의 품질/형상관리를 담당하면서 테스트와 감사(Audit)프로세스의 개선을 통해 프로젝트 후반의 위험 요소를 제거하는 업무를 담당했다. 최근에는 자동화 도구를 사용해서 구현 단계의 가시성을 확보함으로써 참여자로 하여금 신속한 의사결정을 이끌어 낼 수 있는 프로세스 개선과 개발 환경 구축에 관심을 기울이고 있다. 현재는 NHN에서 프로세스 개선 및 정적 분석 도구인 klocwork 운영을 담당하고 있다.
저자(글) 김은하
저자 김은하는 생산성혁신팀에서 신규 기술 연구 및 개발. 다양한 분야에서 소프트웨어 개발을 수행했고 현재는 NHN에서 품질 향상을 위한 테스트 자동화와 개발 고도화를 위한 업무를 담당하고 있다. 테스트 자동화 도구인 NTAF을 개발해서 여러 해외 컨퍼런스에서 발표했고, 현재는 오픈소스로 운영하고 있다.
저자(글) 나종채
저자 나종채는 생산성혁신팀에서 NTAF, 오픈소스 테스트 프레임워크 연구 및 개발, QP 지원. 2003년부터 현대, 기아자동차 IT 그룹사인 오토에버시스템즈에서 SI 업무를 수행했으며, 2008년 NHN에 입사해서 QA 업무를 한해 동안 담당했다. 2009년부터는 생산성혁신팀에서 품질 혁신 활동(Quality Practice) 지원 업무와 교육을 진행하고 있으며, 아울러 NHN의 테스트 자동화 프레임워크인 NTAF 개발에도 참여하고 있다. 개발과 테스트 사이에서 발생할 수 있는 개발자/QA/테스터 간의 고민을 함께 풀어 갈 수 있는 다양한 접근을 통해 누구나 손쉽게 질 좋은 소프트웨어를 생산해 낼 수 있는 방법을 연구하고 있다.
목차
- 01장 NHN과 소프트웨어 품질
- 소프트웨어 개발의 특징과 오해
- NHN의 QP 이야기
02장 효과적인 명세 작성
- 바벨탑과 언어의 분열
- 예제를 이용한 명세 작성 기법
- 명세 작성 워크숍
- 자동화 도구 적용
03장 단계적 빌드
- 도입하기까지
- 단계적 빌드 프로세스
- 단계적 빌드에 필요한 것
- CI 서버가 보여주는 프로젝트 운영 패턴
04장 코딩 컨벤션
- 코딩 스타일을 점검하는 도구
- 지속적인 코딩 스타일 검사
- 코딩 컨벤션을 적용하고 나서
05장 코드 리뷰
- 코드 리뷰 수행 방식
- 코드 리뷰를 적용하고 나서
06장 코드 커버리지
- 도입하기까지
- 코드 커버리지를 측정하는 도구
- 지속적인 코드 커버리지 측정
- 코드 커버리지를 적용하고 나서
07장 정적 분석
- 도입하기까지
- 정적 분석을 수행하는 도구
- 지속적인 정적 분석
- 정적 분석을 적용하고 나서
08장 사이클로매틱 복잡도
- 도입하기까지
- CC2 계산 방법과 예제
- 복잡도를 측정하는 도구
- 지속적인 복잡도 측정
- 사이클로매틱 복잡도를 적용하고 나서
09장 중복 코드 분석
- 중복 코드를 분석하는 도구
- 지속적인 중복 코드 분석
10장 QP의 현재와 미래
- QP의 현재
- QP의 미래
- QP를 도입하고 싶다면
11장 NHN 테스트 자동화 프레임워크
- NHN 테스트 자동화 프레임워크 소개
- 모바일에서의 NTAF
- NTAF WebKit
부록
- 앤트 설치와 사용
- 메이븐 설치와 사용
- 허드슨 설치와 설정
- 테스트 코드 작성 팁
- 참고할 만한 사이트 정리
책 속으로
이 책의 목표는 무엇인가?
네이버 용어사전에서 ‘소프트웨어 품질’을 검색하면 다음 결과를 찾을 수 있다.
“① 명세서와의 일치 정도처럼 주어진 요구를 만족시키기 위한 능력에 영향을 미치는 소프트웨어 제품의 모든 특성과 속성들.
② 소프트웨어가 요구되는 속성들의 조합을 갖고 있는지의 정도.
③ 해당 소프트웨어가 기대에 어느 정도 부응하는지의 정도.
④ 현재 사용 중인 소프트웨어가 고객의 기대에 어느 정도 부응하는지의 정도를 결정하는 소프트웨어의 제한 속성.”
위의 설명에서 유추할 수 있듯이 ‘품질’은 소프트웨어 개발 분야에서 가장 어렵고 모호한 주제다. 측정되지도 않고 투자 비용을 늘린다고 쉽게 개선되지도 않을뿐더러 관리하지 못하면 비즈니스를 위험에 처하게 하는 가장 현실적이고 직접적인 위협이다.
이 책은 소프트웨어 개발의 전 과정에서 효과적으로 품질을 측정하고 향상시키기 위한 기술을 담고 있으며 아래의 내용으로 구성되어 있다.
* 소프트웨어 품질의 정의
* 소프트웨어 품질 개선을 위한 조직적 활동
* 소프트웨어 품질 개선을 위한 개인 활동
* 지속적으로 개선하고 발전하는 조직 문화 만들기
* 품질 향상에 도움이 되는 도구와 적용 방법
상기 항목들에 대해 NHN에서 직접 적용하고 겪었던 문제점, 개선 방향, 효과를 제공하고 있다. 이를 기반으로 독자들의 상황에 적합한 활동을 고안하고 적용하도록 돕는 것이 이 책의 목표다.
이 책은 누구를 위한 것인가?
소프트웨어 품질은 개발에 직접, 간접적으로 참여하는 모든 사람들이 관리해야 하는 부분이다. 이 책은 기획, 개발자, QA, 관리자를 위한 내용으로 구성되어 있으며 품질의 위험을 다루기 위한 NHN의 노력과 지향점에 대해 기술하고 있다. 또한 기획, 개발, QA 단계에서의 품질에 대한 정의와 이를 개선하기 위한 노력, 사용 도구, 그리고 지속적으로 개선하고 발전해 나가는 문화를 만드는 방법이 고스란히 담겨 있다.
필요한 사전 지식은?
기술의 자세한 내용 소개보다는 적용 목적과 결과에 대한 설명 위주로 구성했기 때문에 소프트웨어 개발분야 종사자라면 별도의 사전 지식 없이 편하게 읽을 수 있다. 학생들은 소프트웨어 공학에 대한 사전 지식이 있다면 전체적인 흐름을 이해하는 데 도움이 되겠지만 없다고 해도 문제될 것은 없다. 각자 수행하고 있는 프로젝트에 일부분 적용하면서 책을 읽다 보면 보다 효과적인 방안을 찾을 수도 있을 것이다.
출판사 서평
소프트웨어 품질이란 무엇인가? 오류 없는 소프트웨어를 만들려면 비용이 많이 드는가? 끊임없이 변하는 기획서를 어떻게 하면 효율적으로 관리할 수 있는가? 생산성은 측정하지 못하면 개선하지 못하는가?
이런 질문에 대해 NHN에서는 어떤 고민을 하고, 품질을 향상시키려는 어떠한 활동을 했는지 그 경험을 이 책을 통해 함께 공유하고자 한다.
NHN의 품질 혁신 활동(Quality Practice, QP)은 소프트웨어 개발의 특징과 오해에서 비롯되는 각종 문제를 해결하고 품질을 향상시키는 것을 목표로 NHN에서 수행하는 활동의 일환이다. 하지만 이 책에서 설명하는 원칙이나 기법이 소프트웨어 개발의 ‘모든’ 문제를 해결할 수 있는 만능 치료약은 아니다.
여러분이 어디에서 근무하고 있고, 또 어떤 프로젝트를 진행하고 있든 이 책에 소개된 기술이나 방법론만 적용해서는 NHN에서 이룬 성과를 기대할 수 없다. 정의된 프로세스 하나를 모든 소프트웨어 개발에 동일하게 적용할 수는 없기 때문이다.
각 조직별 구성원의 역할과 책임, 개인과 조직의 역량 그리고 제품의 특징이 같을 수 없으므로 우리가 제안하는 프로세스가 정답일 수는 없다. NHN의 품질 혁신 활동도 애자일의 여러 방법론 가운데 NHN에 효과적인 것을 선별하여 개발하고 개선해 나간 것이다.
여기서 설명하는 소프트웨어 개발의 문제점을 참고하여 독자 여러분의 개발 프로세스를 되돌아 보고, NHN의 품질 혁신 활동을 참고한다면 각자의 조직에 걸맞은 품질 개선 방법을 찾는 데 쉽게 한 발을 내디딜 수 있을 것이다.
눈에 보이지 않는 소프트웨어의 품질을 측정한다는 것이 과연 가능한 일일까? 품질을 측정한다면 어떻게, 어느 부분을 측정할까? 활용할 도구는 없을까?
이 책은 이런 고민을 해결하고자 했던 NHN의 경험을 다룬다. 개발자를 꿈꾸는 학생, 프로젝트 관리자와 기획자, 개발자와 테스터, QA 담당자 모두에게 이 책이 도움이 되었으면 하는 바람이다.
이 책에서는 다음과 같은 내용을 다룬다.
* 소프트웨어 개발의 특징과 문제점, 문제점을 해결하기 위한 NHN의 품질 혁신 활동과 적용 과정
* 요구사항 분석 단계에서 사용하는 효과적인 명세 작성 방법을 예제를 통해 설명하고 이를 자동화 도구를 통해 구현하는 과정
* 개발 과정의 가시성을 확보하고 빠른 피드백 환경을 구축하기 위한 단계적 빌드 방법
* 코드의 가독성을 높이고 유지 보수 비용을 낮추기 위한 코딩 컨벤션을 점검하는 도구 소개
* 코드 리뷰를 수행하는 방법과 조직원 간의 지식 공유 방법
* NHN에서 사용하는 코드 커버리지 유형과 요구 사항 변경과 코드 변경에 효과적으로 대응할 수 있는 도구 소개
* 정적 분석 도구를 활용해서 오류를 검출하고 문제가 발생하기 전에 방지하는 방법
* 코드의 복잡도를 측정하는 도구를 소개하고 복잡도를 낮추는 방법
* 중복 코드를 분석하고 제거하는 방법과 도구
* NHN에서 QP를 적용한 결과와 성과, 의의를 정리
* NHN에서 개발한 명세 작성 도구이자 테스트 자동화 도구인 NTAF과 모바일, 웹 UI 테스트에 활용하는 NTAF 도구 소개
* 통합 테스트 서버인 CI 서버를 설치하고 설정해서 개발에 활용하는 방법, 단위 테스트를 하면서 많이 발생하는 문제를 어떻게 해결했는지를 부록에서 소개
[ 추천사 ]
"소프트웨어를 어떻게 만들어야 하나?" 그리고 "소프트웨어를 만드는 사람은 어떻게 다루어야 하나?"라는 화두 혹은 질문이 시스템통합(SI), 패키지 소프트웨어, 포털/검색 소프트웨어, 게임 소프트웨어를 망라한 대다수 소프트웨어 개발업체 개발자 및 관리자들이 매일 던지는 질문일 거라고 생각합니다. 저도 C 프로그래머에서 시작해서 C++, Java, 웹 프로그래밍을 했었고 프로젝트관리자(PM)로서 대규모 소프트웨어를 만들어 고객에게 인도했던 경험이 있습니다. 현재는 많은 소프트웨어 개발자를 관리하는 관리자의 입장에서 위의 두 가지 질문을 항상 던지곤 합니다. 물론 쉬운 답은 없지요. 40여 년 전 프레데릭 브룩스(Frederick Brooks)가 갈파했던 소프트웨어만의 독특한 속성(Essential Problems) 4 가지 중 가변성(Changeability)과 비가시성(Invisibility)이 이러한 어려움의 가장 중요한 원인이라고 생각합니다.
현재 소프트웨어 업계가 아직도 정확한 답을 찾지 못하는 많은 부분이 있습니다. "요구사항을 어떻게 끌어내야 하나?", "요구사항은 어느 정도까지 구조화하면 되나?", "디자인은 어디까지 하면 되나?", "데이터베이스 설계는 언제, 어디까지 해야 하나?", "공수 추정은 어떻게 하나?", "최종 성능은 언제부터 어떻게 준비해야 하나?", "구현단계의 가시성은 어떻게 확보하나?", "어디까지 테스트 해야 하나?", "언제 고객에게 인도할 정도의 품질을 달성했다고 확신할 수 있나?" 등의 많은 질문에 대해 아직도 정확한 답을 주지 못하고 있지만, 그나마 그중에서 '구현단계에서의 가시성 확보'에 있어서는 지난 10년간 많은 진전이 있었습니다.
저는 위의 두 가지 질문에 대해, 구현단계에서의 가시성 확보 및 빠른 피드백을 얻을 수 있는 여러 가지 실행지침(Practice)이 어느 정도 해결책이 될 수 있다고 생각합니다. NHN에서는 이러한 실행지침을 체계화하고 내재화하기 위해 다양한 Change Initiative를 실행했는데, 지속적통합(Continuous Integration, CI), 퀄리티 프랙티스(Quality Practice, QP), 반복점진적 개발방법(Iterative & Incremental Development) 등이 그것입니다. 이들을 조직에 맞게 꾸준히 변화시키면서 운용해 보았습니다. 이러한 변화를 드라이브하면서 많은 시행착오도 겪었고, 이런 저런 장애물을 만나기도 했습니다. 이에 대한 다년간의 경험이 이렇게 책으로 묶여 나오게 되니 약간은 흥분되기도 하고 감격스럽기도 합니다.
우리가 건강을 유지하기 위해서는 유산소 운동도 하고, 중량운동도 해야 하고, 또 유연운동도 골고루 해야 균형 잡힌 건강을 유지할 수 있겠지요. NHN에서 실행한 실행지침이 한 가지가 아니고 다양한 이유가 그렇습니다. 한 가지만의 실행지침으로 좋은 소프트웨어를 만들 수 있다면 좋겠지만 그런 요술방망이(Silver Bullet)는 없습니다. 건강하다고 해서 운동을 하지 않아도 될만한 사람이 없듯, NHN에서도 계속해서 좋은 소프트웨어 개발 운동을 할 것입니다.
소프트웨어 개발자, 관리자 분들이 이 책을 읽은 후 자신의 환경 및 조직에 맞게 이런 저런 운동방법을 잘 조정해서 적용하시면 건강한 소프트웨어를 만드는 데 많은 도움이 될 것이라 확신하며 '과감하게' 이 책을 추천합니다.
- 김정민, (주)NHN 포털개발센터장
기본정보
ISBN | 9788992939607 | ||
---|---|---|---|
발행(출시)일자 | 2010년 08월 27일 | ||
쪽수 | 296쪽 | ||
크기 |
173 * 235
* 20
mm
/ 668 g
|
||
총권수 | 1권 | ||
시리즈명 |
Tech@NHN
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립