SlideShare a Scribd company logo
1 of 58
고품질 SW와 개발문화
임도형
임도형
삽질 증오
개발 문화
한국 SW
서출 태생
for HW 구동
for 운영 지원
Not 매출
비용
빈약한 투자
시간, 돈
그리고
낮은 품질
악순환
투자 < -- > 품질
현업에선
요구사항과 일정으로
태클
요구사항
가장 중요한
요구사항
요구사항은
모든 것의 기준
요구사항은
일정의 기준
설계의 기준
개발 대상의 기준
프로젝트 완료의 기준
요구사항이 모호하면
일정도 모호
요구사항이 모호하면
엉뚱한 개발
요구사항이 흔들리면
뒤엎기
요구사항이 흔들리면
‘어짜피...’ 현상 발생.
그래서 포기, 품질도
고객도 스스로
‘요구사항’을 모른다
시간이 지나면서
요구사항은 변경된다.
급하니까
우선 개발먼저?
혹은 고객이 없는 경우
도 있다.
일정
모든 것을 결정하는
일정
모든 것을 쓸어 버린다
분석도, 설계도, 소스 관리도,
요구사항변경 관리도,
문서화도, 테스트 케이스도,
품질 관리도, …
전제 : 일정은 변경되지
않는다.

결과 : 언제나 변경된다.
그리고 불신
고객과 개발사
경영자와 개발팀
관리자와 실무자
디자이너와 개발자
암울할 현실
하지만 포기할 순 없다.
요구사항
고객도
요구사항을 모른다.
폭포수 모델의
실패 원인
요구사항은 변하는 것이
당연하다.

받아 들이고 대비하자.
계속 선을 보이자.
XP, Agile, Scrum
수정에 대비하자.
테스트 케이스
조직을 뚝심 있게.
협업, 프로세스,
자동화
지치지 않게 하자.
자동화, 야근 금지
XP, Agile, Scrum,
테스트 케이스,
협업, 프로세스,
자동화, 야근금지
일정
일정 산정은
실무자에게서
시작되어야 한다.
개발자에 의한
태스크 리스트 작성 후
에야 일정 산정 가능
점증적인 구현, 배포
각 배포에 구현될
요구사항을
결정권자가
결정하게 하자
모든 것이 고려된 일정
이어야.
휴가, 요구사항 변경, 퇴직, 리스크,
교육, 시도, 적응, 저효율
그러고도 버퍼 필요
장기적인 생산성을
고려해야

품질이 확보되야
비용의 3/4은 유지보수
치고 도망가기는 안 된다.
경영자의 관심은
생산성, 예측 가능성

소소함에 연연 말자.
개발문화
모든 것은 공유되어야 한다.
결과물은 리뷰되어야 한다.
최대한 자동화 하여야 한다.
암묵적 지식을 제거해야 한다.
테스트 커버리지, 빌드 자동화, CI는 당연.
공유되어야 한다.
일정, 전략, 현 상태, 소스, 문서,
개발환경 구축, 설치와 구동방법,
테스트 방법, 문제해결방법
리뷰되어야 한다.
리뷰 만으로 품질이 좋아진다.
문서화가 그 우선.
공유와 개선, 이해도가 높아진다.
실무자들의 리뷰가 우선
자동화 하여야 한다.
자동화는 생산성, 창의성,
동기유발, 예측가능, 품질의
전제이다.
암묵적 지식을 제거
휴가, 퇴사, 업무변경 관계없도록.
일이 사람을 쫓아 다니면 안된다.
문서 작성 대상의 기준.
테스트 커버리지
수정의 기본 전제
과연
할 수 있을까?
XP, Agile, Scrum, 테스트 케이스,
협업, 프로세스, 자동화, 야근금지
공유, 리뷰, 자동화, 문서화,
테스트 커버리지, CI, 빌드 자동화
아주 강한 흐름이다.
설득, 이해, 신뢰, 실천
개발 습관
개발 문화
Maven, Git, Junit
+
Task Log, Review

More Related Content

What's hot

H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해
KTH
 
게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼
ChangHyun Won
 
개발자, 머신러닝 엔지니어로 살아남기
개발자,  머신러닝 엔지니어로 살아남기개발자,  머신러닝 엔지니어로 살아남기
개발자, 머신러닝 엔지니어로 살아남기
Curt Park
 

What's hot (20)

칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
 
