간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 5만원 이상 결제시, 5/1~5/31 기간 중 1회)
우리카드 3천원/7천원/1만 5천원 즉시할인
3만원/5만원/10만원 이상 결제시
삼성카드 6% (15,230원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (15,390원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (11,340원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (12,960원)
(최대할인 4만원 / 2만원 이상 결제)
Close

NHN은 이렇게 한다! 소프트웨어 품질관리

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 244
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

18,000원

  • 16,200 (10%할인)

    900P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 북카트 담기
  • 바로구매
  • 매장픽업
  • 이벤트/기획전

  • 연관도서(7)

  • 사은품(3)

출판사 서평

소프트웨어 품질이란 무엇인가? 오류 없는 소프트웨어를 만들려면 비용이 많이 드는가? 끊임없이 변하는 기획서를 어떻게 하면 효율적으로 관리할 수 있는가? 생산성은 측정하지 못하면 개선하지 못하는가?

이런 질문에 대해 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 포털개발센터장

목차

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 단계에서의 품질에 대한 정의와 이를 개선하기 위한 노력, 사용 도구, 그리고 지속적으로 개선하고 발전해 나가는 문화를 만드는 방법이 고스란히 담겨 있다.


필요한 사전 지식은?

기술의 자세한 내용 소개보다는 적용 목적과 결과에 대한 설명 위주로 구성했기 때문에 소프트웨어 개발분야 종사자라면 별도의 사전 지식 없이 편하게 읽을 수 있다. 학생들은 소프트웨어 공학에 대한 사전 지식이 있다면 전체적인 흐름을 이해하는 데 도움이 되겠지만 없다고 해도 문제될 것은 없다. 각자 수행하고 있는 프로젝트에 일부분 적용하면서 책을 읽다 보면 보다 효과적인 방안을 찾을 수도 있을 것이다.
(/ 본문 중에서)

관련이미지

저자소개

생년월일 -
출생지 -
출간도서 0종
판매수 0권

한때는 개발자의 끝은 통닭집이 아님을 보여주겠다며 의기양양하게 살았고 지금은 "그 돈이나 모을 수 있으려나?" 걱정하며 살고 있다. 하지만 대기업, 벤처, SI, 포털 서비스를 거치며 "소프트웨어 개발은 정말 재밌다"는 사실에 늘 감동하고 있다. 소프트웨어마에스트로 멘토로 활동 중이며 그간의 실패담을 공유하여 다른 분의 성공 가능성을 높이는 일에 흥미를 느끼고 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

생산성혁신팀에서 품질 기획.
덕성여자대학교 통계학과를 졸업하고, 쌍용정보통신, 팬택&큐리텔에서 소프트웨어 개발방법론, 소프트웨어 프로세스 개선 및 품질관리 업무를 담당했으며, 현재는 NHN 생산성혁신팀에 소속되어 소프트웨어 엔지니어링, 품질 기획 및 정량적 품질 관리와 관련된 업무를 담당하고 있다. 주요 관심 분야는 프로세스 개선과 애자일 개발 방법론을 적용하는 것이다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

생산성혁신팀에서 Klocwork 사용 지원 및 품질 기획.
쌍용정보통신에서 7년간 국방프로젝트의 품질/형상관리를 담당하면서 테스트와 감사(Audit)프로세스의 개선을 통해 프로젝트 후반의 위험 요소를 제거하는 업무를 담당했다. 최근에는 자동화 도구를 사용해서 구현 단계의 가시성을 확보함으로써 참여자로 하여금 신속한 의사결정을 이끌어 낼 수 있는 프로세스 개선과 개발 환경 구축에 관심을 기울이고 있다. 현재는 NHN에서 프로세스 개선 및 정적 분석 도구인 klocwork 운영을 담당하고 있다.

이 상품의 시리즈

(총 15권 / 현재구매 가능도서 8권)

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    10.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용