2. Why Code Craft ?
공학으로 SW를 설명하기에는 난처한 점들이 많다
• 공학의 특징은 ( 재현가능, 반복 가능 ) 하다는 점이다.
• 그 방법, 그 프로세스대로 하면 동일한 결과가 나와야 한다.
• 그런데 SW는 실제 그렇게 안 된다.
• 즉, 공학으로 설명 안 되는 중요한 요인이 있다
Jintae Kim page 2
3. Why Code Craft ?
• SW는 자동차와 같은 그런 종류의 자본 상품이 아니다
• SW는 차의 디자인에 상응하는 어떤 것이다
• 기계적인 세계에서는, 무엇인가를 디자인한다는 것과, 그
디자인에 의거하여 상품을 생산한다는 것은, 서로 구분된
두 개의 활동이다
• SW도 유사하다. 전자의 경우 지적인 작업이라고 하고
후자의 경우 사무적인 작업으로 비교할 수 있다
Jintae Kim page 3
4. Why Code Craft ?
• SW 개발은 반복적이고 재현 가능한 경우가 별로 없다
• SW 개발은 매우 ( 지적인 )작업들이기 때문이다
• SW 개발은 혼자만의 지적인 작업이 아니다
• 수 많은 커뮤니케이션을 필요로 하는 협력적이고 ( 사회적 )인
작업이다
Jintae Kim page 4
5. Engineering에서 Craft로 이해해야 합니다
• SW 공학 접근은 소프트웨어 개발 프로젝트의 부분을 설명할 수 있다
“왜 사람들은 우리가 가르치는 것을 실행하지 않는가?”
Watts Humpries-
“우리가 쓴 논문은 실제 SW 개발에 사용되지 않는다”
David Parnas-
• 실제 SW 이해하고 적용하기 위한 비유 모델은 CRAFT
Jintae Kim page 5
9. 각 주체가 해야 할 몫이 있습니다
지적
개인 조직
사무적
Jintae Kim page 9
10. 개인의 지적인 역량은 SW 개발의 핵심입니다
• 어릴 적부터 시작
지적
• 20代 이상 : 비용 대비 효과 미흡
• 그 사람이 그 사람이다
• 복잡성 핸들링문제
• 읽기, 말하기
• 듣기, 쓰기
개인 조직
• 구조를 어떻게 잡을까?
• 고객이 원하는 것이 이것인가?
• 이걸 어떻게 테스트할까?
• 2개의 서브함수로 나누자
사무적
Jintae Kim page 10
11. 개인의 사무적인 영역은 충분히 향상이 가능합니다
• 지금부터 시작
지적
• 20代 이상 : 비용 대비 효과 탁월
• 그 사람이 다른 사람이다
• 습관의 문제
• 연습에 의해 달라 질 수 있다
개인 조직
• 이름을 직관적으로 작성하라
• 예쁘게 작성하라
• 방어적 프로그래밍을 하라
• 도구를 최대한 활용하라
• 체크인 전에 코드를 한번 훑어봐라 사무적
Jintae Kim page 11
12. 조직의 사무적인 역량은 지적인 역량이 발휘하도록 환경을 조성하는 것
지적
• 지적인 일에 집중할 수 있는 작업환경 조성
• 지적인 역량이 높은 개발자 채용
è 채용방식의 변화요구
개인 조직
사무적
Jintae Kim page 12
13. 조직의 지적인 역량은 개인들의 지적인 역량이 시너지를 낼 수 있도록
환경을 조성하는 것입니다
지적
개인 조직
• 멘토를 찾고, 붙여주고, copy할 수 있는 환경
• 무엇이 best practice인지 식별,발굴,전파
• Peer Review 활동
사무적
Jintae Kim page 13
14. 조직은 개인이 사무적인 일에서 자유하도록
개인은 지적인 일이 집중하도록
지적
어렵고
,
고비용
개인 조직
쉽고,
저비용 사무적
Jintae Kim page 14
15. 수업 일정
수업내용:
날짜 주 수업내용 수업방법
3.8 1 수업 개요 및 과목 소개 - 코드 장인으로 가는 길 강의
3.15 2 ch2, ch3 발표/토론
3.22 3 Ch4, ch5 발표/토론
3.29 4 Ch1, ch6 발표/토론
4.5 5 부활절 휴가
4.12 6 Ch7, ch10, ch18 발표/토론
4.19 7 Ch8, ch9 발표/토론
4.26 8 중간고사
5.3 9 Ch13 발표/토론
5.10 10 ch14 발표/토론
5.17 11 Ch15, ch20 발표/토론
5.24 12 Ch16, ch17 발표/토론
5.31 13 Ch21, ch22 발표/토론
6.7 14 포트폴리오 발표 발표/토론
6.14 15 포트폴리오 발표 발표/토론
6.21 16 기말고사
Jintae Kim page 15