2019 WOMEN TECHMAKERS SEOUL
2019 WOMEN TECHMAKERS SEOUL2019 WOMEN TECHMAKERS SEOUL
2019 WOMEN TECHMAKERS SEOUL
 
Raci chart
Raci chartRaci chart
Raci chart
 
유지보수를 고려한 SW 개발
유지보수를 고려한 SW 개발유지보수를 고려한 SW 개발
유지보수를 고려한 SW 개발
 
Mibis ch15
Mibis ch15Mibis ch15
Mibis ch15
 
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
[AUG] 소프트웨어 공학 국제표준 SEMAT Essence를 칸반으로 구현
 
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
[AUG] 칸반을 활용한 업무 프로세스 혁신 실천법
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
 
나는 PM이다! 33회 신철민_발표자료
나는 PM이다! 33회 신철민_발표자료나는 PM이다! 33회 신철민_발표자료
나는 PM이다! 33회 신철민_발표자료
 
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
 
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고
 
직장인 서바이벌 - 성공으로 이끄는 태도
직장인 서바이벌 - 성공으로 이끄는 태도직장인 서바이벌 - 성공으로 이끄는 태도
직장인 서바이벌 - 성공으로 이끄는 태도
 
H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해
 
게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼게임 개발팀 A의 정기 회의 매뉴얼
게임 개발팀 A의 정기 회의 매뉴얼
 
코나아이 jira confluence활용 - 코나아이 곽민정 170615
코나아이 jira confluence활용 - 코나아이 곽민정 170615코나아이 jira confluence활용 - 코나아이 곽민정 170615
코나아이 jira confluence활용 - 코나아이 곽민정 170615
 
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기
 
Non-IT 기업에서 애자일을 시작하는 방법
Non-IT 기업에서 애자일을 시작하는 방법Non-IT 기업에서 애자일을 시작하는 방법
Non-IT 기업에서 애자일을 시작하는 방법
 
AKC2020 인썸니아 이성훈
AKC2020 인썸니아 이성훈AKC2020 인썸니아 이성훈
AKC2020 인썸니아 이성훈
 
테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)테스트 기발 개발, TBD(Test based developement)
테스트 기발 개발, TBD(Test based developement)
 
개발자, 머신러닝 엔지니어로 살아남기
개발자,  머신러닝 엔지니어로 살아남기개발자,  머신러닝 엔지니어로 살아남기
개발자, 머신러닝 엔지니어로 살아남기
 

Viewers also liked

소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
영기 김
 
통신시스템(Cdma network)
통신시스템(Cdma network)통신시스템(Cdma network)
통신시스템(Cdma network)
영기 김
 

Viewers also liked (20)

위대한개발문화
위대한개발문화위대한개발문화
위대한개발문화
 
소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화소프트웨어 아키텍처 문서화
소프트웨어 아키텍처 문서화
 
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
소프트웨어 아키텍처
소프트웨어 아키텍처소프트웨어 아키텍처
소프트웨어 아키텍처
 
How (Not) to Write Testable Code
How (Not) to Write Testable CodeHow (Not) to Write Testable Code
How (Not) to Write Testable Code
 
배열과 포인터
배열과 포인터배열과 포인터
배열과 포인터
 
서울 - 성북신나
서울 - 성북신나서울 - 성북신나
서울 - 성북신나
 
Mining Unstructured Software Repositories Using IR Models
Mining Unstructured Software Repositories Using IR ModelsMining Unstructured Software Repositories Using IR Models
Mining Unstructured Software Repositories Using IR Models
 
Mineograph Mining Automation Software
Mineograph Mining Automation SoftwareMineograph Mining Automation Software
Mineograph Mining Automation Software
 
빅데이터와 교육데이터마이닝 (고려대학교 대학원 강의) 6주차
빅데이터와 교육데이터마이닝 (고려대학교 대학원 강의) 6주차빅데이터와 교육데이터마이닝 (고려대학교 대학원 강의) 6주차
빅데이터와 교육데이터마이닝 (고려대학교 대학원 강의) 6주차
 
Data mining software comparison
Data mining software comparison Data mining software comparison
Data mining software comparison
 
Mining the Modern Code Review Repositories: A Dataset of People, Process and ...
Mining the Modern Code Review Repositories: A Dataset of People, Process and ...Mining the Modern Code Review Repositories: A Dataset of People, Process and ...
Mining the Modern Code Review Repositories: A Dataset of People, Process and ...
 
