하드코드(Hard code)
Publish date: 2010-08-25Tags: 방법론 조직관리
인상깊은 내용
36쪽
번다운 차트 사용
38쪽
또 다른 위험은 ‘자원 안배를 잘 못해서 잃어버리는 시간'이다. 어려운 문제인 줄 정작알았더라면 개발자를 두세 명 더 투입하거나 선임 개발자를 붙였을 게다. 팀원들이 프로젝트 위험을 줄이려고 노력하기보다 기능 날짜를 맞추는데만 급급하다면 프로젝트는 그만큼 소중한 시간을 잃는다.
40쪽
기존공학이 수백 아니 수천 년에 걸쳐 쌓아온 경험적 예측성을 소프트웨어 공학에서 기대해서는 안된다.
42쪽
기능 완료일을 맞추라고 팀을 닦달하면 팀은 편법으로날짜를 맞추거나 거짓말을 둘러댄다.
43쪽
‘자기주도적인 팀이 명확히 정의된 공동 목표를 향해 나간다.‘는 개념은 많은 애자일 기법에 감긴 중심 사상이다.
59쪽
다음은 우리의 자랑스러운 거짓말 4형제다. 완료라는 단어의 의미를 악용한다. 팀원이 가혹한 평무 평가를 받아도 모른체 넘어간다. 클라이언트와 상사에게 보내는 경과 보고서를 그럴듯하게 꾸민다. 조직 개편에 관한 소문을 부인한다.
61쪽
팀원평가에 대한 자신의 역할을 과소평가하는 거짓말
69쪽
Six sigma관련: 아무래도 높은 분들이 두뇌와 지식과 경험을 집에 두고 출근하는 모양이다.
72쪽
마이크로소프트에서 6시그마는 별다른 효력을 발휘하지 못하고 사라졌지만, 급박한 상황에서 조언을 해 줄 코치와 그룹을 둔다는 개념 자체는 자리를 잡았다
81쪽
(불필요한 공정)해결책은 테스트 주도개발 방법론이다…부수적인 효과로 TDD는 코드 커버리지가 100%인 단위 테스트를 내놓는다.
API가 먼저냐, 단위테스트가 먼저냐.
코드 응집도는 높아지고, 결합도는 낮아지며, 중복성은 줄어든다.
###83쪽
‘구현단계서는 TDD를 적용해 낭비를 없앤다.’
94쪽
마이크로소프트에서 애자일은 진짜 풀뿌리 운동으로 자리 잡았다. 현재 현재 회사 전반에서 개인과 작은팀이 참여해 이끌고 있다.
96쪽
마이크로소프트웨어에서는 스크럼과 유사한 기법을 10여년전부터, 그러니까 용어가 생기기 훨씬전부터 사용해 왔다. 스크럼은 가장 단순한 애자일 기법 중 하나며, 많은 아이므로 소프트 팀이 이미 사용하는 방식과 가장 유사하다.
139쪽
마이크로소프트는 점차 블랙박스 테스트를 화이트 박스 테스트로 교체하는 중이다.
169쪽
제품을 출시하기 전에 수행하는 단위테스트의 양과 자동화된 테스트 양은 극적으로 증가했다. 코드 검토와 코드 분석을 수행하는 횟수도 크게 늘었다.
174쪽
테스터는 개발자가 최선을 다해도 놓치는 문제를 잡아내 고객을 보호하는 사람이다.
단위테스트 : 테스트는 우수한 코드를 뛰어난 코드로, 겨우 동작한느 코드를 탄탄한 코드로 개선하는 열쇠다.
179쪽
소프트웨어 개발은 창의력이 필요하며 예측이 불가능한 공정이다
180쪽
소프트웨어를 예측하려고 애쓰지 말고, 소프트웨어를 만드는 사람을 예측하면 된다. 소프트웨어 개발에서 상수는 소프트웨어가 아니라 개발자다.
182쪽
관리자가 자료를 비교하기 시작하면 팀원들이 측정값을 속인다….비록 자료를 공유하거나 비교하지는 못하지만 팀 전체적으로 합산은 가능하다.
230쪽
독립성을 제공할 정도로만 하향식 설계를 수행하고 협력과 품질을 최적화할 정도로만 상향식 설계를 수행해 양쪽 세상에서 장점만 취하라
231쪽
내가 알고 존경하는 엔지니어 대사수는 야망이 별로 크지 않다. 자기 아이디어를 실현하고 세상에 기여할 기회만 주어진다면 직함이나 인기에 연연하지 않는다.
236쪽
회사를 사랑하고, 자기 업무를 사랑하고, 우리 고객을 사랑하는 사람들에게 지도자 역할을 강요하는 대신 그들을 이해하고 감사하는 분위기가 필요하다.
.. 장인개발자 개념은 자리잡은지 몇 년 되지 않았다. 이제는 우수한 선임 엔지니어가 더 높은 직위를 마다해도 주변에서 그다지 이상하게 여기지 않는다.
340쪽
팀 단결력을 높이려면 팀원들이 서로 경쟁하지 않도록 막아야 한다.
387쪽
comments powered by DisqusQC와 QA의 차이.품질관리(Quality Control)와 품질보증(Quality Assurance)은 흔이 같은 뜻으로 뜻이지만 엄밀히 다른 뜻이다. 품질관리는 제품이나 서비스가 품질 요구사항을 만족하는지 확인하는 작업을 뜻한다. 품질 보증은 제품이나 서비스가 품질 요구사항을 만족하도록 개발 공정이나 유지보수 공정을 바로 세우는 작업을 뜻한다.