ݺߣ

ݺߣShare a Scribd company logo
행복한 소프트웨어 개발임도형2010/04/21dh-rim@hanmail.net
행복한 소프트웨어
소프트웨어와 행복누가?소프트웨어 회사관리자개발자그리고 고객어떠하면 행복할까?
행복한 개발자자기 계발이 된다.개발이 재밌다.하고 싶은 개발을 선택할 수 있다.성취감이 있다.멍한 코더가 아닌 똘똘하게 머리를 쓰고 싶다.개발한 제품이 잘 팔린다.
행복한 관리자일정대로 제품이 나온다.어느 수준의 품질의 제품이 나온다.일정 산출이 쉽고 정확하다.일의 배분이 쉽고 폭이 넓다.관리 대상이 행복해 한다.버그가 적다.유지 보수가 쉽다.
행복한 회사매출이 된다.팔릴만한 제품일정에 맞는 제품품질이 보장된 제품유지보수 비용이 적은 제품개발자의 이탈이 적다.
행복한 고객가격이 저렴하다.쓸만한 기능이 있다.성능이 좋다.쓰기 쉽고, 편하다.성능 개선과 버그 픽스가 신속하다.
행복을 간단히 정리하면1인당 매출액 좋은 소프트웨어 회사.
행복하지 못한 현실
현실최소한의 분석/설계.일단 구현, 그리고 뒤엎기.당연한 야근.피곤한 몸과 마음. 멍한 머리.그저 그런 품질, 성능, 기능.쉽지 않은 유지보수와 인력 투입.그저 그런 매출액.낮은 연봉, 부족한 인력 투입, 언제나 다급한 일정그리고 언제나 그런 악순환.
의욕과 매출액개발자가 코딩만 하면 의욕 없어진다.개발자가 삽질만 하면 의욕 없어진다.개발자가 의욕 없으면 일정 못 맞춘다.개발 일정 못 맞추면 매출액 좋지 않다.개발자가 고생만하고 의욕 없으면 품질 형편없다.품질 형편 없으면 유지보수 어렵다.유지보수 어려우면 인력 계속 투입해야 한다.개발자 이직하면 개발 생산성 좋지 않다.유지 보수 인력 많으면 1인당 매출액 좋지 않다.
결국 모두를 행복하게 하려면개발자의 의욕이 있도록 만드는 것이다.혹, 동기 부여
개발자의 꺽인 의욕
개발자의 의욕모든 것의 핵심이다.일정 준수, 품질, 유지보수성, 그리고 1인당 매출액개발자의 의욕이 배제되서는 행복할 방법이 없다.하지만 모든 회사가 관리만으로 커버하려고 한다.혹은 방법론, 시스템, 프로세스로 극복하려 하지만 이 역시 관리일 뿐이다.
무엇이 의욕을 꺽는가?원하지 않는 업무머리가 필요 없는 업무불필요한 반복 업무말도 안 되는 일정
원하지 않는 업무프로젝트 안에서 업무를 선택할 여지가 없다.백업이 없어서 나밖에 할 사람이 없다.자기 계발과 관계없는 업무이다.뒤엎어질 것 뻔한데 일단 해야 한다.부족한 기획/분석/설계
머리가 필요 없는 업무머리를 쓸 필요가 없는 프로그래머를 우리는 ‘코더’라고 부른다.코더의 생산성은 시간과 비례한다.야근, 주말근무에 의해 프로젝트가 주도되고 있다면, 이는 코더임을 증명하는 것이다.머리를 쓰 필요가 없고, 야근이 계속되는 상황은 개발자의 의욕을 꺽는다.
불필요한 반복 업무어쩔 수 없이 해야 하는 코더보다도 못한 업무어떻게 자동화 해 볼 수도 있을 것 같지만 결국은 좌절자동화 자체도 업무다새로운 것에 대한 팀 내 거부감
말도 안 되는 일정 #1프로젝트의 모든 것은 일정에 강하게 종속적이다.일정 말도 안되게 촉박하면제품 기획 대충분석 대충설계 대충코딩 급하게제대로 통합되지 않아서 뒤엎고원하던 기능이 아니라서 뒤엎고산출물의 품질 좋지 않고기능 성능 좋지 않고유지 보수 힘들고개발자가 뭘 해 볼 수 있는 여지를 싹 긁어낸다. 의욕을 없앤다.
말도 안되는 일정 #2일정을 쫀다고 일정이 준수되는 것이 아니다.겉으로만 준수되는 것이지 모든 것이 희생된다.품질기능유지보수성개발자 의욕
악순환일정이 촉박하니까기획/분석/설계 대충낮은 생산성낮음 품질일정 비준수부족한 일정어짜피 일정 못맞출 테니까혹은 자원도 없으니까일정을 줄여 놓자
개발자의 동기 유발
의욕을 고취하는 방법?의욕을 꺽게 한 원인을 제거하자원하지 않는 업무  -> 원하는 업무를 할 수 있게.머리가 필요 없는 업무 -> 머리를 쓰는 업무를.불필요한 반복 업무 -> 반복되지 않게.말도 안 되는 일정 -> 적절한 일정으로.의욕 꺽임을 동기 유발로 바꾸자.
원하는 업무를 할 수 있게다수의 프로젝트 내에서 원하는 프로젝트를 선택할 수 있게 하자.하나의 프로젝트 내에서 원하는 업무를 선택할 수 있게 하자.업무가 공유되도록 하자.서로 간에 백업 되도록 하자.합리적인 업무를 진행하도록 하자.뻔히 엎을 업무가 없도록.‘일단 진행하고 보자’를 지양하자.
머리를 쓰는 업무를개발의 핵심은 분석/설계이고 코딩은 구현일 뿐이다.설계에 개발자를 참여하게 하자.코딩 시에 고민하게 하지 말자.
반복되지 않게최대한의 개발 환경을 구축하자.IDE, 자동 빌드, 디버깅 환경, 자동화된 테스트머리 쓸 필요 없이 똑같은 것을 반복해야 하는 것은 어떻게는 제거해야 한다.비생산적인 것을 개선하는 것 자체도 개발이다.개발 툴 개발, 개발 환경 개발
적절한 일정으로일정 수립 시 개발팀과의 합의하에.일정 수립 시 개발 담당자와의 합의하에.조정 불가능한 일정의 경우 개발범위를 조정해야.적절한 일정이 프로젝트 성공을 보장하지는 않는다. 하지만 적절하지 않으면 분명히 실패한다.
동기 유발 방법을 다시 정리하면적절한 일정으로원하는 업무를머리를 쓰며불필요한 반복을 하지 않게 하고
Special Thanks!Are There Any Other Questions?

