애자일 안한 이야기

Sungchul Park
Sungchul ParkTeam Leader en SK Planet
애자일
안 한 이야기
오늘의 이야기
삶의 여러 국면에서 애자일과 만나 영향을 받은 일에 대해
저는...
개발자 출신의 조직 리더 (=사람 관리 못한, 공감 능력 바닥, 일 중심)
영세기업 직원
순수 개발자
영세기업 대표
경영 & 개발 리드
2000 ~
1990~ 2010 ~
관리 비중
기술 비중
큰기업 중간 관리자
개발 조직 관리자
트라우마(?)
제록스 PARC 이야기 HBR 기고문
트라우마(?)
내가 하는 소프트웨어 개발은 쓸모가 있는가?
(내 삶은 의미 있는가?)
애자일과 첫만남
당시 고민..
“너희를 위한 방법론은 없어”
버즈 워드들
TDD
애자일
지속적 통합
빌드 성공 박수
일일 스텐드업 미팅
짝코딩
익스트림 프로그래밍
실용주의 프로그래머
소프트웨어 장인정신
단위 테스트
리팩터링
요구사항 변경을
환영하라고?
난 돈만 받고 도망할 건데?
고객도 재구축을 더 좋아해
OpenUP
경량 RUP, “테일러링 된 애자일 버전”이라고 주장
망했어요
첫 영향
객체지향의 재발견
두 번의 개발자로서 자존심 상하는 큰 실패
용기 단방향설계
객체지향의 재발견
설계 활동으로서의 코딩, 리팩터링, 창발적 설계
개발자 테스트(=단위 테스트)
진화하는 아키텍처 (스프링 프레임워크)
짝코딩, TDD 등 연습 요구사항 변경을
환영할 정도로 용기를
가질 수 있도록
애자일 성공 사례
SI 프로젝트 성공 사례
모바일 교보문고 구축 프로젝트
● 명시적으로 애자일을 하자고 했던 첫 & 유일한 경험
● 당시 주관사 L사 내부에 애자일을 강조하는 분위기, 지원도 받을 수 있었음
● PM을 비롯해 모두 애자일 경험 전무, 스크럼의 기본 실천법 적용
● 초반만 일하려던 디자인 업체 설득(협박?), 끝까지 참여
● 고객, 이렇게 성공적으로 진행된 프로젝트를 본 적이 없었다는 평가
● XPer에서 사례 공유(참석 안함)
진짜 성공 이유
현장 상주 고객
(On-Site Customer)
PARC의 실패 이유?
사업 기술
개발 조직의 두가지 함정
alignment
trap
enabled
growth
maintenance
zone
well oiled
효율
사업
밀착도
Product Owner(Scrum)
사업 제품 개발
Biz 기획자 제품 개발팀
Biz PO 제품 개발팀
Biz PO 제품 개발팀
기획자
시
장
I
II
III
● 프로덕트 목표를 세우고 명쾌하게 소통
● 프로덕트 백로그 아이템을 생성하고 분명하게 소통
● 프로덕트 백로그 아이템을 우선순위에 따라 정렬
● 프로덕트 백로그를 반드시 투명하고 가시적이며 이해가 잘 되도록 만듬
큰기업
팀이 정말 팀인가?
● 상대평가와 줄세우기
● 개인별 업무 목표와 KPI
● 이름만 팀일 뿐, 작업 그룹
● 조직 개편, 개인 단위 소속 이동
● 팀웍 = 좋은 분위기
● 소프트웨어에 적대적인 문화
유용한 소프트웨어를 만드는데 방해가 되는
완전한 팀(Whole Team)
“The Whole Team suggests that a variety of people work together in interlinking ways
to make a project more effective.”
● 다양한 기술 스텍
● 서비스 기획자
● 디자이너
● 테스팅 엔지니어
● 데이터 엔지니어
● 데이터 과학자
● DevOps
+ 다양한 성향
●
공동의 목표
●
협력
●
공동 책임 / 공동 소유
버스 인자(Bus Factor)
● 개인 업무를 팀 공통 업무로 만들기
○ Q: “담당자가 누군가요?” A: “저에게 말하세요"
○ Q: “담당자를 알아야 평가하지않나?” A: “우리 모두가 같이 합니다.”
● 핵심 개발자 없이 서비스 안정화
● 업무 교대
● 여러 업무를 여러명이 담당
● 코드 리뷰와 짝코딩
● 문서화
● 협업 체계 지속적 강화
목표 다지기
형식적인 일일 스크럼 회의, 회의 목표 환기
팀 공동의 목표가 잘 진행되는지, 위험은 없는지 같이 점검하는 시간
야크 쉐이빙 방지 & 도움 요청
0
자율적 팀
목적은 알려주고
해법은 같이 논의하고
구체화 방법은 알아서
Why
How
What
O2O 스타트업
실시간 O2O 스타트업의 특징
● 극심한 경쟁
● 예측할 수 없는 사업 방향 (“Plans are useless, but planning is essential” 아이젠 하워 나쁜놈)
● 아무도 가보지 않은 길 (생각하고 다르네? 이 산이 아닌가벼)
● 상충되는 사업 가치를 모두 추구
● 변경의 여파가 실 세계에 그대로 반영
오늘 하던 일을 못하게 되어도...
● incremental < iterative < evolutionary
● 매번 의미 있는 가치를 고객에게 전달하자
● 어느날 우선순위가 바뀌어 지금하는 일이 중단되어도 버려지는 작업을 최소화하자
● 일을 최소한의 의미있는 단위 만드는 연습
● 유저스토리 매핑
일이 일을 만들게 하지 말자
● 만트라
● 일을 하면 할 수록 그 다음 일이 눈에 보이는 법
● 기획은 어느덧 태산, 개발은 금칠
● 딱 필요한 만큼만 하기, 최대한 일 덜하기
애자일 안 한 이야기
Agile에 관심이 없는 이유
● 애자일 커뮤니티가 소프트웨어 개발에서 멀어짐 (또는 애자일의 타 분야 응용)
● 개발자의 대상화 - 스크럼 중심
● 신화가 되는 애자일
● 만병통치약? 무슨 말을 하든 "애자일하자!"
● 버즈워드, 비자발적 강요, 형식주의 - 안 좋은 경험의 확산
그건 Agile이 아니야!
● 애자일이 목표가 됨
● 껍데기만 남는 애자일 - 형식주의
● 무엇이 애자일인지 끝없이 논쟁
저의 첫 애자일
네, Agile 아닙니다.agile 입니다.
Agile vs agile
고통 주도 개발
(Pain Driven Development)
vs
원칙 주도 개발
(Principle Driven Development)
트라우마와 애자일
Agile is the ability to create and respond
to change. It is a way of dealing with, and
ultimately succeeding in, an uncertain
and turbulent environment.
애자일이란?
애자일은 변화를 만들고 그에 대응하는 능력이다. 애자일은
불확실성과 혼란스러운 환경에 대처하고 궁극적으로 성공하는
길이다.
요즘 애자일
“(Product) outcome is measured by whether the customers
and users see you try and use it, and keep using it,”
- Jeff Patton
애자일 선언
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을
도와주면서 소프트웨어 개발의 더 나은
방법들을 찾아가고 있다.
애자일과 저의 삶
生卽苦
삶은 질고다
1 de 39

