소프트웨어 엔지니어링 생산성 돌아보기
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
책 소개
이 책이 속한 분야
- 국내도서 > 컴퓨터/IT > 컴퓨터공학 > 소프트웨어공학
- 국내도서 > 컴퓨터/IT > 개발방법론 > 개발방법론일반
- 국내도서 > 컴퓨터/IT > 대학교재
- 국내도서 > 대학교재 > 컴퓨터
◈ 이 책의 구성 ◈
이 책은 다섯 가지 주제로 구성된다. 우선, 생산성을 측정할 때 어려운 점을 이야기하면서 시작할 것이다. 다음으로 생산성을 각 구성 요소로 세분화하는 데 초점을 맞춰 이야기를 진행하고, 생산성 요소를 규명하고 생산성에 대한 다른 관점을 부여할 수 있도록 내용을 이어갈 것이다. 생산성은 보통 측정하기 어렵다. 하지만 생산성의 일부 측면을 측정하는 데 집중한 특정 사례 연구도 포함했다. 마지막으로 생산성을 증대하는 데 효과가 있는 지침에 관한 이야기로 책을 끝낼 것이다.
작가정보
저자(글) 케이틀린 샤도우스키
Caitlin Sadowski
캘리포니아 마운틴 뷰(California Mountain View)의 구글(Google)에 근무하는 소프트웨어 엔지니어다. 구글에서 개발자들의 작업 흐름을 판단하고 개선하는 일을 한다. 또한 크롬 메트릭스(Chrome Metrics) 팀의 관리자로서 크롬 개발자들이 데이터를 기반으로 한 결정을 할 수 있도록 돕는다. 이전에는 구글에서 정적 분석을 의미 있게 만들고자 트라이코더(Tricorder) 프로그램 분석 플랫폼을 만들었다. 그와 더불어 공학 생산성 연구 팀(Engineering Productivity Research team)을 꾸려서 개발자들이 어떻게 그들의 시간을 소비하고 어떻게 하면 프로그래머가 효율적일 수 있을지에 대한 실질적인 조언을 했다. 저명한 소프트웨어 엔지니어링 위원회와 프로그래밍 언어 협회(ICSE, ESEC/FSE, OOPSLA, PLDI)의 위원이다. 산타 크루즈(Santa Cruz)에 있는 캘리포니아 대학교(University of California)에서 박사 학위를 받았는데, 그곳에서 프로그래밍 언어와 소프트 엔지니어링, 인간과 컴퓨터의 상호작용에 관한 폭넓은 주제를 연구했다.
Thomas Zimmermann
마이크로소프트 리서치(Microsoft Research)의 수석 연구원이다. 마이크로소프트 연구소에서 데이터를 분석하는 일을 한다. 최근에 마이크로소프트에서 소프트웨어 개발자와 데이터 과학자의 생산성에 관해 연구한다. 이전에 디지털 게임이나 브랜치 구조와 버그 리포트 데이터를 분석했다. 임피리컬 소프트웨어 엔지니어링(Empirical Software Engineering) 저널의 공동 편집자이며 여러 저널(Software Engineering, IEEE Software, Journal of Systems and Software, Journal of Software: Evolution and Process)의 IEEE 트랜잭션(IEEE Transaction)의 편집국 일을 돕는다. 저명한 소프트웨어 엔지니어링 위원회의 회원이며 ACM SIGSOFT의 의장이다. 또한 『Recommendation Systems in Software Engineering』(Springer, 2014)과 『Perspectives on Data Science for Software Engineering』(Morgan Kaufmann, 2016)을 편집했다. 자를란트 대학교(Saarland University)에서 박사학위를 받았고 마이닝 소프트웨어 저장소에 관한 연구를 했다.
작가의 말
독일의 다그스튤(Dagstuhl)에서 있었던 일주일간의 워크숍에서 이 책은 시작됐다. 세미나는 두 가지 이유에서 개최됐다. 하나는 1980년대와 1990년대 이후로 많은 것이 변했다는 점이고, 또 다른 하나는 현대 소프트웨어 엔지니어의 생산성을 높이려면 무엇이 필요한지 재조명해 봐야 하는 시기였기 때문이다.
그럼 1980년대와 1990년대 이후로 무엇이 변했을까? 오늘날의 소프트웨어 팀과 엔지니어는 전세계적으로 활동한다. 또한 소프트웨어 엔지니어는 국경을 넘고 시간대를 넘어서 협력하며 신속하게 변화하는 소프트웨어 개발 업무를 한다. 종종 엔지니어는 스택 오버플로(Stack Overflow)와 깃허브(GitHub) 같은 소셜 코딩 도구를 사용하기도 하고 노트북이나 개인용 전자기기에서 작업을 하기도 한다. 오늘날의 소프트웨어 엔지니어는 전례 없는 복잡한 작업을 하고 클라우드 안에서 큰 시스템을 구축하기도 한다. 또한 단일 저장소에 수백만 줄(가끔 몇십억 개)의 코드를 저장할 수 있고, 하루에도 몇십 번씩 소프트웨어를 배포할 수 있다. 이들은 웹 검색이나 블로그, 질의 사이트나 소셜 네트워킹 사이트 등과 같은 대화 채널을 평균 11.7개가량 사용한다. 1984년에는 소프트웨어 엔지니어는 직접 만나거나 전화 통화를 통해 대화해야 했다. 사람과 컴퓨터의 상호작용(HCI, Human-Computer Interaction), 컴퓨터 보조 공동 작업(CSCW, Computer-Supported Cooperative Work) 커뮤니티가 지식 노동자의 생산성을 높이는 데 엄청난 기여를 했고 이는 소프트웨어 엔지니어에게도 적용할 수 있었다. 더욱이 소프트웨어 개발에 관한 폭넓은 데이터를 사용할 수 있게 돼 소프트웨어 생산성의 정교한 분석도 가능해졌다.
시작이 된 세미나의 목표는 소프트웨어 개발에 있어서 생산성 이슈를 재고하고 토론해 소프트웨어 개발자의 생산성을 측정하는 방법과 생산성을 증진하기 위한 방법을 알아내는 것이었다. 세미나에서 이뤄진 토론은 다음 질문에 중점을 뒀다.
● 생산성이 개인과 팀, 조직에 어떤 의미일까?
● 생산성의 규모와 요소는 무엇인가?
● 생산성을 측정하는 목적과 의미는 무엇인가?
● 생산성을 연구하는 데 있어 가장 큰 도전 과제는 무엇인가?
이 책은 현대 소프트웨어 개발에서 생산성이 의미하는 바가 무엇인지 탐구할 것이다. 각 장은 다그스튤 세미나에 참여했던 사람과 그 외 수많은 전문가가 집필했다. 우리의 목적은 소프트웨어 생산성에 대한 전문가의 이해, 경험, 지혜를 요약하고 이를 알리는 것이다.
◈ 옮긴이의 말 ◈
소프트웨어 엔지니어링 생산성에 관한 이런저런 멋진 말 대신, 역자로서 구매했거나 구매를 망설이고 있는 여러분께 이 책의 특성과 차별점을 간단히 소개하고 싶다.
이 책의 내용은 딱딱하지 않다!
처음에 이 책의 번역을 맡았을 때, 책의 구성을 보고 세미나에서 발표한 연구들의 모음집일 것이라 생각했고, 다소 지루한 내용이 가득할 것이라 생각했다. 하지만 번역을 하면 할수록 이러한 생각은 180도 바뀌었다. 몇 가지 예를 들자면, 1장 ‘생산성이 10배 이상이라고 알려진 전설의 프로그래머’는 이해를 돕기 위해 대화 형식으로 구성돼 있으며, 대화 속의 주인공들은 반론에 반론을 거치며 소프트웨어 생산성이란 무엇인지에 관해 깊은 성찰을 할 수 있도록 돕는다. 2장에서는 생산성 측정에 관한 내용을 다루며, 구글에서의 사례를 통해 글로벌 선두업체에서 실제 생산성 측정을 어떤 식으로 진행했는지 소개한다. 세미나에서 소개된 연구 모음집이긴 하지만, 실제 각 연구의 내용은 이해를 돕기 위한 참신한 구성과 실전 사례를 통해 독자들의 흥미를 자극한다.
다양한 관점에서 살펴볼 수 있다!
한 명의 저자가 소프트웨어 엔지니어링의 역사와 정의부터 사례, 전략을 저술한 것이 아니라, 여러 다양한 기관의 다양한 전문가의 연구를 살펴볼 수 있기 때문에 소프트웨어 엔지니어링의 생산성을 다양한 시각에서 볼 수 있다.
내용이 쉽다!
소프트웨어 엔지니어링에 대한 전문 지식이 없는 독자들도 쉽게 접할 수 있도록 구성됐다. 소프트웨어 엔지니어링 전문가가 아니더라도 소프트웨어 개발과 연관이 있는 사람이라면 누구나 쉽게 이해할 수 있다. 일반적인 소프트웨어 엔지니어링 혹은 소프트웨어 아키텍처 책은 소프트웨어 개발 방법론을 심도 있게 소개하거나 소프트웨어 아키텍처의 품질 속성을 자세하게 다루지만, 이 책은 소프트웨어 개발과 직간접적으로 연관된 사람이라면 에세이 읽듯이 쉽게 살펴볼 수 있다.
소프트웨어 생산성이 무엇인지 스스로 돌아보게 된다!
이 점이 가장 중요한 부분이다. 이 책은 생산성 측정에 관한 오해를 풀어주는 것을 시작으로 소프트웨어 생산성이 무엇인지, 어떤 요인들이 생산성에 영향을 주는지, 실전에서의 생산성 측정 사례를 소개하고, 마지막에 생산성 모범 사례로 마무리한다. 이
목차
- 1장. 생산성이 10배 이상이라고 알려진 전설의 프로그래머
__작업 시간 변동성 데이터
__동질성 유지하기
__작업 시간 표의 실제 의미 파악하기
__한 가지 프로그래밍 언어만 고집하지 않은 경우
__기준 집단에 대한 의문
__이것은 개발 노력에 관한 것만은 아니다
__속도가 느린 프로그래머들이 더 신중할까?
__부차적인 요소가 중요할 수 있다
__생산성의 정의에 관한 재논의
__실제 사람들은 어떻게 일을 할까?
__그래서 어떻게 해야 하나?
__핵심
__참고 문헌
2장. 한 가지 지표로는 생산성을 측정할 수 없다
__각 프로그래머의 생산성을 측정하는 것은 과연 무엇이 잘못됐는가?
__왜 사람들은 개발자의 생산성을 측정하고 싶어할까?
__한 가지 생산성 지표만 사용하는 것이 왜 잘못될 수밖에 없을까?
____생산성은 넓은 범위의 개념이다
____한 가지 지표로 단순화하거나 한 가지 측면의 구성 요소들을 조합하는 것은 어렵다
____교란 변수들
__대신 구글에서 무엇을 했나?
__핵심
__참고 문헌
3장. 생산성을 측정해서는 안 되는 이유
__의도치 않은 결과
__생산성에 관한 설명
__변화에 대응하기
__측정자 역할을 하는 관리자
__핵심
4장. 소프트웨어 엔지니어링에서 생산성 정의하기
__소프트웨어 생산성의 짧은 역사
__일반 문헌 용어
____생산성
____수익성
____성과
____효율성과 효과성
____품질의 영향
__소프트웨어 생산성에 대한 통합된 정의
__요약
__핵심
__감사의 말
__참고 문헌
5장. 소프트웨어 개발 생산성 프레임워크
__소프트웨어 개발의 생산성 측면
____속도
____품질
____만족도
__렌즈
__생산성 프레임워크 시작! 목표, 질문, 지표를 구체화하기
____첫 번째 예: 개입을 통한 생산성 개선
____두 번째 예: 미팅이 어떤 식으로 생산성에 영향을 미치는지 이해하기
__주의 사항
__핵심
__참고 문헌
6장. 개인, 팀, 조직, 시장: 생산성의 네 가지 렌즈
__개인
__팀
__조직
__시장
__전 영역에 걸친 생산성
__핵심
__참고 문헌
7장. 지식 노동의 관점에서 바라본 소프트웨어 생산성
__지식 노동의 간단한 역사
__생산성을 측정하기 위한 기법
____결과 중심 측정 기법
____프로세스 중심 측정 기법
____사람 중심 측정 기법
____다중 요소 기반 측정 기법
__생산성에 영향을 주는 요인
__소프트웨어 개발자 vs 지식 노동자: 비슷한가 또는 다른가?
__요약
__핵심
__참고 문헌
8장. 생산성에 영향을 주는 요인: 체크리스트
__소개
__생산성 요인 연구의 간단한 역사
__기술적인 요인 목록
____제품 요인
____프로세스 요인
____개발 환경
__소프트 요인 목록
____회사 문화
____팀 문화
____개인의 기술과 경험
____업무 환경
____프로젝트
____요약
____핵심
____감사의 말
____부록: 문헌 조사 방식
____참고 문헌
9장. 개입이 어떤 식으로 생산성에 영향을 미치는가?
__소개
__통제 실험
____실험의 목적은 무엇인가?
____전형적인 개입 실험
____개입으로 인해 지장이 초래되는 정도를 어떻게 측정할까?
____개입은 실수를 초래한다
____실제 환경에 적용해 보기
____요약 - 통제 실험
__인지 모델
____인지 모델은 무엇인가?
____인지 모델이 개입이 생산성에 미치는 영향에 관해 무엇을 예측할 수 있는가?
____요약: 인지 모델
__관찰 연구
____일터에서의 관측 연구
____개입의 장점과 단점
____스트레스, 개인 간 차이, 개입
____생산성
____개입을 처리하기 위한 전략
____요약: 관찰 연구
__주요 시사점
__핵심
__감사의 글
__참고 문헌
10장. 소프트웨어 엔지니어의 행복과 생산성
__업계가 개발자들의 행복을 중시해야 하는 이유
__행복이란 무엇이며 어떻게 측정할 수 있을까?
__행복하고 생산적인 개발자들의 과학자 근거
____개발자들은 얼마나 행복한가?
____무엇이 개발자를 불행하게 만드는가?
____개발자가 행복하거나 불행할 때 무슨 일이 일어나는가?
____행복한 개발자가 더 생산성이 높은가?
__행복이 다른 결과물에 미치는 잠재적인 영향
__미래엔 어떻게 될까?
__추가 참고 목록
__핵심
__참고문헌
11장. 애자일의 어두운 면: 사람을 인간이 아닌 자산으로 인식
__애자일 선언문 재논의
__글로벌 아웃소싱 환경에서의 애자일
__생산성을 높이기 위한 업무 추적
__생산성을 모니터링하기 위한 일일 스탠드업 미팅
__스트레스 가득한 업무 환경
__생산성 비용
__소프트웨어 엔지니어링의 생산성에 관한 미결 문제들
__핵심
__감사의 글
__참고문헌
12장. 생산성에 관한 개발자의 인식 차이
__생산성 정량화 - 측정 vs 인식
__소프트웨어 개발자의 생산성 인식 연구
__작업 전환 비용
__개발자에게 생산적인 하루는 어떤 모습일까?
__개발자마다 생산성을 정량화하기 위한 다른 측정치를 기대한다
__생산성에 대한 인식을 기준으로 소프트웨어 개발자의 특성 구분하기
__개발자 생산성을 향상하기 위한 기회
__핵심
__참고 문헌
13장. 인간 중심으로 생산성을 높이기 위한 방법
__핵심
__참고 문헌
14장. 바이오메트릭 센서를 사용한 생산성 측정
__측정을 위한 생산성 정의
__눈으로부터 집중에 관해 알 수 있는 것
__뇌전도를 활용한 주의 관찰
__반추에 빠진 정도 측정하기
__시사점
__핵심
__참고 문헌
15장. 팀 활동 전반에 대한 파악이 개발자 생산성에 관한 인식에 영향을 미치는 방식
__소개
__파악과 생산성
__협업 소프트웨어 개발을 위한 파악 기능
__파악 정보를 숫자로 종합하기
__파악 정보를 텍스트 형태로 종합하기
__생산성과 팀 활동에 대한 파악에 관한 재검토
__핵심
__참고 문헌
16장. 소프트웨어 엔지니어링 대시보드: 유형, 위험, 미래
__소개
__소프트웨어 엔지니어링의 대시보드
____개발자 활동
____팀 성과
____프로젝트 모니터링과 성과
____커뮤니티 상태
____요약
__대시보드 사용의 위험성
__소프트웨어 엔지니어링 관점에서 본 대시보드
__핵심
__참고 문헌
17장. 생산성의 업무-출력 구성 요소를 측정하기 위한 COSMIC 방법
__기능적 크기의 측정
__COSMIC 방법
__COSMIC 모델에 관한 논의
__COSMIC 크기와 개발 노력 간의 상관관계
__자동화된 COSMIC 크기 측정
__결론
__핵심
__참고 문헌
18장. 벤치마크: 사과와 사과 비교하기
__소개
__표준 사용
____기능적 크기 측정
__벤치마크 목적
__벤치마크 표준 방법
__정규화
__벤치마크 데이터 공급원
____ISBSG 리포지터리
____내부 벤치마크 데이터 리포지터리
____벤치마크 활용 예
__잘못된 동기 부여
__요약
__핵심
__참고 문헌
19장. 생산성을 높이기 위한 소프트웨어 개발 낭비 제거
__소개
__소프트웨어 개발 낭비 분류 체계
____잘못된 기능 또는 제품 만들기
____잘못된 백로그 관리
____재작업
____과도하게 복잡한 해결책
____불필요한 인지 부하
____심리적 괴로움
____지식 손실
____대기/멀티태스킹
____효과적이지 못한 의사소통
____애자일 등장 이전 개발 방법론을 사용한 프로젝트에서 발생하는 추가적인 낭비
__논의
____모든 문제가 낭비인 것은 아니다
____낭비 줄이기
__결론
__핵심
__참고 문헌
20장. 조직 성숙도: 생산성에 영향을 주는 코끼리
__배경 지식
__프로세스 성숙도 프레임워크
__생산성과 품질에 대한 성숙도의 영향
__애자일 개발 및 운영 환경에 맞게 성숙도 실천법 수정하기
__요약
__핵심
__참고 문헌
21장. 짝 프로그래밍이 효과적인가?
__소개 - 매우 생산적인 프로그래밍
__짝 프로그래밍 연구
__지식 업무로서 소프트웨어 개발
__산업 현장에서 짝 프로그래밍 시 실제 중요한 점들은 무엇일까?
____짝 유형 A: 시스템 지식 우위
____짝 유형 B: 집단 시스템 지식 격차
____쌍 유형 C: 상호 보완적인 지식
__다시 한번 짝 프로그래밍은 효과적인가?
__핵심
__참고문헌
22장. 직장에서 자가 모니터링을 위한 개발자의 핏빗 사용
__우리의 삶을 정량화하기 위한 자가 모니터링
__소프트웨어 개발자 업무 자가 모니터링
__개인화를 통한 다양한 개별적인 요구 사항 지원하기
__효율성에 대한 개발자의 인식을 높이는 자가 보고
__개발자의 자기 인식을 높이는 업무에 대한 회고
__생산적인 행동 변화를 이끄는 조치 가능한 깨달음
__팀 인식을 높이고 개인정보 보호 문제를 해결하기
__직장에서의 지속 가능한 행동 유도
__핵심
__참고 문헌
23장. FlowLight를 이용해 업무 개입 줄이기
__업무 개입으로 인한 손실 비용
__플로라이트: 언제 개입해도 될지 알려 주는 등
__플로라이트 평가 및 유용성
__플로라이트의 핵심 성공 요인
____사용자에 대한 관심
____단순성 중시
____개인정보 보호에 대한 관심
____정확도가 아닌 가치에 집중
____사용자들의 의도치 않은 활용 방식
__요약
____플로라이트 설치
__핵심
__참고 문헌
24장. 정보 흐름을 개선을 통한 생산적인 소프트웨어 개발
__마이린: 개인 소프트웨어 개발자를 위한 정보 흐름 개선
__태스크톱 싱크: 개발 팀을 위한 정보 흐름 개선
__태스크톱 인티그레이션 허브: 소프트웨어 개발 조직을 위한 정보 흐름 개선
__깨달은 점
__핵심
__참고 문헌
25장. 생산성을 위한 잠재적인 툴 역할을 하는 마음챙김
__마음챙김 정의
__생산성을 위한 마음챙김
__마음챙김의 인지적 장점
__마음챙김과 감정적 지능
__마음챙김의 함정
__마음챙김 휴식
__결론
__핵심
__참고 문헌
기본정보
ISBN | 9791161757278 | ||
---|---|---|---|
발행(출시)일자 | 2023년 02월 28일 | ||
쪽수 | 372쪽 | ||
크기 |
189 * 237
* 27
mm
/ 971 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | Rethinking Productivity in Software Engineering/Caitlin Sadowski, Thomas Zimmermann |
Klover 리뷰 (1)
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (1)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
생산성이라는 평가 기준을 제시해 줘서 좋습니다.