More Related Content

What's hot (20)

[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
철민 신
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
철민 신
프로덕트 매니저 8년의 경험
프로덕트 매니저 8년의 경험프로덕트 매니저 8년의 경험
프로덕트 매니저 8년의 경험
Jihye OK
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까? 2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
Jihye OK
2019 WOMEN TECHMAKERS SEOUL
2019 WOMEN TECHMAKERS SEOUL2019 WOMEN TECHMAKERS SEOUL
2019 WOMEN TECHMAKERS SEOUL
Jihye OK
테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)
도형 임
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
Hyunjung Kim
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
AgileKoreaConference Alliance
H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해
KTH
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고
Jong Pil Won
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기
Sungchul Park
직장인 서바이벌 - 성공으로 이끄는 태도
직장인 서바이벌 - 성공으로 이끄는 태도직장인 서바이벌 - 성공으로 이끄는 태도
직장인 서바이벌 - 성공으로 이끄는 태도
youngkang_design
코나아이 jira confluence활용 - 코나아이 곽민정 170615
코나아이 jira confluence활용 - 코나아이 곽민정 170615코나아이 jira confluence활용 - 코나아이 곽민정 170615
코나아이 jira confluence활용 - 코나아이 곽민정 170615
철민 신
제1부 전략과 분석 제5장 프로젝트 관리
제1부 전략과 분석 제5장 프로젝트 관리제1부 전략과 분석 제5장 프로젝트 관리
제1부 전략과 분석 제5장 프로젝트 관리
Minsuk Chang
신입웹개밵Ӟ교육
신입웹개밵Ӟ교육신입웹개밵Ӟ교육
신입웹개밵Ӟ교육
은숙 이
게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼
ChangHyun Won
Non-IT 기업에서 애자일을 시작하는 방법
Non-IT 기업에서 애자일을 시작하는 방법Non-IT 기업에서 애자일을 시작하는 방법
Non-IT 기업에서 애자일을 시작하는 방법
Seungbin Cho
AKC2020 marimba 마주연
AKC2020 marimba 마주연AKC2020 marimba 마주연
AKC2020 marimba 마주연
AgileKoreaConference Alliance
AKC2020 인썸니아 이성훈
AKC2020 인썸니아 이성훈AKC2020 인썸니아 이성훈
AKC2020 인썸니아 이성훈
AgileKoreaConference Alliance
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
철민 신
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
철민 신
프로덕트 매니저 8년의 경험
프로덕트 매니저 8년의 경험프로덕트 매니저 8년의 경험
프로덕트 매니저 8년의 경험
Jihye OK
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까? 2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
Jihye OK
2019 WOMEN TECHMAKERS SEOUL
2019 WOMEN TECHMAKERS SEOUL2019 WOMEN TECHMAKERS SEOUL
2019 WOMEN TECHMAKERS SEOUL
Jihye OK
테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)
도형 임
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
Hyunjung Kim
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
AgileKoreaConference Alliance
H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해
KTH
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고
Jong Pil Won
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기
Sungchul Park
직장인 서바이벌 - 성공으로 이끄는 태도
직장인 서바이벌 - 성공으로 이끄는 태도직장인 서바이벌 - 성공으로 이끄는 태도
직장인 서바이벌 - 성공으로 이끄는 태도
youngkang_design
코나아이 jira confluence활용 - 코나아이 곽민정 170615
코나아이 jira confluence활용 - 코나아이 곽민정 170615코나아이 jira confluence활용 - 코나아이 곽민정 170615
코나아이 jira confluence활용 - 코나아이 곽민정 170615
철민 신
제1부 전략과 분석 제5장 프로젝트 관리
제1부 전략과 분석 제5장 프로젝트 관리제1부 전략과 분석 제5장 프로젝트 관리
제1부 전략과 분석 제5장 프로젝트 관리
Minsuk Chang
신입웹개밵Ӟ교육
신입웹개밵Ӟ교육신입웹개밵Ӟ교육
신입웹개밵Ӟ교육
은숙 이
게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼
ChangHyun Won
Non-IT 기업에서 애자일을 시작하는 방법
Non-IT 기업에서 애자일을 시작하는 방법Non-IT 기업에서 애자일을 시작하는 방법
Non-IT 기업에서 애자일을 시작하는 방법
Seungbin Cho