Recomendados

Agile의 본질과 실천 por
Agile의 본질과 실천 Agile의 본질과 실천
Agile의 본질과 실천 Hyungseok Shim
349 vistas64 diapositivas
협업도구 및 주요 Agile practices 적용사례 v1.0 por
협업도구 및 주요 Agile practices 적용사례 v1.0협업도구 및 주요 Agile practices 적용사례 v1.0
협업도구 및 주요 Agile practices 적용사례 v1.0Sangcheol Hwang
8.7K vistas36 diapositivas
애자일 프랙티스 por
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
71 vistas39 diapositivas
Agile 방법론 por
Agile 방법론Agile 방법론
Agile 방법론Astin Choi
8.5K vistas35 diapositivas
テストとリファクタリングに関する深い方法論 #wewlc_jp por
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpkyon mm
20.6K vistas63 diapositivas
객체지향 개념 (쫌 아는체 하기) por
객체지향 개념 (쫌 아는체 하기)객체지향 개념 (쫌 아는체 하기)
객체지향 개념 (쫌 아는체 하기)Seung-June Lee
88.4K vistas75 diapositivas

Más contenido relacionado

La actualidad más candente

고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들 por
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
31.4K vistas44 diapositivas
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019 por
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019devCAT Studio, NEXON
6K vistas89 diapositivas
中規模Angularアプリケーションの再設計 por
中規模Angularアプリケーションの再設計中規模Angularアプリケーションの再設計
中規模Angularアプリケーションの再設計bitbank, Inc. Tokyo, Japan
6.9K vistas33 diapositivas
gRPC と nginx による HTTP/2 サービスメッシュ構築 por
gRPC と nginx による HTTP/2 サービスメッシュ構築gRPC と nginx による HTTP/2 サービスメッシュ構築
gRPC と nginx による HTTP/2 サービスメッシュ構築Kazuki Ogiwara
189 vistas24 diapositivas
ユーザーストーリーの分割 por
ユーザーストーリーの分割ユーザーストーリーの分割
ユーザーストーリーの分割Arata Fujimura
6.4K vistas19 diapositivas
카카오스토리 웹팀의 코드리뷰 경험 por
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험Ohgyun Ahn
51.1K vistas121 diapositivas

