Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
좋은 디자이너, 나쁜 프로젝트매니저, 이상하...
Search
Suyeol Jeon
September 08, 2014
Business
0
100
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자
https://www.slideshare.net/devxoul/ss-14215375
Suyeol Jeon
September 08, 2014
Tweet
Share
More Decks by Suyeol Jeon
See All by Suyeol Jeon
성장하는 iOS 개발자 되기
devxoul
2
230
레거시 프로젝트에서 의존성 주입하기
devxoul
1
2.3k
Let's TDD
devxoul
0
70
Hello, ReactorKit 👋
devxoul
0
84
Build Funnels with Google BigQuery
devxoul
0
32
RxSwift 시작하기
devxoul
1
350
ReactorKit으로 단방향 반응형 앱 만들기
devxoul
0
130
Swift - 혼자 공부하면 분명히 안할테니까 같이 공부하기
devxoul
10
3.2k
Other Decks in Business
See All in Business
Helpfeel 開発部採用資料
helpfeel
0
110
パーキング・チケット 発給設備のキャッシュレス化
tokyo_metropolitan_gov_digital_hr
0
280
kintoneを活用した緊急通行車両確認手続の迅速化
tokyo_metropolitan_gov_digital_hr
0
420
Backlogで1on1を進化させる!メンバーの成長を促すアプローチ
kohsakusaito
PRO
2
230
組織拡大における マネージャーオンボーディング / Manager Onboarding in Organizational Expansion
takashi_toyosaki
1
150
ARI会社説明
arisaiyou
0
4.3k
merpay-Overview
mercari_inc
7
160k
Theoria technologies:About Us
theoriatec2024
1
2.1k
merpay-overview_en
mercari_inc
1
17k
kubell COMPASS Ver 1.0.0
kubell_hr
0
3.8k
VISASQ: ABOUT US
eikohashiba
15
460k
Nstock 採用資料 / We are hiring
nstock
26
250k
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Facilitating Awesome Meetings
lara
50
6.1k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Site-Speed That Sticks
csswizardry
0
34
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Designing the Hi-DPI Web
ddemaree
280
34k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Music & Morning Musume
bryan
46
6.2k
Ruby is Unlike a Banana
tanoku
97
11k
Code Review Best Practice
trishagee
64
17k
Transcript
좋은 디자이너, 나쁜 프로젝트매니저, 이상한 개발자 전수열
[email protected]
저는... SW Maestro 2기 스타트업 Joyfl 대표 디자이너 지망생이다가 플래시를
거쳐 현재 모바일 개발자
[email protected]
fb.me/devxoul
디자이너 프로젝트 매니저 개발자
보물지도를 차지하기 위한 싸움
하지만 프로젝트에서는...
One project. Three members. Winner takes none.
“싸우면서 크는거지 뭐”
맞습니다
하지만...
서로에 대한 이해를 바탕으로 의미있는 논쟁을 해라
None
이해(理解)하다 [동사] 깨달아 알다. 또는 잘 알아서 받아들이다.
한번 깨달아서 받아들여봅시다
1. 넌 대체 뭐하는 놈이냐?
프로젝트 매니저(PM) 프로젝트의 전반적인 스케쥴 관리 팀원의 의견 조율 고객의견
반영
개발자 아이디어 실현가능여부 판단 프로그래밍을 통한 아이디어 실현 효율적인 구현방법에
대한 생각
디자이너 보이지 않는 아이디어를 눈에 보이게 사용자경험 디자인도 하는 추세
사용자에게 가장 먼저 눈에 띄게 하는 역할
개발자나 디자이너로 프로젝트 경험을 쌓고 프로젝트 매니저가 되는 경우가 많음
2. 그럼 대체 뭐가 다른거야?
2. 그럼 대체 뭐가 다른거야? 무조건 달라요
마인드, 용어 등
프로젝트 매니저 마감 클라이언트 기획서 갑 을 BM 돈 팀원
달래기 사업계획서
개발자 맥주 Google 치킨 버그 잉여 마감 Ubuntu 잉여 잉여
잉여 잉여 잉여 잉여 잉여 잉여
디자이너
디자이너 존나 달라요
프로젝트 매니저와 디자이너가 알면 좋은 모바일 개발자들의 용어
1. 프로그래밍 언어와 플랫폼 아이폰이면 아이폰이고 안드로이드면 안드로이드지 Objective-C는 뭐고
Java는 또 뭐야?
플랫폼 어떤 것들이 구동되는 환경 백화점 - 여러 가지 상점들이
모여있는 환경 Android, iOS - 여러 가지 앱들이 구동되는 환경 페이스북, 카카오톡 - 사람들이 네트워킹을 하는 환경
힌두권에서는 돼지고기만 팔아야 하고, 이슬람권에서는 소고기만 팔아야 함
iOS에는 아이폰 앱만 올라가고, 안드로이드에는 안드로이드 앱만 올라감
돼지고기와 소고기는 만드는 방법이 다르다 아이폰 앱과 안드로이드 앱은 만드는
방법이 다르다 Objective-C Java
크로스플랫폼 여러가지 플랫폼에서 구동될 수 있는 것
이슬람도 먹고 힌두도 먹고
Adobe AIR, HTML5, Titanium 등 iOS에서도 돌아가고 안드로이드에서도 돌아가고
네이티브(Native)와 하이브리드(Hybrid) Objective-C, Java : 네이티브 AIR, HTML5, Titanium :
하이브리드
2. 서버와의 연동 HTTP, HTTPS, JSON, XML, REST, Query PHP,
Django, Cassandra, Ruby on rails, Nginx, Apache, Cache, API, Parsing, MySQL, NoSQL, RDB, OAuth, Session, Memcached, Replication, Hadoop, HDFS, ...
“뭐가 이리 복잡해? 그냥 서버에서 가져오면 되는거 아냐?”
“Nginx에 Django랑 MySQL 사용해서 RESTful API를 만들어놨으니까 서버로 HTTP Request
보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“Nginx에 Django랑 MySQL 사용해서 RESTful API를 만들어놨으니까 서버로 HTTP Request
보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.” ???????????????? ???????????????? ???????????????? ???????????????? ????????????????
설명해줄게요
잘 보세요
“Nginx에 Django랑 MySQL 사용해서 RESTful API를 만들어놨으니까 서버로 HTTP Request
보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 Django랑 MySQL 사용해서 RESTful API를 만들어놨으니까 서버로 HTTP Request
보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 MySQL 사용해서 RESTful API를 만들어놨으니까 서버로
HTTP Request 보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 RESTful API를 만들어놨으니까 서버로
HTTP Request 보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 서버로
HTTP Request 보내면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 114로
전화걸면 쿼리에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 114로
전화걸면 질문에 맞게 JSON이나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 114로
전화걸면 질문에 맞게 말로 해주거나 XML 형식의 데이터로 뽑아줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 114로
전화걸면 질문에 맞게 말로 해주거나 문자로 보내줄거야. 아참 캐시때문에 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 114로
전화걸면 질문에 맞게 말로 해주거나 문자로 보내줄거야. 아참 전화번호부가 갱신되지 않아서 데이터 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
“114에 일 잘하는 직원이랑 전화번호부 사용해서 물어보기 편하게 만들어놨으니까 114로
전화걸면 질문에 맞게 말로 해주거나 문자로 보내줄거야. 아참 전화번호부가 갱신되지 않아서 전화번호 바뀐거 확인 안될지도 모르니까 그것도 참고해야 될거야.”
하나하나 뜯어봅시다
웹서버 요청을 받아들여서 작업을 어떻게 처리할지 판단 Nginx, Apache, Lighttpd
등 24시간 114 센터 고객들의 전화를 받아서 어떤 일을 할지 판단
서버사이드 언어 웹서버에서 받은 요청을 상황에 맞게 처리 PHP, Django,
Ruby on rails 등 일 잘하는 직원 고객이 물어본 전화번호를 찾아서 알려줌
데이터베이스 데이터들을 모아놓은 집합체 MySQL, PostgreSQL, MongoDB, Redis 등 전화번호부
직원이 전화번호부에서 전화번호를 찾아봄
JSON/XML 데이터를 표기하는 방법 말로 할지 문자로 알려줄지 같은 전화번호라도
말로 알려줘도 되고 문자로 전화번호를 보내줘도 됨
캐시 자주 사용하는 데이터를 따로 저장 전화번호부가 갱신되지 않아서 자주
사용되는 전화번호가 전화번호부에 적혀있는데 그 번호가 바뀌었는데도 전화번호부에는 옛날 번호가 적혀있음
한번에 이해하기보다는 여러번 들어보는게 중요
언젠간 이러지 않아도 됩니다
3. 어떻게 커뮤니케이션하지?
잘못된 커뮤니케이션의 예
이년이?
1. 말하고자 하는 것을 정확하게 개발자들은 확실하지 않으면 답답해서 미쳐버려요
JOYFL에서 흔히 있던 일 “형 이런거 어때?” “어떤거?” “어.. 잠시만..
그 뭐지? 되게 많이 쓰는건데..” “그게 뭔데?” “아 어떻게 설명해야될지 모르겠네” “어디에 쓰는건데?” “아 그게 그냥 UI인데..” “???????????”
이럴땐 차라리 그냥 그려서 보여주세요
2. 용어에 대해 명확하게 알고 미리 약속해놓기
“네비게이션좀 디자인해볼래?”
의도한 것 - 네비게이션 바
현실 - 아이나비
과장되긴 했지만 실제로 용어 이해의 차이때문에 미스커뮤니케이션이 나는 경우가 굉장히
많음
특히, 탭바나 네비게이션바와 같이 공용의 용어가 아니라 해당 애플리케이션에만 있는
특정 UI에 대한 용어
이야기를 할 때 이 부분을 설명하기가 너무 어려워서 WTF이라고 정의함
3. 사용자들의 피드백을 부정하지 않기
“형진아 우리 Joyfl말야 사람들이 자꾸 Joyfi라고 봐” “왜그러지??” “메일이 자꾸
발송 안된다그러구 얼마전에 기사날때도 Joyfi라고 나서 연락했어” “아닌데 딱봐도 L인데...” “아니 그러니까 사람들이 i로 본다니까”
결국 사용자검증, 가독성에서 2번의 압승
사용자가 불편하다고 하면 불편한 것! 사용자는 갑 오브 갑 사용자는
슈퍼갑!!
싸우더라도 마지막에 웃을 수 있는 프로젝트를 하길
질문받습니다!