Similar to 행복한 소프트웨어 개발 (20)

행복한 소프트웨어
행복한 소프트웨어행복한 소프트웨어
행복한 소프트웨어
Hong Jae Kwon
Business Driven Development.pdf
Business Driven Development.pdfBusiness Driven Development.pdf
Business Driven Development.pdf
ssuser24f6db
임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드
태현 임
Developing good enough software
Developing good enough softwareDeveloping good enough software
Developing good enough software
YoungCheolSon
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
선협 이
여기컨_스타트업 기획자의 월화수목금_이수지
여기컨_스타트업 기획자의 월화수목금_이수지여기컨_스타트업 기획자의 월화수목금_이수지
여기컨_스타트업 기획자의 월화수목금_이수지
TechFeministgroup
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법
Yeon Soo Kim
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서
Kim kyoung-song
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
KH Park (박경훈)
소프트웨어 공학의 사실과 오해
소프트웨어 공학의 사실과 오해소프트웨어 공학의 사실과 오해
소프트웨어 공학의 사실과 오해
한 경만
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D2
중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...
중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...
중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...
Seongsil Yoo
언제 애자일을 써야 좋을까? The better ways of developing software
언제 애자일을 써야 좋을까? The better ways of developing software언제 애자일을 써야 좋을까? The better ways of developing software
언제 애자일을 써야 좋을까? The better ways of developing software
Kevin Kim
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
Kay Kim
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할
Hoyoung Choi
스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용
지원 이
개발자 리서치 활동강화 방안 180109
개발자 리서치 활동강화 방안 180109개발자 리서치 활동강화 방안 180109
개발자 리서치 활동강화 방안 180109
한 경만
스크럼 101
스크럼 101스크럼 101
스크럼 101
Daniel Lim
행복한 소프트웨어
행복한 소프트웨어행복한 소프트웨어
행복한 소프트웨어
Hong Jae Kwon
Business Driven Development.pdf
Business Driven Development.pdfBusiness Driven Development.pdf
Business Driven Development.pdf
ssuser24f6db
임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드임태현, 프로그래머 생존 가이드
임태현, 프로그래머 생존 가이드
태현 임
Developing good enough software
Developing good enough softwareDeveloping good enough software
Developing good enough software
YoungCheolSon
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
선협 이
여기컨_스타트업 기획자의 월화수목금_이수지
여기컨_스타트업 기획자의 월화수목금_이수지여기컨_스타트업 기획자의 월화수목금_이수지
여기컨_스타트업 기획자의 월화수목금_이수지
TechFeministgroup
프로그래머로 사는법
프로그래머로 사는법프로그래머로 사는법
프로그래머로 사는법
Yeon Soo Kim
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서
Kim kyoung-song
소프트웨어 공학의 사실과 오해
소프트웨어 공학의 사실과 오해소프트웨어 공학의 사실과 오해
소프트웨어 공학의 사실과 오해
한 경만
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D2
중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...
중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...
중요한 것은 꺾이지 않는 '일 잘하는 사람이 되겠다'는 마음 - 기수...
Seongsil Yoo
언제 애자일을 써야 좋을까? The better ways of developing software
언제 애자일을 써야 좋을까? The better ways of developing software언제 애자일을 써야 좋을까? The better ways of developing software
언제 애자일을 써야 좋을까? The better ways of developing software
Kevin Kim
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
Kay Kim
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할
Hoyoung Choi
스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용스크럼 리뷰 이지원 발표용
스크럼 리뷰 이지원 발표용
지원 이
개발자 리서치 활동강화 방안 180109
개발자 리서치 활동강화 방안 180109개발자 리서치 활동강화 방안 180109
개발자 리서치 활동강화 방안 180109
한 경만
스크럼 101
스크럼 101스크럼 101
스크럼 101
Daniel Lim