La actualidad más candente(20)

고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들 por Chris Ohk
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
Chris Ohk31.4K vistas
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019 por devCAT Studio, NEXON
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
전형규, SilvervineUE4Lua: UE4에서 Lua 사용하기, NDC2019
gRPC と nginx による HTTP/2 サービスメッシュ構築 por Kazuki Ogiwara
gRPC と nginx による HTTP/2 サービスメッシュ構築gRPC と nginx による HTTP/2 サービスメッシュ構築
gRPC と nginx による HTTP/2 サービスメッシュ構築
Kazuki Ogiwara189 vistas
ユーザーストーリーの分割 por Arata Fujimura
ユーザーストーリーの分割ユーザーストーリーの分割
ユーザーストーリーの分割
Arata Fujimura6.4K vistas
카카오스토리 웹팀의 코드리뷰 경험 por Ohgyun Ahn
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험
Ohgyun Ahn51.1K vistas
リーンなコードを書こう:実践的なオブジェクト指向設計 por 増田 亨
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
増田 亨15.7K vistas
스타트업에서 기술책임자로 살아가기 por Hyun-woo Park
스타트업에서 기술책임자로 살아가기스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기
Hyun-woo Park80.5K vistas
성공하는 애자일을 위한 짧은 이야기 por 종범 고
성공하는 애자일을 위한 짧은 이야기성공하는 애자일을 위한 짧은 이야기
성공하는 애자일을 위한 짧은 이야기
종범 고1.9K vistas
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法 por Kazuto Kusama
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
『コンテナ疲れ』と戦う、k8s・PaaS・Serverlessの活用法
Kazuto Kusama56.7K vistas
毎日が越境だ! por 増田 亨
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
増田 亨10.5K vistas
私にとってのテスト por Takuto Wada
私にとってのテスト私にとってのテスト
私にとってのテスト
Takuto Wada16.8K vistas
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf por 株式会社MonotaRO Tech Team
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
信頼性とアジリティを同時に上げろ!モノタロウのカナリアリリース導入.pdf
世界でいちばんわかりやすいドメイン駆動設計 por 増田 亨
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨14.5K vistas
大規模なJavaScript開発の話 por terurou
大規模なJavaScript開発の話大規模なJavaScript開発の話
大規模なJavaScript開発の話
terurou12.1K vistas
Neovim으로 생산성 퀀텀점프하기 by 이재열 por Excelcon
Neovim으로 생산성 퀀텀점프하기 by 이재열Neovim으로 생산성 퀀텀점프하기 by 이재열
Neovim으로 생산성 퀀텀점프하기 by 이재열
Excelcon 323 vistas
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심 por Amazon Web Services Korea
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
[1216 박민근] 게임회사취업및이직에관한조언 por MinGeun Park
[1216 박민근] 게임회사취업및이직에관한조언[1216 박민근] 게임회사취업및이직에관한조언
[1216 박민근] 게임회사취업및이직에관한조언
MinGeun Park12.2K vistas
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference por Xionglong Jin
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
Xionglong Jin18.7K vistas

Similar a 애자일 안한 이야기