통신시스템(Cdma network)
통신시스템(Cdma network)통신시스템(Cdma network)
통신시스템(Cdma network)
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)
 
임태현, software catastrophe
임태현, software catastrophe임태현, software catastrophe
임태현, software catastrophe
 
The Introduction to Refactoring
The Introduction to Refactoring The Introduction to Refactoring
The Introduction to Refactoring
 
Mining Software Archives to Support Software Development
Mining Software Archives to Support Software DevelopmentMining Software Archives to Support Software Development
Mining Software Archives to Support Software Development
 
통신시스템(Gprs network)
통신시스템(Gprs network)통신시스템(Gprs network)
통신시스템(Gprs network)
 
통신시스템(Gsm network)
통신시스템(Gsm network)통신시스템(Gsm network)
통신시스템(Gsm network)
 

Similar to 고품질 Sw와 개발문화

Similar to 고품질 Sw와 개발문화 (20)

CI/CD in embedded dev process
CI/CD in embedded dev processCI/CD in embedded dev process
CI/CD in embedded dev process
 
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
SonarQube와 함께하는 소프트웨어 품질 세미나 - 소프트웨어 품질의 중요성
 
린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)린 소프트웨어 개발(Lean software development)
린 소프트웨어 개발(Lean software development)
 
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘
Git 기반의 애자일 개발 환경 구축 및 개발 프로세스 설명 / 고객과 소통하는 SW 유지보수 프로세스 구축 - 인베슘
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발
 
[Web Agency] Project Process Standard Guide
[Web Agency] Project Process Standard Guide[Web Agency] Project Process Standard Guide
[Web Agency] Project Process Standard Guide
 
[로컬챌린지프로젝트 교육자료] 기업역량강화교육 Lcp3기 2코스_프로젝트관리
[로컬챌린지프로젝트 교육자료] 기업역량강화교육 Lcp3기 2코스_프로젝트관리[로컬챌린지프로젝트 교육자료] 기업역량강화교육 Lcp3기 2코스_프로젝트관리
[로컬챌린지프로젝트 교육자료] 기업역량강화교육 Lcp3기 2코스_프로젝트관리
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Lean venture framework
Lean venture frameworkLean venture framework
Lean venture framework
 
[Nux]06 ux
[Nux]06 ux[Nux]06 ux
[Nux]06 ux
 
ITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designer
ITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designerITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designer
ITCT 사용자 중심 디자인 특강 - spoqa 남유정 UX designer
 
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptxERP 프로젝트 수행방법론-SAP_v1.2.pptx
ERP 프로젝트 수행방법론-SAP_v1.2.pptx
 
4강. 프로토 타이핑 (prototyping)
4강. 프로토 타이핑 (prototyping)4강. 프로토 타이핑 (prototyping)
4강. 프로토 타이핑 (prototyping)
 
행복한 소프트웨어
행복한 소프트웨어행복한 소프트웨어
행복한 소프트웨어
 
Project Management
Project ManagementProject Management
Project Management
 
세상과 통하는 서비스 개발하기 자료 [스타트업 A to Z 세미나]
세상과 통하는 서비스 개발하기 자료 [스타트업 A to Z 세미나]세상과 통하는 서비스 개발하기 자료 [스타트업 A to Z 세미나]
세상과 통하는 서비스 개발하기 자료 [스타트업 A to Z 세미나]
 
미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략미국 IT기업 일하는 방식 및 미국진출 전략
미국 IT기업 일하는 방식 및 미국진출 전략
 
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
[오픈소스컨설팅] 오픈소스 기반 솔루션 방향성 잡기
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
 
[마인즈랩] MindsVOC & MindsQC 소개자료
[마인즈랩] MindsVOC & MindsQC 소개자료[마인즈랩] MindsVOC & MindsQC 소개자료
[마인즈랩] MindsVOC & MindsQC 소개자료
 

More from 도형 임

More from 도형 임 (16)

인공지능과 심리상담
인공지능과 심리상담인공지능과 심리상담
인공지능과 심리상담
 
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 그까이거
 
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의 효과
 
스토리포인트로 공수산정하기 운선순위정하기
스토리포인트로 공수산정하기 운선순위정하기스토리포인트로 공수산정하기 운선순위정하기
스토리포인트로 공수산정하기 운선순위정하기
 
예외처리가이드
예외처리가이드예외처리가이드
예외처리가이드
 

Recently uploaded

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
 

Recently uploaded (6)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 

고품질 Sw와 개발문화