More from 도형 임 (17)

인공지능과 심리상담
인공지능과 심리상담인공지능과 심리상담
인공지능과 심리상담
도형 임
Anomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learningAnomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learning
도형 임
Deep learning application_to_manufacturing
Deep learning application_to_manufacturingDeep learning application_to_manufacturing
Deep learning application_to_manufacturing
도형 임
프로그래머를 고려하는 당신에게
프로그래머를 고려하는 당신에게프로그래머를 고려하는 당신에게
프로그래머를 고려하는 당신에게
도형 임
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능
도형 임
알파고 학습 이해하기
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기
도형 임
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
도형 임
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질
도형 임
Release and versioning
Release and versioningRelease and versioning
Release and versioning
도형 임
Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드
Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드
Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드
도형 임
오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리
도형 임
행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스
도형 임
행복, 그리고 인지과학
행복, 그리고 인지과학행복, 그리고 인지과학
행복, 그리고 인지과학
도형 임
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드
도형 임
자동화된 Test Case의 효과
자동화된 Test Case의 효과자동화된 Test Case의 효과
자동화된 Test Case의 효과
도형 임
스토리포인트로 공수산정하기 운선순위정하기
스토리포인트로 공수산정하기 운선순위정하기스토리포인트로 공수산정하기 운선순위정하기
스토리포인트로 공수산정하기 운선순위정하기
도형 임
예외처리갶이드
예외처리갶이드예외처리갶이드
예외처리갶이드
도형 임
인공지능과 심리상담
인공지능과 심리상담인공지능과 심리상담
인공지능과 심리상담
도형 임
Anomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learningAnomaly detection practive_using_deep_learning
Anomaly detection practive_using_deep_learning
도형 임
Deep learning application_to_manufacturing
Deep learning application_to_manufacturingDeep learning application_to_manufacturing
Deep learning application_to_manufacturing
도형 임
프로그래머를 고려하는 당신에게
프로그래머를 고려하는 당신에게프로그래머를 고려하는 당신에게
프로그래머를 고려하는 당신에게
도형 임
코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능코드와 실습으로 이해하는 인공지능
코드와 실습으로 이해하는 인공지능
도형 임
알파고 학습 이해하기
알파고 학습 이해하기알파고 학습 이해하기
알파고 학습 이해하기
도형 임
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질
도형 임
Release and versioning
Release and versioningRelease and versioning
Release and versioning
도형 임
Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드
Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드
Exception log practical_coding_guide, 예외와 로그 코딩 실용 가이드
도형 임
오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리오버라이딩을 사용한 테스트 시의 설정 처리
오버라이딩을 사용한 테스트 시의 설정 처리
도형 임
행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스
도형 임
행복, 그리고 인지과학
행복, 그리고 인지과학행복, 그리고 인지과학
행복, 그리고 인지과학
도형 임
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드
도형 임
자동화된 Test Case의 효과
자동화된 Test Case의 효과자동화된 Test Case의 효과
자동화된 Test Case의 효과
도형 임
스토리포인트로 공수산정하기 운선순위정하기
스토리포인트로 공수산정하기 운선순위정하기스토리포인트로 공수산정하기 운선순위정하기
스토리포인트로 공수산정하기 운선순위정하기
도형 임
예외처리갶이드
예외처리갶이드예외처리갶이드
예외처리갶이드
도형 임