AKC2020 marimba 마주연 por
AKC2020 marimba 마주연AKC2020 marimba 마주연
AKC2020 marimba 마주연AgileKoreaConference Alliance
98 vistas56 diapositivas
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우) por
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)AgileKoreaConference Alliance
294 vistas159 diapositivas
Agile fundamentals por
Agile fundamentalsAgile fundamentals
Agile fundamentalsKihoon Kim
344 vistas123 diapositivas
흰머리 성성하게 개발하기 위해 por
흰머리 성성하게 개발하기 위해흰머리 성성하게 개발하기 위해
흰머리 성성하게 개발하기 위해도형 임
2.6K vistas75 diapositivas
H3 2011 흰머리 성성하게 개발하기 위해 por
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해KTH
1.3K vistas75 diapositivas
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형 por
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형KTH, 케이티하이텔
916 vistas75 diapositivas

Similar a 애자일 안한 이야기(20)

Agile fundamentals por Kihoon Kim
Agile fundamentalsAgile fundamentals
Agile fundamentals
Kihoon Kim344 vistas
흰머리 성성하게 개발하기 위해 por 도형 임
흰머리 성성하게 개발하기 위해흰머리 성성하게 개발하기 위해
흰머리 성성하게 개발하기 위해
도형 임2.6K vistas
H3 2011 흰머리 성성하게 개발하기 위해 por KTH
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해
KTH1.3K vistas
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형 por KTH, 케이티하이텔
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
현장에서 사용하는 Software production por Jinho Yoo
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
Jinho Yoo2.8K vistas
애자일 게임 개발이란? por Kay Kim
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
Kay Kim5.7K vistas
Sk planet 이야기 por 종범 고
Sk planet 이야기Sk planet 이야기
Sk planet 이야기
종범 고1.6K vistas
(독서광) 필독! 개발자 온보딩 가이드 por Jay Park
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드
Jay Park1.1K vistas
20150307 abcd발표_ux디자이너 실력으로 살아남기 por SANGBUM HA
20150307 abcd발표_ux디자이너 실력으로 살아남기20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기
SANGBUM HA46.5K vistas
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법 por 강 민우
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
강 민우606 vistas
개발자는 어떻게 일하는가.pdf por Kihoon Kim
개발자는 어떻게 일하는가.pdf개발자는 어떻게 일하는가.pdf
개발자는 어떻게 일하는가.pdf
Kihoon Kim2.8K vistas
개발자와 커뮤니티 - 기묘한 이야기 por Lee WonJae
개발자와 커뮤니티 - 기묘한 이야기개발자와 커뮤니티 - 기묘한 이야기
개발자와 커뮤니티 - 기묘한 이야기
Lee WonJae349 vistas
애자일 도입과 사례 공유 por agilekorea
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유
agilekorea7.4K vistas
개발자로 사는 길!!! 20141114 por GeniNetworks
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114
GeniNetworks1.4K vistas
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기 por Hyunjung Kim
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
Hyunjung Kim810 vistas

Más de Sungchul Park

Java null survival guide por
Java null survival guideJava null survival guide
Java null survival guideSungchul Park
4K vistas67 diapositivas
자바에서 null을 안전하게 다루는 방법 por
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법Sungchul Park
19.7K vistas38 diapositivas
Java.next por
Java.nextJava.next
Java.nextSungchul Park
2.8K vistas51 diapositivas
자바 테스트 자동화 por
자바 테스트 자동화자바 테스트 자동화
자바 테스트 자동화Sungchul Park
7.2K vistas91 diapositivas
변경에 강한 애플리케이션, 유기적 애플리케이션 por
변경에 강한 애플리케이션, 유기적 애플리케이션변경에 강한 애플리케이션, 유기적 애플리케이션
변경에 강한 애플리케이션, 유기적 애플리케이션Sungchul Park
4.5K vistas49 diapositivas
자바 서버 애플리케이션 아키텍처 안티 패턴 por
자바 서버 애플리케이션 아키텍처 안티 패턴자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴Sungchul Park
8.5K vistas69 diapositivas

Más de Sungchul Park(20)

