SlideShare a Scribd company logo
1 of 39
Download to read offline
애자일
안 한 이야기
오늘의 이야기
삶의 여러 국면에서 애자일과 만나 영향을 받은 일에 대해
저는...
개발자 출신의 조직 리더 (=사람 관리 못한, 공감 능력 바닥, 일 중심)
영세기업 직원
순수 개발자
영세기업 대표
경영 & 개발 리드
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
애자일 선언
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을
도와주면서 소프트웨어 개발의 더 나은
방법들을 찾아가고 있다.
애자일과 저의 삶
生卽苦
삶은 질고다

More Related Content

What's hot

자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012Esun Kim
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략Jay Park
 
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話natsumi_ishizaka
 
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까? 2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까? Jihye OK
 
개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례
개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례
개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례Woogon Shim
 
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組みJumpei Miyata
 
Dll 파일 호출의 2가지 방법
Dll 파일 호출의 2가지 방법Dll 파일 호출의 2가지 방법
Dll 파일 호출의 2가지 방법진상 문
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.Yongho Ha
 
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브Atlassian 대한민국
 
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~hiroki tanaka
 
Elixirと他言語の比較的紹介 ver.2
Elixirと他言語の比較的紹介ver.2Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介 ver.2Tsunenori Oohara
 
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성KwangSeob Jeong
 
우아한유스방
우아한유스방우아한유스방
우아한유스방BYUNGHOKIM10
 
메타버스 서비스에 Android 개발자가 할 일이 있나요?
메타버스 서비스에 Android 개발자가 할 일이 있나요?메타버스 서비스에 Android 개발자가 할 일이 있나요?
메타버스 서비스에 Android 개발자가 할 일이 있나요?Myungwook Ahn
 
카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험Ohgyun Ahn
 
Books -「キャズム」 ジェフリー・ムーア
Books  -「キャズム」 ジェフリー・ムーアBooks  -「キャズム」 ジェフリー・ムーア
Books -「キャズム」 ジェフリー・ムーアKatsuhito Okada
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012devCAT Studio, NEXON
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법Jeongsang Baek
 

What's hot (20)

자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
React vac pattern
React vac patternReact vac pattern
React vac pattern
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략
 
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
 
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까? 2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
2020 Wanted Con.: '지금' 프로덕트 매니저는 무슨 일을 하고 있을까?
 
개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례
개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례
개발 생산성과 품질 향상을 위한 글로벌기업의 애자일 도입 및 적용사례
 
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
 
Dll 파일 호출의 2가지 방법
Dll 파일 호출의 2가지 방법Dll 파일 호출의 2가지 방법
Dll 파일 호출의 2가지 방법
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
 
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
エンタープライズRuby on Rails ~エンプラでぶち当たった2つの壁と突破法~
 
Elixirと他言語の比較的紹介 ver.2
Elixirと他言語の比較的紹介ver.2Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介 ver.2
 
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
Atlassian confluence WIKI를 활용한 공유와 협업 환경 구성
 
우아한유스방
우아한유스방우아한유스방
우아한유스방
 
메타버스 서비스에 Android 개발자가 할 일이 있나요?
메타버스 서비스에 Android 개발자가 할 일이 있나요?메타버스 서비스에 Android 개발자가 할 일이 있나요?
메타버스 서비스에 Android 개발자가 할 일이 있나요?
 
카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험
 
Books -「キャズム」 ジェフリー・ムーア
Books  -「キャズム」 ジェフリー・ムーアBooks  -「キャズム」 ジェフリー・ムーア
Books -「キャズム」 ジェフリー・ムーア
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 

Similar to 애자일 안한 이야기

[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)AgileKoreaConference Alliance
 
흰머리 성성하게 개발하기 위해
흰머리 성성하게 개발하기 위해흰머리 성성하게 개발하기 위해
흰머리 성성하게 개발하기 위해도형 임
 
H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해KTH
 
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형KTH, 케이티하이텔
 
나는 PM이다! 33회 신철민_발표자료
나는 PM이다! 33회 신철민_발표자료나는 PM이다! 33회 신철민_발표자료
나는 PM이다! 33회 신철민_발표자료Dong-Hwan Han, Ph.D.
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software productionJinho Yoo
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?Kay Kim
 
Sk planet 이야기
Sk planet 이야기Sk planet 이야기
Sk planet 이야기종범 고
 