행복한 소프트웨어 개발

  • 4. 행복한 개발자자기 계발이 된다.개발이 재밌다.하고 싶은 개발을 선택할 수 있다.성취감이 있다.멍한 코더가 아닌 똘똘하게 머리를 쓰고 싶다.개발한 제품이 잘 팔린다.
  • 5. 행복한 관리자일정대로 제품이 나온다.어느 수준의 품질의 제품이 나온다.일정 산출이 쉽고 정확하다.일의 배분이 쉽고 폭이 넓다.관리 대상이 행복해 한다.버그가 적다.유지 보수가 쉽다.
  • 6. 행복한 회사매출이 된다.팔릴만한 제품일정에 맞는 제품품질이 보장된 제품유지보수 비용이 적은 제품개발자의 이탈이 적다.
  • 7. 행복한 고객가격이 저렴하다.쓸만한 기능이 있다.성능이 좋다.쓰기 쉽고, 편하다.성능 개선과 버그 픽스가 신속하다.
  • 8. 행복을 간단히 정리하면1인당 매출액 좋은 소프트웨어 회사.
  • 10. 현실최소한의 분석/설계.일단 구현, 그리고 뒤엎기.당연한 야근.피곤한 몸과 마음. 멍한 머리.그저 그런 품질, 성능, 기능.쉽지 않은 유지보수와 인력 투입.그저 그런 매출액.낮은 연봉, 부족한 인력 투입, 언제나 다급한 일정그리고 언제나 그런 악순환.
  • 11. 의욕과 매출액개발자가 코딩만 하면 의욕 없어진다.개발자가 삽질만 하면 의욕 없어진다.개발자가 의욕 없으면 일정 못 맞춘다.개발 일정 못 맞추면 매출액 좋지 않다.개발자가 고생만하고 의욕 없으면 품질 형편없다.품질 형편 없으면 유지보수 어렵다.유지보수 어려우면 인력 계속 투입해야 한다.개발자 이직하면 개발 생산성 좋지 않다.유지 보수 인력 많으면 1인당 매출액 좋지 않다.
  • 12. 결국 모두를 행복하게 하려면개발자의 의욕이 있도록 만드는 것이다.혹, 동기 부여
  • 14. 개발자의 의욕모든 것의 핵심이다.일정 준수, 품질, 유지보수성, 그리고 1인당 매출액개발자의 의욕이 배제되서는 행복할 방법이 없다.하지만 모든 회사가 관리만으로 커버하려고 한다.혹은 방법론, 시스템, 프로세스로 극복하려 하지만 이 역시 관리일 뿐이다.
  • 15. 무엇이 의욕을 꺽는가?원하지 않는 업무머리가 필요 없는 업무불필요한 반복 업무말도 안 되는 일정
  • 16. 원하지 않는 업무프로젝트 안에서 업무를 선택할 여지가 없다.백업이 없어서 나밖에 할 사람이 없다.자기 계발과 관계없는 업무이다.뒤엎어질 것 뻔한데 일단 해야 한다.부족한 기획/분석/설계
  • 17. 머리가 필요 없는 업무머리를 쓸 필요가 없는 프로그래머를 우리는 ‘코더’라고 부른다.코더의 생산성은 시간과 비례한다.야근, 주말근무에 의해 프로젝트가 주도되고 있다면, 이는 코더임을 증명하는 것이다.머리를 쓰 필요가 없고, 야근이 계속되는 상황은 개발자의 의욕을 꺽는다.
  • 18. 불필요한 반복 업무어쩔 수 없이 해야 하는 코더보다도 못한 업무어떻게 자동화 해 볼 수도 있을 것 같지만 결국은 좌절자동화 자체도 업무다새로운 것에 대한 팀 내 거부감
  • 19. 말도 안 되는 일정 #1프로젝트의 모든 것은 일정에 강하게 종속적이다.일정 말도 안되게 촉박하면제품 기획 대충분석 대충설계 대충코딩 급하게제대로 통합되지 않아서 뒤엎고원하던 기능이 아니라서 뒤엎고산출물의 품질 좋지 않고기능 성능 좋지 않고유지 보수 힘들고개발자가 뭘 해 볼 수 있는 여지를 싹 긁어낸다. 의욕을 없앤다.
  • 20. 말도 안되는 일정 #2일정을 쫀다고 일정이 준수되는 것이 아니다.겉으로만 준수되는 것이지 모든 것이 희생된다.품질기능유지보수성개발자 의욕
  • 21. 악순환일정이 촉박하니까기획/분석/설계 대충낮은 생산성낮음 품질일정 비준수부족한 일정어짜피 일정 못맞출 테니까혹은 자원도 없으니까일정을 줄여 놓자
  • 23. 의욕을 고취하는 방법?의욕을 꺽게 한 원인을 제거하자원하지 않는 업무 -> 원하는 업무를 할 수 있게.머리가 필요 없는 업무 -> 머리를 쓰는 업무를.불필요한 반복 업무 -> 반복되지 않게.말도 안 되는 일정 -> 적절한 일정으로.의욕 꺽임을 동기 유발로 바꾸자.
  • 24. 원하는 업무를 할 수 있게다수의 프로젝트 내에서 원하는 프로젝트를 선택할 수 있게 하자.하나의 프로젝트 내에서 원하는 업무를 선택할 수 있게 하자.업무가 공유되도록 하자.서로 간에 백업 되도록 하자.합리적인 업무를 진행하도록 하자.뻔히 엎을 업무가 없도록.‘일단 진행하고 보자’를 지양하자.
  • 25. 머리를 쓰는 업무를개발의 핵심은 분석/설계이고 코딩은 구현일 뿐이다.설계에 개발자를 참여하게 하자.코딩 시에 고민하게 하지 말자.
  • 26. 반복되지 않게최대한의 개발 환경을 구축하자.IDE, 자동 빌드, 디버깅 환경, 자동화된 테스트머리 쓸 필요 없이 똑같은 것을 반복해야 하는 것은 어떻게는 제거해야 한다.비생산적인 것을 개선하는 것 자체도 개발이다.개발 툴 개발, 개발 환경 개발
  • 27. 적절한 일정으로일정 수립 시 개발팀과의 합의하에.일정 수립 시 개발 담당자와의 합의하에.조정 불가능한 일정의 경우 개발범위를 조정해야.적절한 일정이 프로젝트 성공을 보장하지는 않는다. 하지만 적절하지 않으면 분명히 실패한다.
  • 28. 동기 유발 방법을 다시 정리하면적절한 일정으로원하는 업무를머리를 쓰며불필요한 반복을 하지 않게 하고
  • 29. Special Thanks!Are There Any Other Questions?