자바에서 null을 안전하게 다루는 방법 por Sungchul Park
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법
Sungchul Park19.7K vistas
자바 테스트 자동화 por Sungchul Park
자바 테스트 자동화자바 테스트 자동화
자바 테스트 자동화
Sungchul Park7.2K vistas
변경에 강한 애플리케이션, 유기적 애플리케이션 por Sungchul Park
변경에 강한 애플리케이션, 유기적 애플리케이션변경에 강한 애플리케이션, 유기적 애플리케이션
변경에 강한 애플리케이션, 유기적 애플리케이션
Sungchul Park4.5K vistas
자바 서버 애플리케이션 아키텍처 안티 패턴 por Sungchul Park
자바 서버 애플리케이션 아키텍처 안티 패턴자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴
Sungchul Park8.5K vistas
스프링보다 중요한 스프링 이야기 por Sungchul Park
스프링보다 중요한 스프링 이야기스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기
Sungchul Park12.8K vistas
Beyond Java: 자바 8을 중심으로 본 자바의 혁신 por Sungchul Park
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Sungchul Park10.3K vistas
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 por Sungchul Park
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
Sungchul Park6.8K vistas
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용 por Sungchul Park
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
Sungchul Park6.5K vistas
스프링 코어 강의 1부 - 봄 맞이 준비 운동 por Sungchul Park
스프링 코어 강의 1부 - 봄 맞이 준비 운동스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동
Sungchul Park10.5K vistas
자바8 나머지 공개 por Sungchul Park
자바8 나머지 공개자바8 나머지 공개
자바8 나머지 공개
Sungchul Park2.9K vistas
자바8 람다 나머지 공개 por Sungchul Park
자바8 람다 나머지 공개자바8 람다 나머지 공개
자바8 람다 나머지 공개
Sungchul Park9.3K vistas
java 8 람다식 소개와 의미 고찰 por Sungchul Park
java 8 람다식 소개와 의미 고찰java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰
Sungchul Park58K vistas
Open Source가 바꾼 자바 por Sungchul Park
Open Source가 바꾼 자바Open Source가 바꾼 자바
Open Source가 바꾼 자바
Sungchul Park1.5K vistas