(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드Jay Park
 
20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기SANGBUM HA
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinoneVMware Tanzu Korea
 
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법강 민우
 
개발자와 커뮤니티 - 기묘한 이야기
개발자와 커뮤니티 - 기묘한 이야기개발자와 커뮤니티 - 기묘한 이야기
개발자와 커뮤니티 - 기묘한 이야기Lee WonJae
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유agilekorea
 
개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114GeniNetworks
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기Hyunjung Kim
 
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례철민 신
 

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

AKC2020 marimba 마주연
AKC2020 marimba 마주연AKC2020 marimba 마주연
AKC2020 marimba 마주연
 
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
[AKC2021] 힐링페이퍼의 애자일 전환(고찬혁 / 김종우)
 
흰머리 성성하게 개발하기 위해
흰머리 성성하게 개발하기 위해흰머리 성성하게 개발하기 위해
흰머리 성성하게 개발하기 위해
 
H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해H3 2011 흰머리 성성하게 개발하기 위해
H3 2011 흰머리 성성하게 개발하기 위해
 
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
H3 2011 흰머리 성성하게 개발하기 위해_BaaS기술팀_임도형
 
나는 PM이다! 33회 신철민_발표자료
나는 PM이다! 33회 신철민_발표자료나는 PM이다! 33회 신철민_발표자료
나는 PM이다! 33회 신철민_발표자료
 
현장에서 사용하는 Software production
현장에서 사용하는 Software production현장에서 사용하는 Software production
현장에서 사용하는 Software production
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
 
Sk planet 이야기
Sk planet 이야기Sk planet 이야기
Sk planet 이야기
 
(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드(독서광) 필독! 개발자 온보딩 가이드
(독서광) 필독! 개발자 온보딩 가이드
 
20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기20150307 abcd발표_ux디자이너 실력으로 살아남기
20150307 abcd발표_ux디자이너 실력으로 살아남기
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
 
애자일, 그리고 퍼스널 애자일
애자일, 그리고 퍼스널 애자일애자일, 그리고 퍼스널 애자일
애자일, 그리고 퍼스널 애자일
 
개발자와 커뮤니티 - 기묘한 이야기
개발자와 커뮤니티 - 기묘한 이야기개발자와 커뮤니티 - 기묘한 이야기
개발자와 커뮤니티 - 기묘한 이야기
 
애자일 도입과 사례 공유
애자일 도입과 사례 공유애자일 도입과 사례 공유
애자일 도입과 사례 공유
 
개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114개발자로 사는 길!!! 20141114
개발자로 사는 길!!! 20141114
 
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
더 나은 사용자 경험과 비즈니스를 만들기 위한 프로덕트 매니저로 일하기
 
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
칸반을 활용한 업무프로세스 혁신 실천법과 적용사례
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 

More from Sungchul Park

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

More from Sungchul Park (20)

Java null survival guide
Java null survival guideJava null survival guide
Java null survival guide
 
자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법
 
Java.next
Java.nextJava.next
Java.next
 
자바 테스트 자동화
자바 테스트 자동화자바 테스트 자동화
자바 테스트 자동화
 
변경에 강한 애플리케이션, 유기적 애플리케이션
변경에 강한 애플리케이션, 유기적 애플리케이션변경에 강한 애플리케이션, 유기적 애플리케이션
변경에 강한 애플리케이션, 유기적 애플리케이션
 
자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴자바 서버 애플리케이션 아키텍처 안티 패턴
자바 서버 애플리케이션 아키텍처 안티 패턴
 
스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기
 
Geeks at SK Planet
Geeks at SK PlanetGeeks at SK Planet
Geeks at SK Planet
 
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신Beyond Java: 자바 8을 중심으로 본 자바의 혁신
Beyond Java: 자바 8을 중심으로 본 자바의 혁신
 
Java the good parts
Java the good partsJava the good parts
Java the good parts
 
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
 
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
스프링 코어 강의 2부 - Java 구성을 활용한 스프링 코어 사용
 
스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동스프링 코어 강의 1부 - 봄 맞이 준비 운동
스프링 코어 강의 1부 - 봄 맞이 준비 운동
 
자바8 나머지 공개
자바8 나머지 공개자바8 나머지 공개
자바8 나머지 공개
 
자바8 람다 나머지 공개
자바8 람다 나머지 공개자바8 람다 나머지 공개
자바8 람다 나머지 공개
 
팀장 잔소리
팀장 잔소리팀장 잔소리
팀장 잔소리
 
java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰
 
Open Source가 바꾼 자바
Open Source가 바꾼 자바Open Source가 바꾼 자바
Open Source가 바꾼 자바
 
Work With Engineer
Work With EngineerWork With Engineer
Work With Engineer
 
DDD 산책
DDD 산책DDD 산책
DDD 산책
 

애자일 안한 이야기

  • 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. 애자일 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다.