3. 발표자
•컴퓨터공학 학사 (2006 - 2014)
•Win32 Server / Client developer (2013.11 - 2014.5)
•E-UTRAN(LTE) L3 feature developer (2014.10 - 2017.01)
•Master of Information Technology specialized in A.I. (2017.07 - )
!3
4. 발표자
•컴퓨터공학 학사 (2006 - 2014)
•Win32 Server / Client developer (2013.11 - 2014.5)
•E-UTRAN(LTE) L3 feature developer (2014.10 - 2017.01)
•Master of Information Technology specialized in A.I. (2017.07 - )
중퇴
!4
5. 지금은?
•연구중: 다중 인물에 대한 합성 얼굴 이미지 생성 @DLC, 모두의 연구소
•연재중: 모두를 위한 컨벡스 최적화 @풀잎스쿨, 모두의 연구소
•연재중: Sutton & Barto book 이론부터 구현까지
•모의중: 강화학습을 이용한 극강의 마리오 Agent 만들기
•운영중: 딥러닝을 공부하는 청년백수 모임
!5
근면한 백수 (그래도 삶은 계속된다)
7. 발표의 대상
•Agile을 소프트웨어 개발 외에 적용하는 것에 관심이 있다면?
•효과적인 일정관리에 관심이 있다면?
•요새의 (근면한) 백수들이 어떻게 사는지 궁금하다면?
!7
8. 발표의 대상
•Agile을 소프트웨어 개발 외에 적용하는 것에 관심이 있다면?
•효과적인 일정관리에 관심이 있다면?
•요새의 (근면한) 백수들이 어떻게 사는지 궁금하다면?
Agile에
대한
사전지식
필요 無!
준다.
!8
9. 발표할 내용
•Scrum의 일부 방법론을 활용한 개인일정 관리
!9
이미지출처:
https://en.wikipedia.org/wiki/Scrum_(software_development)#/media/File:Scrum_Framework.png
10. 발표할 내용
•Scrum의 일부 방법론을 활용한 개인일정 관리
!10
이미지출처:
https://en.wikipedia.org/wiki/Scrum_(software_development)#/media/File:Scrum_Framework.png
Known-to-Unknown Approach를 기반으로!
11. 발표할 내용
•인터넷 시대의 문명을 활용
- Trello
- Slack
•Trello API & Slack chatbot을 이용한 반복적 업무 자동화
•이 활동의 계기와 의의, 그리고 나의 소원
!11
13. 포스터에 있던 그 문구
•‘딥러닝을 공부하는 청년백수 모임’에는 다음과 같은 사람들이
모여있습니다.
1. 커리어 전환을 위해 Gap Year를 보내고 있는 사람들
2. 더 높은 단계를 목표로 지적 소양을 쌓고 있는 사람들
•본 모임은 각 구성원이 자기개발 시간을 더욱 효과적으로 관
리할 수 있도록 Agile 방법론에 기반한 여러가지 도구들을 제
공합니다.
13
14. 포스터에 있던 그 문구
•‘딥러닝을 공부하는 청년백수 모임’에는 다음과 같은 사람들이
모여있습니다.
1. 커리어 전환을 위해 Gap Year를 보내고 있는 사람들
2. 더 높은 단계를 목표로 지적 소양을 쌓고 있는 사람들
•본 모임은 각 구성원이 자기개발 시간을 더욱 효과적으로 관
리할 수 있도록 Agile 방법론에 기반한 여러가지 도구들을 제
공합니다.
!14
청년백수와 Agile??
이미지출처:
http://profspevack.com/archive/animation/tech_support/images/character_dev/expresssions.jpg
19. 그들에게 필요한 것?
•지속적인 동기부여
- 지속적인 상호작용
- 효율적인 일정관리
!19
이미지출처:
http://profspevack.com/archive/animation/tech_support/images/character_dev/expresssions.jpg
열심히 사는 당신의 삶에
Agile을 도입해본다면?
21. Agile
•애자일 소프트웨어 개발 선언
21
우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을
도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고
있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다:
공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하기를
가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만,
우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.
출처: http://agilemanifesto.org/iso/ko/manifesto.html
22. Agile
•애자일 선언 이면의 원칙
22
우리는 다음 원칙을 따른다:
우리의 최우선 순위는, 가치 있는 소프트웨어를
일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.
비록 개발의 후반부일지라도 요구사항 변경을 환영하라.
애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
작동하는 소프트웨어를 자주 전달하라. 두어 주에서
두어 개월의 간격으로 하되 더 짧은 기간을 선호하라.
비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에
걸쳐 날마다 함께 일해야 한다.
동기가 부여된 개인들 중심으로 프로젝트를 구성하라.
그들이 필요로 하는 환경과 지원을 주고 그들이 일을
끝내리라고 신뢰하라.
(후략: 기타 7가지 원칙)
출처: http://agilemanifesto.org/iso/ko/principles.html
25. Scrum
•Scrum is an iterative and incremental framework for
managing product development.
•A key principle of Scrum is the dual recognition that
customers will change their minds about what they
want or need (often called requirements volatility) and
that there will be unpredictable challenges.
!25 참고: https://en.wikipedia.org/wiki/Scrum_(software_development)
27. Waterfall Model
•전통적인 개발 프로세스
!27
만약 이 시점에
고객 요구사항이
바뀐다면?
이미지출처:
https://en.wikipedia.org/wiki/Waterfall_model
http://profspevack.com/archive/animation/tech_support/images/character_dev/expresssions.jpg
28. Scrum
•Scrum is an iterative and incremental framework for
managing product development.
•A key principle of Scrum is the dual recognition that
customers will change their minds about what they
want or need (often called requirements volatility) and
that there will be unpredictable challenges.
!28 참고: https://en.wikipedia.org/wiki/Scrum_(software_development)
반복/점진적
개발주기를 통한
지속적인
상호인지
29. Scrum
•Known-To-Unknown Approach (나와 고객)
- 사전지식을 기반으로 계획수립
- 개발 과정에서 언제든 변동이 발생할 수 있음을 주지
- 반복적인 배포를 통해 고객의 피드백을 주기적으로 수집
- 발생하는 변동을 즉각적으로 반영
!29
30. Scrum
•Known-To-Unknown Approach (나와 고객)
- 사전지식을 기반으로 계획수립
- 개발 과정에서 언제든 변동이 발생할 수 있음을 주지
- 반복적인 배포를 통해 고객의 피드백을 주기적으로 수집
- 발생하는 변동을 즉각적으로 반영
➡ 이 과정에서 앎의 영역은 점점 확대되고,
고객의 요구사항과 산출물은 점차 수렴해간다.
!30 이미지출처:
http://profspevack.com/archive/animation/tech_support/images/character_dev/expresssions.jpg
32. Scrum
•Known-To-Unknown Approach (나와 팀)
- 팀 내의 지속적 소통을 바탕으로 현황에 대한 상호인지
- 작은 단위의 task 운영을 통한 up-to-date schedule의 관리
- 반복적 회고를 통한 점진적 개선
➡ 간과되기 쉬운 부분들을 계속하여 인지의 영역위로 끌어올려준다.
➡ 효율적인 일정관리와 지속적 개선의 긍정적인 부수효과가 발생한다.
➡ 지속적 상호작용으로 외로움과 고독이 완화된다.
!32
33. Scrum
•Known-To-Unknown Approach (나와 팀)
- 팀 내의 지속적 소통을 바탕으로 지속적인 상호인지
- 작은 단위의 task 운영을 통한 up-to-date schedule의 관리
- 반복적 회고를 통한 점진적 개선
➡ 간과되기 쉬운 부분들을 계속하여 인지의 영역위로 끌어올려준다.
➡ 효율적인 일정관리와 지속적 개선의 긍정적인 부수효과가 발생한다.
➡ 지속적 상호작용으로 외로움과 고독이 완화된다.
!33
바로 이것!
37. Scrum
•Product Backlog
- “The product backlog comprises an ordered list of product
requirements that a scrum team maintains for a product."
- 하나의 주기 내에서는 장기적인 계획을 표현하기 어렵다. 그러므
로 Product Backlog를 활용하여 중/장기 비전에 대한 계획 관리
를 하도록 한다. (분기 / 반기 / 년)
!37 참고: https://en.wikipedia.org/wiki/Scrum_(software_development)
39. Scrum
•Sprint
- “A sprint (or iteration) is the basic unit of development in
Scrum. The duration is fixed in advance for each sprint and
is normally between one week and one month.”
- 관리 편의성을 위해 한 달을 1 sprint로 운영하도록 한다.
(e.g. 1월: Sprint1, 2월: Sprint2, 3월: Sprint 3 ...)
!39 참고: https://en.wikipedia.org/wiki/Scrum_(software_development)
41. Scrum
•Scrum Team & Scrum Master
- “The development team is responsible for delivering
potentially shippable product increments every sprint (the
sprint goal). The team has from three to nine members.”
- "The scrum master helps to ensure the team follows the
agreed processes in the Scrum framework, often facilitates
key sessions, and encourages the team to improve.”
- 서로의 일정운영에 지속적인 관심을 갖기 위해서는 적정 인원(3~9
인)의 팀이 구성되어야 한다. Scrum master는 팀원들이 규칙을
잘 준수할 수 있도록 최소한의 통제 및 조언을 하도록 한다.
!41 참고: https://en.wikipedia.org/wiki/Scrum_(software_development)
43. Scrum
•Daily Scrum Meeting
- “Each day during a sprint, the team holds a daily Scrum
(or stand-up) up to 15 minutes. Each team member swiftly
states the following three items: Done, On-going, and any
impediment.”
- 각 구성원은 daily meeting 이전에 본인이 서술할 항목에 대해 준
비해야 한다. 서술은 본인이 보드에 작성한 task card를 중심으로
하며, 당초 예상보다 일정이 늘어질 경우 해당 task를 분리하
도록 한다.
- 하나의 task는 최대 이틀을 넘기지 않게끔 작성한다.
!43 참고: https://en.wikipedia.org/wiki/Scrum_(software_development)
44. Scrum
•Daily Scrum Meeting
- Synchronous Daily Meeting
‣ 정해진 시간, 정해진 장소에서 구두로 진행
- Asynchronous Daily Meeting
‣ 각 개인의 일과시작 전, 모두가 볼 수 있는 장소에 글로 게시
!44
참고: https://medium.com/@stevoscript/why-your-team-should-try-asynchronous-
daily-stand-ups-87f1b809e5c8
45. Scrum
•Daily Scrum Meeting
- Synchronous Daily Meeting
‣ 정해진 시간, 정해진 장소에서 구두로 진행
- Asynchronous Daily Meeting
‣ 각 개인의 일과시작 전, 모두가 볼 수 있는 장소에 글로 게시
!45
참고: https://medium.com/@stevoscript/why-your-team-should-try-asynchronous-
daily-stand-ups-87f1b809e5c8
서로 다른 Time zone, 생활리듬이 다름을 고려
47. Scrum
•Sprint Retrospective
- “The Sprint Retrospective occurs prior to the next Sprint
Planning. This is at most a three-hour meeting for one-
month Sprints. During the Sprint Retrospective, the team
discusses the followings: Good, Bad, and To-be-improved.”
- 짧은 주기를 역동적으로 반복하는 Scrum의 특성상, 지난 sprint에
대한 회고가 없으면 미처 인지하지 못하고 같은 실수를 반복적으
로 저지를 수 있다.
- To-be-improved에는 Bad 항목을 개선할 수 있는 구체적인 행동
이 기입된다.
!47 참고: https://www.scrum.org/resources/what-is-a-sprint-retrospective
57. 피드백
•Pros
- 일정운영의 효율 상승! 일간 일정의 공개적 게시, 팀원간 피드백에
서 발생하는 효과는 굉장했다. 일정 운영에 좀 더 책임감을 느끼게
되었다.
- 계획력 및 일정 추정능력 향상! 매일 하루 단위의 Task card들을
동적으로 관리하며, 계획보다 늘어지는 일정 및 계획하고 실행하
지 못한 일정에 대한 뚜렷한 인식이 가능해졌다.
- 다양한 지식 공유, 호기심의 확장! 다양한 전문영역의 참여자들이
지속적으로 소통하며 평소 알지 못했던 세계를 교류하는 계기가
되었다.
- 동기부여의 효과 발생! 서로의 성장을 지켜보는 것으로 일상의 열
!57
83. 아이디어
•Backlog와 sprint board간의 연동
•계획 후 실행되지 않고 지워지는 task에 대한 기록
•‘오늘 할 일’ 목록에서 이틀 이상 머물러있는 task에 대한 알림
•각 sprint에 대한 항목 별 task 통계
•Pomodoro Technique을 이용하여 task별 실 소요시간 기록
!83
84. 아이디어
•Backlog와 sprint board간의 연동
•계획 후 실행되지 않고 지워지는 task에 대한 기록
•‘오늘 할 일’ 목록에서 이틀 이상 머물러있는 task에 대한 알림
•각 sprint에 대한 항목 별 task 통계
•Pomodoro Technique을 이용하여 task별 실 소요시간 기록
➡ 일부 개발 진행중
!84
86. 이 활동의 의의
•가속화 되고있는 기술 수요/유행의 변화
•전보다 희미해진 평생직장/평생직업의 개념
-> 평생교육 시대로의 변화
!86
87. 이 활동의 의의
•가속화 되고있는 기술 수요/유행의 변화
•전보다 희미해진 평생직장/평생직업의 개념
-> 평생교육 시대로의 변화
➡ 앞으로 누구나 일생에 한번쯤은 Gap Year를 가질 가능성이 높다.
➡ 하지만 아직 한국에는 Gap Year를 표현할 말이 없다.
!87
89. 이 활동의 의의
•한국의 문화와 정서에서, 직업이 없는 사람은 곧 ‘백수’
•부정적 선입견 속에 고통받는 이 시대의 ‘근면한 백수들’
•인식의 변화를 위해서는 ‘백수’들의 생산적 활동이 필요
•생산적 활동을 위해서는 이를 뒷바침할 체계적인 시스템이 필요
!89
90. 이 활동의 의의
•한국의 문화와 정서에서, 직업이 없는 사람은 곧 ‘백수’
•부정적 선입견 속에 고통받는 이 시대의 ‘근면한 백수들’
•인식의 변화를 위해서는 ‘백수’들의 생산적 활동이 필요
•생산적 활동을 위해서는 이를 뒷바침할 체계적인 시스템이 필요
➡ 누구나 마음이 시키는 것을 행동으로 옮길 수 있는 사회가
되기 위해
!90
91. 김구, ‘나의 소원’ 중
“산에 한 가지 나무만 나지 아니하고, 들에 한 가지 꽃만 피지 아니한다.
여러 가지 나무가 어울려서 위대한 삼림의 아름다움을 이루고 백가지 꽃이
섞여 피어서 봄들의 풍성한 경치를 이루는 것이다.
우리가 세우는 나라에는 유교도 성하고, 불교도, 예수교도 자유로 발달하고, 또
철학을 보더라도 인류의 위대한 사상이 다 들어와서 꽃이 피고 열매를
맺게 할 것이니, 이러하고야만 비로소 자유의 나라라 할 것이요.
이러한 자유의 나라에서만 인류의 가장 크고 가장 높은 문화가 발생할 것이다.”
99. Why
귀찮고 반복되는 일을 줄이자!
하나. 1주일에 1 번씩 <완료> 리스트의 카드들을 <아카이브> 리스트로 옮겨줘야 함
둘. 1달에 1번씩 새로운 <Sprint 보드>를 생성하고 이전의 보드의 <완료> 카드들을 다시
<아카이브> 하고 <아이디어, 오늘 할 일, 완료, 일시 정지> 리스트를 새로운 보드로 옮겨야 함
101. What
Scrum master의 보드 관리 시간과 신경쓰임 감소
(배움의 재미 + 뿌듯함) * n
새로운 Why의 시작
Sprint Retrospective를 할 때, 지나간 내용들을 다시 떠올리기 어려움
지난 daily-logs를 찾아보기 귀찮음
내가 쓴 내용들만 잘 정리해서 보고 싶어짐
daily-logs의 data를 어떻게 좀 활용해보고 싶다?
beyond daily-logs by APT 시작