애자일 게임 개발이란?Kay Kim목차:
1 왜 애자일 게임 개발이 필요한가?
2 애자일 게임 개발이란 무엇인가?
3 애자일 게임 개발은 기본 개발과 어떻게 다른가?
4 애자일 게임 개발 사례들
5 애자일 게임 개발을 도입하려면 어떻게 해야 하지?
6 애자일, 그래서 한 마디로 하면 뭔데?
7 참고 자료 목록
출처: http://betterways.tistory.com/277
Non-IT 기업에서 애자일을 시작하는 방법Seungbin Cho누구나 애자일을 이야기하는 시대가 되었지만, 애자일하게 일한다는 것이 도대체 무엇인지 그 누구도 명쾌하게 설명해 주지 못하고 있습니다. Non-IT 기업에서 특히 그렇습니다. 많은 조직이 애자일을 잘못 이해해서 첫 단추부터 꼬여있거나, 어떻게 시작해야 할지 몰라 그냥 포기해버리거나, 막상 시작은 했지만 잘 하고 있는 건지 못 하고 있는 건지도 모르는 것이 현실입니다. 실제로 다양한 Non-IT 조직의 Non-IT 업무에 애자일을 코칭한 경험을 기반으로, Non-IT 분야에서 애자일하게 일한다는 것이 무엇인지, 어떻게 시작하는 것이 좋을지를 이야기하고자 합니다.
Deview 2013 - 나는 왜 개발자인데자신이 없을까?Minsuk Lee* 나는 왜 개발자인데자신이 없을까?
초보 개발자들은 다양한 공부를 했으면서도, 정작 개발에는 자신이 없어합니다. 그 이유를 알아보고, 그것을 극복하는 방법을 이야기합니다. 개발자로서 어떤 생각을 하면서, 어떤 자세로 살아야 하는지, 새로운 기술은 어떻게 배워나가야하는지, 자신있어 보이는 선수 개발자는 뭐가 다른지를 설명합니다. 모든 초보 개발자들이 가지고 있는 내면의 자신감을 끌어 올릴 수 있도록 도와주고, 이제 소프트웨어 개발자로 서의 커리어를 시작하는 사람들이 지속가능한 발전과 성공을 할 수 있도록 도와줍니다.
동영상 link: http://serviceapi.nmv.naver.com/flash/convertIframeTag.nhn?vid=8102105A2B82DE6DC96D57AA820458275CD7&outKey=V1210a0ea4d005fd624546a616cd783b464042b6f6db81e78fe926a616cd783b46404&width=720&height=438
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발Jaehoon Oh2013년 10월 24일 NIPA SW공학센터 테크니컬 세미나 발표자료입니다. 2012년 9월부터 2013년 10월까지 애자일 개발 프로세스를 도입하면서 겪었던 성공, 실패, 좌절과, 애자일 프로세스를 도입해서 얻은 성과와 배운 것들을 정리해 보았습니다.
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SFInsuk (Chris) Cho스프링캠프 2017에서 발표한 자료입니다.
피보탈 랩스 샌프란시스코 본사에서 경험한 린 & 애자일 기반 소프트웨어 제품 개발 경험담을 공유합니다.
Atlassian Product Overview (아틀라시안 제품 소개) - 2016년 4월 버전Atlassian 대한민국아틀라시안(Atlassian)의 회사 소개 및 제품 오버뷰 슬라이드 입니다.
아틀라시안의 모든 제품은 공식 홈페이지 https://ko.atlassian.com/ 또는 공식 파트너사를 통해 구매하실 수 있습니다.
대한민국 내의 공식 파트너사 리스트는 다음 링크를 참조하세요: http://goo.gl/qwh6ix
Designing International Development Programs by upgrading Global Value Chain Shomi KimFinal Presentation on the Designing International Development Project by Upgrading Global Value Chain
This is the presentation produced as part of the outcome of the KOICA training on business capacity of development specialist conducted from April 20 to April 23 both in South Korea and Danang.
Deview 2013 - 나는 왜 개발자인데자신이 없을까?Minsuk Lee* 나는 왜 개발자인데자신이 없을까?
초보 개발자들은 다양한 공부를 했으면서도, 정작 개발에는 자신이 없어합니다. 그 이유를 알아보고, 그것을 극복하는 방법을 이야기합니다. 개발자로서 어떤 생각을 하면서, 어떤 자세로 살아야 하는지, 새로운 기술은 어떻게 배워나가야하는지, 자신있어 보이는 선수 개발자는 뭐가 다른지를 설명합니다. 모든 초보 개발자들이 가지고 있는 내면의 자신감을 끌어 올릴 수 있도록 도와주고, 이제 소프트웨어 개발자로 서의 커리어를 시작하는 사람들이 지속가능한 발전과 성공을 할 수 있도록 도와줍니다.
동영상 link: http://serviceapi.nmv.naver.com/flash/convertIframeTag.nhn?vid=8102105A2B82DE6DC96D57AA820458275CD7&outKey=V1210a0ea4d005fd624546a616cd783b464042b6f6db81e78fe926a616cd783b46404&width=720&height=438
애자일 개발 프로세스를 이용한 고품질 소프트웨어 개발Jaehoon Oh2013년 10월 24일 NIPA SW공학센터 테크니컬 세미나 발표자료입니다. 2012년 9월부터 2013년 10월까지 애자일 개발 프로세스를 도입하면서 겪었던 성공, 실패, 좌절과, 애자일 프로세스를 도입해서 얻은 성과와 배운 것들을 정리해 보았습니다.
[Springcamp 2017] Build the RIGHT thing - 린 & 애자일 이야기 @ Pivotal Labs SFInsuk (Chris) Cho스프링캠프 2017에서 발표한 자료입니다.
피보탈 랩스 샌프란시스코 본사에서 경험한 린 & 애자일 기반 소프트웨어 제품 개발 경험담을 공유합니다.
Atlassian Product Overview (아틀라시안 제품 소개) - 2016년 4월 버전Atlassian 대한민국아틀라시안(Atlassian)의 회사 소개 및 제품 오버뷰 슬라이드 입니다.
아틀라시안의 모든 제품은 공식 홈페이지 https://ko.atlassian.com/ 또는 공식 파트너사를 통해 구매하실 수 있습니다.
대한민국 내의 공식 파트너사 리스트는 다음 링크를 참조하세요: http://goo.gl/qwh6ix
Designing International Development Programs by upgrading Global Value Chain Shomi KimFinal Presentation on the Designing International Development Project by Upgrading Global Value Chain
This is the presentation produced as part of the outcome of the KOICA training on business capacity of development specialist conducted from April 20 to April 23 both in South Korea and Danang.
다른 회사는 어떻게 QA, 테스팅을 하고 있을까? (google, facebook, atlass...Joseph Yonggoo YeoGoogle, Facebook, Atlassian은 어떻게 QA/Testing을 하고 있는지를 조사해본 자료이다.
http://goo.gl/9qhWgJ 에 원문 포스팅이 있다.
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk프로그래밍을 막 시작하거나 하고 있는 사람들을 위해 준비된 내용으로 요즘 프로그래밍 언어의 패러다임은 예전하고는 많이 달라졌다. 격변하고 있는 프로그래밍 언어의 세계에서 과거와 현재는 어떻게 다르며, 우리가 대처해야 할 자세는 무엇일까.
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기Seokjae Lee인프콘 2023에서 발표한 <코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기> 발표 자료입니다.
https://www.inflearn.com/conf/infcon-2023/session-detail?id=765
애자일의 모든것KH Park (박경훈)- 애자일 선언문의 원칙들
- 애자일의 오해
- 스크럼(Scrum)
- User Story
- Estimation
- XP(eXtreme Programming)
- XP Practice #1 – TDD와 테스트 자동화
- XP Practice #2 – Refactoring, CI
- 애자일 사례 소개
회사에서 새로운 기술_적용하기Dexter Jungc#으로 된 프로젝트 결과물만 가득찬 회사에서 완전 새로운 언어로 도전하며 생긴 여러가지 일들을 공유합니다.
( Ruby 와 Vue.js 기반으로 개발을 진행 하였습니다. )
또한 애자일을 도입하면서 성공한 부분과 실패한 부분 또한 이 슬라이드에서 다룹니다.
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea<3탄>스프링 부트를 사용한 마이크로 서비스 개발 (로컬 환경) | 페어 프로그래밍 데모 (테스트 작성)
이번 세션에서는 Spring Boot를 사용한 웹 애플리케이션 개발에 대해 소개합니다. 이때 제작되는 애플리케이션은 Pivotal에서 풀타임으로 사용하고 있는 페어프로그래밍을 통해 테스트부터 작성하는 핑퐁 페어등을 소개합니다. 두명이 함께 코드를 작성하는 환경을 통해 빠른 사업환경의 변화를 수용할 수 있는 개발 업무가 Pivotal에서는 어떻게 다른지 살펴봅니다.
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2The document discusses various machine learning clustering algorithms like K-means clustering, DBSCAN, and EM clustering. It also discusses neural network architectures like LSTM, bi-LSTM, and convolutional neural networks. Finally, it presents results from evaluating different chatbot models on various metrics like validation score.
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2The document discusses challenges with using reinforcement learning for robotics. While simulations allow fast training of agents, there is often a "reality gap" when transferring learning to real robots. Other approaches like imitation learning and self-supervised learning can be safer alternatives that don't require trial-and-error. To better apply reinforcement learning, robots may need model-based approaches that learn forward models of the world, as well as techniques like active localization that allow robots to gather targeted information through interactive perception. Closing the reality gap will require finding ways to better match simulations to reality or allow robots to learn from real-world experiences.
[243] Deep Learning to help student’s Deep LearningNAVER D2This document describes research on using deep learning to predict student performance in massive open online courses (MOOCs). It introduces GritNet, a model that takes raw student activity data as input and predicts outcomes like course graduation without feature engineering. GritNet outperforms baselines by more than 5% in predicting graduation. The document also describes how GritNet can be adapted in an unsupervised way to new courses using pseudo-labels, improving predictions in the first few weeks. Overall, GritNet is presented as the state-of-the-art for student prediction and can be transferred across courses without labels.
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2This document provides a summary of new datasets and papers related to computer vision tasks including object detection, image matting, person pose estimation, pedestrian detection, and person instance segmentation. A total of 8 papers and their associated datasets are listed with brief descriptions of the core contributions or techniques developed in each.
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2그림이 정상 출력되는 다음 링크의 자료를 확인해 주세요.
/deview/233-network-load-balancing-maglev-hashing-scheduler-in-ipvs-linux-kernel
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2This document presents a formula for calculating the loss function J(θ) in machine learning models. The formula averages the negative log likelihood of the predicted probabilities being correct over all samples S, and includes a regularization term λ that penalizes predicted embeddings being dissimilar from actual embeddings. It also defines the cosine similarity term used in the regularization.
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2The document discusses running a TensorFlow Serving (TFS) container using Docker. It shows commands to:
1. Pull the TFS Docker image from a repository
2. Define a script to configure and run the TFS container, specifying the model path, name, and port mapping
3. Run the script to start the TFS container exposing port 13377
[213] Fashion Visual SearchNAVER D2The document discusses linear algebra concepts including:
- Representing a system of linear equations as a matrix equation Ax = b where A is a coefficient matrix, x is a vector of unknowns, and b is a vector of constants.
- Solving for the vector x that satisfies the matrix equation using linear algebra techniques such as row reduction.
- Examples of matrix equations and their component vectors are shown.
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2This document describes the steps to convert a TensorFlow model to a TensorRT engine for inference. It includes steps to parse the model, optimize it, generate a runtime engine, serialize and deserialize the engine, as well as perform inference using the engine. It also provides code snippets for a PReLU plugin implementation in C++.
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2The document discusses machine reading comprehension (MRC) techniques for question answering (QA) systems, comparing search-based and natural language processing (NLP)-based approaches. It covers key milestones in the development of extractive QA models using NLP, from early sentence-level models to current state-of-the-art techniques like cross-attention, self-attention, and transfer learning. It notes the speed and scalability benefits of combining search and reading methods for QA.
5. 유의 사항
- 최대한 솔직하게 이야기 할거니까
어디가서 이야기 하시면 안되어요…
- 여러분 믿고 이야기 시작합니다..
- 그리고 롤러코스터 처럼 진행될 예정이니까
여러분도 저도 모두 정신 바짝!!
6. "참혹한 운명의 화살을 맞고 마음속으로 참아야 하느냐.
아니면 성난 파도처럼 밀려오는 고난과 맞서 용감히 싸워
그것을 물리쳐야 하느냐. 어느 쪽이 더 고귀한 일일까."
- Hamlet
7. 일반적으로 프로젝트가 시작되면…
기본적인 개발 환경설정 작업이 필요합니다
코드 저장소가 필요하고
• SVN? GIT?
이슈를 관리해야 하고
• 엑셀?
• 이메일?
• 어떤 사안의 변경이력을 보려면?
각종 문서나 파일들도 관리해야 하고
팀이나 파트가 여러 개일 경우에는 각각 권한 관리도 필요하고…
9. 느낀 점과 노력
발견한 점
많은 사람들이 충분히 열심히 하고 있지만 이상한 누수가 있다!
생각보다 적은 노력으로 많은 사람들이 혜택을 볼 수 있는 방법이 존재
한다!
(프로젝트에는) 돈이 참 없구나…
좋은 도구든 방법론이든 뭐든 조금만 복잡해져도 쉽게 받아들여지기가
어렵구나..
10. 느낀 점과 노력
어떤 믿음과 생각
프로젝트의 이슈는 관리되어야 한다
개인과 조직의 지식은 전승되어야 한다.
코드는 안정적으로 저장되어야 하고 원하는 시점으로 언제든 돌아갈 수
있어야 한다.
코드던지 이슈던지, 어떤 문제든 그 대상에 대해서 관련 있는 사람들,
이를테면 팀원들이나 고객, 기획자들이 서로 쉽게 이야기를 나눌 수 있
어야 하고 그 내용이 보존되어야 한다.
프로젝트 문서나 파일은 한 곳에서 관리될 수록 좋다!
13. 프로젝트 관리도구
JIRA
이슈 트래커
조금 복잡한 감이 있지만 기능 좋음
사용자 10명까지는 10$이지만 11명부터는? 최소 1200$
코드관리를 위해서는 동사의 FishEye/Stash를 구매해야 함
• 마찬가지로 10명이 넘으면 최소 각각 1200$
그리고 문서관리도 함께 하려면 Confluence.. 1200$
24. Yobi ?
설치형 프로젝트 호스팅 SW
private / public 프로젝트 선택 생성가능
오픈소스 (무료로 사용가능)
Apache License 2.0
쉬운 설치
All-in-one
Java 7 이상, 인터넷 연결된 환경
의존성 추가 도구들 설치 필요 없음
Windows / Linux / Mac 지원
40. Yobi 이름
Yobi 요비
280 : YiB, Yotta binary
IEC에서 2005년 8월에 지정한
현존 가장 큰 디지털 데이터 정보저장 단위
그리고.. 발음이 귀엽다..
*IEC: International Electrotechnical Commission
46. 몇 가지 가정
몇 가지 가정
팀원이 몇 명 없고 불안(?)이 크니 목표가 확실해야 한다!
그리고 개발에 대한 동기도 확실해야 한다!
중간에 지칠 수도 있고 기억이나 결심도 약해질 수 있으니 적어 놓자
대신 뭐든 짧고 간결하게!
최대한 Plain Text를 이용한다.
• 워드/엑셀/특정 도구가 없어도 되게..
48. Vision 수립시의 질문들
무엇을 하는 SW인가?
개발팀에게 있어서는 어떤 의미의 SW인가?
우리의 현재 고객은 누구인가?
우리의 미래 고객은 누구인가? 누가 사용했으면 좋
겠는가?
목표로 한 미래의 고객을 만들기 위한 활동은?
프로젝트 개발이 현재 어디쯤에 있는지 어떻게 하면
알 수 있을까?
53. 스펙 작성
기능목록
항목별로 "누가" "뭘 하기 위해" "어떤 기능이 필요하다" 식으로 서술
• "누가"와 "뭘 하기 위해"를 잘 적으면 확실히 도움이 많이 된다.
분량을 산정하기 위해 포인트를 적는다
• 가장 쉬운 개발을 1점으로 가정해서
• 점수가 아주 정확할 필요는 없다.
• 전체적인 분량파악에만 도움이 되면 된다.
추천정도
어머!! 이건 꼭 사야해야 함!
57. 스펙 작성
상세 스펙
기능 목록의 항목 하나를 상세화 한 것
완료 조건(Acceptance Criteria)과 화면설계 파일을 적어 놓음
추천정도
상세 스펙을 적기에 적절한 스타일
기능목록과 겹치는 부분이 있는데 따로 관리하니까 조금 불편
완료조건을 예제로 적는 건 Spec By Example의 사상을 도입함
59. 화면 설계
Balsamiq Mockup
사용방법이 쉬움
손으로 그리는 것 보다는 조금 시간이 더 걸리지만 디자이너랑 이야기
하기엔 괜찮음
추천정도
손으로 종이에 그려 놓은것 보다는 수정 시 디자인 훼손이 적고
오래 유지된다는 점에서는 +
하지만 역시 디자이너와 꾸준히 대화하는 것이 더 중요함 (!!)
62. 개발하기
마일스톤 세우기
이벤트를 기준으로 정한다.
- NHN Next에 반영, 센터 내에서 사용, D2FEST에서 사용 등
너무 시점이 길진 않게 조절(6주~8주 정도)
기능목록에서 우선순위와 분량을 따져서 가져온다
(조금 슬프지만) 이번 마일스톤이 개발의 마지막이 되더라도 SW의 상
태가 의미있도록 개발 기능 선정을 고려한다.
63. 개발하기
아침 미팅
아침마다 인생이야기 + 개발 이야기 공유 하기
일감 정하기
누군가가 할당 하지 않고 개인이 알아서 가져온다
65. 개발 시 몇 가지 기본 원칙
최대한 직접 개발하지 않는다.
개발하기 전에 유사 모듈이 있는지 검색해서 가져다 쓴다.
딱 입맛에 맞는게 없네~ 라는 생각이 들어서 다시 만들고 싶으면 가장
비슷한 걸 골라서 수정한다.
그렇게 개선한 내용은 다시 원래 프로젝트로 돌려준다.
(contribution 권장)
외부 표준이 있으면 표준을 따른다
예) versioning은 semver.org 를 따르고..
66. 개발 시 몇 가지 기본 원칙
어떠한 기능을 개발하려 할 때 해당 기능을 우회적
으로라도 일부 대체 사용할 수 있다면 뒤로 우선순위
를 미룬다.
사용자들의 요청이 좀 더 강력해 지거나 시간적 여유가 생겼을 때 개발
한다.
예) 이슈 워크플로우(work-flow) 기능을 개발하려고 했는데 현재 있는
라벨 기능을 이용하면 불편하지만 어느정도 해당 기능을 구현할 수 있
다. 그럼 지금은 이슈 워크플로우 기능기능 대신 다른 기능을 먼저 개발
한다.
67. 개발 시 몇 가지 기본 원칙
어떤 기능을 구현할때 고민이 되면 팀원들에게 의견
을 묻고 팀원들은 적극적으로 자신의 의견을 제시한다.
고민이 될 수록 최대한 많은 의견을 듣는다.
하지만 최종 결정은 해당 기능을 개발하는 사람이 결정하고 다른 사람
들은 따른다.
68. 개발 시 몇 가지 기본 원칙
코드 주고받기(Pull-Request) 기능 적극 사용
원본 프로젝트를 복사(Fork)한다
ORIGIN
Project
FORKING
기능 개발은 자신만의 Forked Project에서 진행하고 완료되면 origin
으로 코드 받아달라고(pull-request) 요청한다. 이때 필요하다면 알아
서 branch를 만든다.
ORIGIN
Project
FORKING
개발
branch
69. 개발 시 몇 가지 기본 원칙
코드 주고받기(Pull-Request) 기능 적극 사용
코드 리뷰를 한다.
70. 개발 시 몇 가지 기본 원칙
코드 주고받기(Pull-Request) 기능 적극 사용
코드 리뷰 내용을 반영해서 다시 코드를 받아 달라고 요청한다.
ORIGIN
Project
FORKING
다시 요청
개발
branch
코드 리뷰내용 적용
71. 개발 시 몇 가지 기본 원칙
코드 주고받기(Pull-Request) 기능 적극 사용
전체 적인 모양
ORIGIN
Project
코드리뷰
Forked A
개발자 A
Forked B
개발자 B
Forked C
개발자 C
72. 개발 시 몇 가지 기본 원칙
코드 주고받기(Pull-Request) 기능 적극 사용
단, 간단한 수정이나 hotfix는 코드리뷰를 따로 거치지 않는다.
ORIGIN
Project
Forked A
개발자 A
Forked B
개발자 B
Forked C
개발자 C
73. 개발 시 몇 가지 기본 원칙
코드 주고받기(Pull-Request) 기능 적극 사용
당연한 방식이라고 생각 할 수도 있지만
완소 추천!
79. 선행 서비스/ 제품들
Trac, 2006; 7 years ago
JIRA, 2002, 11 years ago
GITHUB, 2008, 5 years ago
한편 Yobi는?
2012, 1 year ago
80. 선행 서비스/제품들이 있는 상태에서 Yobi를 만든다 것
We are not first
이미 편리하다고 생각하는 아이디어 들은 빠르게 적용 가능
• pull-request 같은 아이디어
그리고 평소 불편하다고 생각되는 건 입맛에 맞게 개선하면 됨
그런데 코드가 없으니 클린룸 개발의 경우가 많음
또 한편, 두려운 점은..
영혼없는 개발자 소리를 듣는 것
치열하게 고민하다가 결론을 내리고 github을 보면 논의되어 나온대로
되어 있음
85. GITHUB
고민끝에 기능을 결정하고 github을 보면 똑같거나
더 똑똑한 경우가 많음
여차하면
영혼없는 개발자들…
Github의 Deadcopy
베끼기 네이버 개발자들..
소리를 듣기 십상
86. 엄살?
으응? 그래서?
선행 제품/서비스가 있다고 결코 쉽지 않다
더 더 고민해야 하는구나…
1등 서비스 만드는 사람들은 바보가 아니니까 가만히 있을 리 없다
• 따라가기 벅차다는 느낌도 때로..
그래도 고민을 하고 노력하니까 Yobi만의 기능들도 들어가기 시작함!
90. 잘하고 있다고 생각되는 점 (1/2)
주석을 달고 리팩터링 하는 시간을 따로 가졌음
새로 온 멤버들이 더 빨리 적응하는 계기가 됨
개밥먹기
먹어보니 알겠더라.. 그 맛…
단계적 릴리즈
NHN NEXT 센터 내에 반영 D2Fest에서 사용 DEVIEW 발표
일감 각자 알아서 챙겨가기
"제가 할게요… 느낌 아니까.."
91. 잘하고 있다고 생각되는 점 (2/2)
팀원이 모두 개발에 참여
디자인 / 기획 / 기능개발 / 테스트
때때로 짝 프로그래밍
역시 한 사람 보다는 두 사람이 하면 더 좋구나
서로 뭐 하는지 알기 / 문제에 대해 공유하기
똑같은 삽질 반복하지 않기
아이디어 나누기
예) 탭을 기억하는 방식에 대해서
• local storage? server-side 처리? push-state 조작? cookie?
92. 실수한 점들
코드 리뷰를 훨씬 더 일찍 시작했어야 했었음
결국 변변한 릴리즈도 하기 전에 재개발 수준의 리팩토링을 해야 했음
95. 어려운 점들 1
Playframework 2
ORM (Ebean)
공부 조금 하고 쉽게 되는 게 아니구나..
소스코드를 보자!
96. 어려운 점들 2
Scala
컴파일 시간이 오래 걸림 (!!!)
빌드 서버를 따로 구축해서 써야 할 정도
Sbt 버전에 따른 다른 동작
build tool for Scala
설치형 단독 제품이면서 서비스 제품이다.
예) 서버 비밀 키를 생성하도록 유도해야 하는 경우
97. 아쉬운 점 + 기타 불안?
상주 디자이너를 가지지 못한 점
UX 전문가가 없어서 시간이 많이 걸리고도 부족함
팀이 언제 사라져도 어색하지 않다!
기회이자 불안요소
• 동기부여에 대한 양날의 칼 같은 느낌
잘해서 가치를 증명해 보자! VS 언제까지 할 수 있으려나~
98. 기타 도움이 많이 된 것들
IntelliJ IDEA
Open-Source License 를 받아서 사용
참여하시면 드립니다!
Test Code
더 많이 짯어야 했는데..
GITHUB
잘 만들었음
99. 기타 도움이 많이 된 것들
CI (Travis-CI)
깨진 빌드나 테스트는 바로바로 알려줌
101. # 개발팀원이면서 리더가 되는 것
리더로써 해야 할 일은
팀원들의 이야기를 들어줘야 하는 것
독단적이지 않게 결정을 해야 하는 것
그리고 책임을 지는 것
• 결정을 전가하던가
• 직접 내리던가 어느 경우든
102. # 개인적으로 중요시 한 점
저에게 중요한 점은
저희가 만드는 SW인 Yobi를 쓰는 고객만큼이나
저희 팀 개발자들의 삶이 중요하다고 생각합니다.
영혼을 울리는 맛의 수제 햄버거 가게
고객도 울었고, 직원도 울었다
SW가 두 가지 측면
삶을 개선하거나
즐거움을 준다
이 부분이 고객에게만 해당되지 않도록
104. 향후 계획
우선 먼저…
부족한 게 많습니다…
갈 길이 아직 멀었습니다…
그런데 여튼 저희 팀은 Yobi로 Yobi 개발 하고
있습니다.
나름 쓸 만 합니다.
105. 향후 계획
코드 리뷰 기능 강화
이슈 워크 플로우 (workflow)
엔터프라이즈 요구사항 반영
조직 구성
LDAP 연결 등
기본 기능 안정성 증가
106. 목표
목표는
한국의 대표적인 오픈소스 제품
GITHUB, GITLAB, TEAM-FORGE 등과 경쟁
해외에서도 사용하고 외쿡인도 참여해서 함께 개발해 가는 것
• 현재 한국어 / 영어 / 일어(…) 지원
하지만 무엇보다..
개발자인 우리들에게 도움이 되고 사랑 받는 SW가 되는 것 :D
109. 요약 및 결론
SW 개발은 참 어렵다
부족한 점 많지만 개발팀에 응원을 보내주시면
더 열심히 노력해서 더 더 좋은 SW로 보답하겠습니다.
많이 써주시고
FEEDBACK 많이 주시고
여유가 되시면 코드기여도 해주세요
바로, 우리의 삶이 좀 더 나아질 수 있도록 하는 건
저희 팀 혼자 만드는 SW가 아니라 함께 만들어 간 SW로 되었으면 좋겠고
SW의 존재 목적인
더 나은 세상, 즉 삶에 보탬이 되거나 좀 더 즐거울 수 있도록 도와주는
그런 SW가 되었으면 좋겠고 그런 SW를 만들어 주셨으면 좋겠습니다.
110. Q&A + a 는
BOF 시간에
개발팀 멤버들과 함께
나눠요~
오후 1시 부터 시작하는 "Git은 어떻게 동작하는가" 시간에는
Yobi 내부 동작과 기능개발 고민에 대한 이야기를
좀 더 자세히 들으실 수 있습니다.