애자일 안한 이야기

  • 2. 오늘의 이야기 삶의 여러 국면에서 애자일과 만나 영향을 받은 일에 대해
  • 3. 저는... 개발자 출신의 조직 리더 (=사람 관리 못한, 공감 능력 바닥, 일 중심) 영세기업 직원 순수 개발자 영세기업 대표 경영 & 개발 리드 2000 ~ 1990~ 2010 ~ 관리 비중 기술 비중 큰기업 중간 관리자 개발 조직 관리자
  • 5. 트라우마(?) 내가 하는 소프트웨어 개발은 쓸모가 있는가? (내 삶은 의미 있는가?)
  • 7. 당시 고민.. “너희를 위한 방법론은 없어”
  • 8. 버즈 워드들 TDD 애자일 지속적 통합 빌드 성공 박수 일일 스텐드업 미팅 짝코딩 익스트림 프로그래밍 실용주의 프로그래머 소프트웨어 장인정신 단위 테스트 리팩터링 요구사항 변경을 환영하라고? 난 돈만 받고 도망할 건데? 고객도 재구축을 더 좋아해
  • 9. OpenUP 경량 RUP, “테일러링 된 애자일 버전”이라고 주장 망했어요
  • 11. 객체지향의 재발견 두 번의 개발자로서 자존심 상하는 큰 실패 용기 단방향설계
  • 12. 객체지향의 재발견 설계 활동으로서의 코딩, 리팩터링, 창발적 설계 개발자 테스트(=단위 테스트) 진화하는 아키텍처 (스프링 프레임워크) 짝코딩, TDD 등 연습 요구사항 변경을 환영할 정도로 용기를 가질 수 있도록
  • 14. SI 프로젝트 성공 사례 모바일 교보문고 구축 프로젝트 ● 명시적으로 애자일을 하자고 했던 첫 & 유일한 경험 ● 당시 주관사 L사 내부에 애자일을 강조하는 분위기, 지원도 받을 수 있었음 ● PM을 비롯해 모두 애자일 경험 전무, 스크럼의 기본 실천법 적용 ● 초반만 일하려던 디자인 업체 설득(협박?), 끝까지 참여 ● 고객, 이렇게 성공적으로 진행된 프로젝트를 본 적이 없었다는 평가 ● XPer에서 사례 공유(참석 안함)
  • 15. 진짜 성공 이유 현장 상주 고객 (On-Site Customer)
  • 17. 개발 조직의 두가지 함정 alignment trap enabled growth maintenance zone well oiled 효율 사업 밀착도
  • 18. Product Owner(Scrum) 사업 제품 개발 Biz 기획자 제품 개발팀 Biz PO 제품 개발팀 Biz PO 제품 개발팀 기획자 시 장 I II III ● 프로덕트 목표를 세우고 명쾌하게 소통 ● 프로덕트 백로그 아이템을 생성하고 분명하게 소통 ● 프로덕트 백로그 아이템을 우선순위에 따라 정렬 ● 프로덕트 백로그를 반드시 투명하고 가시적이며 이해가 잘 되도록 만듬
  • 20. 팀이 정말 팀인가? ● 상대평가와 줄세우기 ● 개인별 업무 목표와 KPI ● 이름만 팀일 뿐, 작업 그룹 ● 조직 개편, 개인 단위 소속 이동 ● 팀웍 = 좋은 분위기 ● 소프트웨어에 적대적인 문화 유용한 소프트웨어를 만드는데 방해가 되는
  • 21. 완전한 팀(Whole Team) “The Whole Team suggests that a variety of people work together in interlinking ways to make a project more effective.” ● 다양한 기술 스텍 ● 서비스 기획자 ● 디자이너 ● 테스팅 엔지니어 ● 데이터 엔지니어 ● 데이터 과학자 ● DevOps + 다양한 성향 ● 공동의 목표 ● 협력 ● 공동 책임 / 공동 소유
  • 22. 버스 인자(Bus Factor) ● 개인 업무를 팀 공통 업무로 만들기 ○ Q: “담당자가 누군가요?” A: “저에게 말하세요" ○ Q: “담당자를 알아야 평가하지않나?” A: “우리 모두가 같이 합니다.” ● 핵심 개발자 없이 서비스 안정화 ● 업무 교대 ● 여러 업무를 여러명이 담당 ● 코드 리뷰와 짝코딩 ● 문서화 ● 협업 체계 지속적 강화
  • 23. 목표 다지기 형식적인 일일 스크럼 회의, 회의 목표 환기 팀 공동의 목표가 잘 진행되는지, 위험은 없는지 같이 점검하는 시간 야크 쉐이빙 방지 & 도움 요청
  • 24. 0 자율적 팀 목적은 알려주고 해법은 같이 논의하고 구체화 방법은 알아서 Why How What
  • 26. 실시간 O2O 스타트업의 특징 ● 극심한 경쟁 ● 예측할 수 없는 사업 방향 (“Plans are useless, but planning is essential” 아이젠 하워 나쁜놈) ● 아무도 가보지 않은 길 (생각하고 다르네? 이 산이 아닌가벼) ● 상충되는 사업 가치를 모두 추구 ● 변경의 여파가 실 세계에 그대로 반영
  • 27. 오늘 하던 일을 못하게 되어도... ● incremental < iterative < evolutionary ● 매번 의미 있는 가치를 고객에게 전달하자 ● 어느날 우선순위가 바뀌어 지금하는 일이 중단되어도 버려지는 작업을 최소화하자 ● 일을 최소한의 의미있는 단위 만드는 연습 ● 유저스토리 매핑
  • 28. 일이 일을 만들게 하지 말자 ● 만트라 ● 일을 하면 할 수록 그 다음 일이 눈에 보이는 법 ● 기획은 어느덧 태산, 개발은 금칠 ● 딱 필요한 만큼만 하기, 최대한 일 덜하기
  • 29. 애자일 안 한 이야기
  • 30. Agile에 관심이 없는 이유 ● 애자일 커뮤니티가 소프트웨어 개발에서 멀어짐 (또는 애자일의 타 분야 응용) ● 개발자의 대상화 - 스크럼 중심 ● 신화가 되는 애자일 ● 만병통치약? 무슨 말을 하든 "애자일하자!" ● 버즈워드, 비자발적 강요, 형식주의 - 안 좋은 경험의 확산
  • 31. 그건 Agile이 아니야! ● 애자일이 목표가 됨 ● 껍데기만 남는 애자일 - 형식주의 ● 무엇이 애자일인지 끝없이 논쟁
  • 33. 네, Agile 아닙니다.agile 입니다. Agile vs agile
  • 34. 고통 주도 개발 (Pain Driven Development) vs 원칙 주도 개발 (Principle Driven Development)
  • 35. 트라우마와 애자일 Agile is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment. 애자일이란? 애자일은 변화를 만들고 그에 대응하는 능력이다. 애자일은 불확실성과 혼란스러운 환경에 대처하고 궁극적으로 성공하는 길이다.
  • 36. 요즘 애자일 “(Product) outcome is measured by whether the customers and users see you try and use it, and keep using it,” - Jeff Patton
  • 37. 애자일 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다.