agile x api x documentation @ ngo [[mopcon2015]]

62
Agile x API x Documentation @ NGO 璂Ӟ硽胍ଘݣጱ敟誢樄咳ԏ碟 by 湗ᢐ㻊

Upload: chun-yu-tseng

Post on 09-Jan-2017

2.093 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Agile x API x Documentation @ NGO [[MOPCON2015]]

Agile x API x Documentation @ NGO

by

Page 2: Agile x API x Documentation @ NGO [[MOPCON2015]]
Page 3: Agile x API x Documentation @ NGO [[MOPCON2015]]

Page 4: Agile x API x Documentation @ NGO [[MOPCON2015]]

x

Page 5: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

Page 6: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

Page 7: Agile x API x Documentation @ NGO [[MOPCON2015]]
Page 8: Agile x API x Documentation @ NGO [[MOPCON2015]]

• A-team, ~40 engineers

• open source projects

Page 9: Agile x API x Documentation @ NGO [[MOPCON2015]]
Page 10: Agile x API x Documentation @ NGO [[MOPCON2015]]
Page 11: Agile x API x Documentation @ NGO [[MOPCON2015]]

• fork

• code

• 4 engineers

Page 12: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Python ( !)

• startup

• APIer (5 frameworks)

• Web

• &

Page 13: Agile x API x Documentation @ NGO [[MOPCON2015]]

• 1~3

• Scrum

Page 14: Agile x API x Documentation @ NGO [[MOPCON2015]]

• GAE (webapp2 + flask)

• Backbone.js + jquery + handlebar.js

• codebase

• Python: 8

• JS: Python …

* 7

Code

Page 15: Agile x API x Documentation @ NGO [[MOPCON2015]]

• follow

Page 17: Agile x API x Documentation @ NGO [[MOPCON2015]]

• by @

Page 18: Agile x API x Documentation @ NGO [[MOPCON2015]]
Page 19: Agile x API x Documentation @ NGO [[MOPCON2015]]

ack “#TODO”

… 12

Page 20: Agile x API x Documentation @ NGO [[MOPCON2015]]

TODO

ack “# TODO”

… 517

Page 21: Agile x API x Documentation @ NGO [[MOPCON2015]]

Blame

Page 22: Agile x API x Documentation @ NGO [[MOPCON2015]]

• ajax html js

• bug

• css …

Page 23: Agile x API x Documentation @ NGO [[MOPCON2015]]

Page 24: Agile x API x Documentation @ NGO [[MOPCON2015]]

• ( )

Page 25: Agile x API x Documentation @ NGO [[MOPCON2015]]

• branch

• local => gae

• pull-request

• code review

• Deploy (set default)

Page 26: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Feature ( )

• ( )

• …

• End2End tests ( )

• selenium (py.test + splinter)

Page 27: Agile x API x Documentation @ NGO [[MOPCON2015]]

• code review

• GA / Ipython notebook / pandas

Page 28: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum (4~)

Page 29: Agile x API x Documentation @ NGO [[MOPCON2015]]

Scrum

Page 30: Agile x API x Documentation @ NGO [[MOPCON2015]]

Scrum• pagamo Jason

• PO/SM/

• priority meeting => backlog

• planning meeting => task

• daily meeting =>

• demo meeting =>

• retrospective meeting =>

Page 31: Agile x API x Documentation @ NGO [[MOPCON2015]]

– Jira

sprint

Page 32: Agile x API x Documentation @ NGO [[MOPCON2015]]

• SM

• sync

Page 33: Agile x API x Documentation @ NGO [[MOPCON2015]]

• + scrum

• demo bug?

Page 34: Agile x API x Documentation @ NGO [[MOPCON2015]]

• code review

• GA / Ipython notebook / pandas

• scrum

• ab test (gae-bingo)

Page 35: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

• (7~)

Page 36: Agile x API x Documentation @ NGO [[MOPCON2015]]

• scrum

• …

• 8 + *2 + …

• … ( )

• 4~5 sprint

Page 37: Agile x API x Documentation @ NGO [[MOPCON2015]]

• planning -> … -> demo

• code

• task

Page 38: Agile x API x Documentation @ NGO [[MOPCON2015]]
Page 39: Agile x API x Documentation @ NGO [[MOPCON2015]]

• feature

• pair

• feature

• prototype task

• AC How to test

Page 40: Agile x API x Documentation @ NGO [[MOPCON2015]]

notification/ …

• CI server (jenkins)

• end2end tests

• XD

Page 41: Agile x API x Documentation @ NGO [[MOPCON2015]]

• code review

• GA / Ipython notebook / pandas

• scrum

• ab test (gae-bingo)

• pair

• prototype

• CI server

Page 42: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

• (9~)

Page 43: Agile x API x Documentation @ NGO [[MOPCON2015]]

BUG

Page 44: Agile x API x Documentation @ NGO [[MOPCON2015]]

• feature bug

• feature bug

• bug feature

• bug

Page 45: Agile x API x Documentation @ NGO [[MOPCON2015]]

• bug

• SM Orz

Page 46: Agile x API x Documentation @ NGO [[MOPCON2015]]

• code review

• GA / Ipython notebook / pandas

• scrum

• ab test (gae-bingo)

• pair

• prototype

• CI server

Page 47: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

• (10~)

Page 48: Agile x API x Documentation @ NGO [[MOPCON2015]]

• scrum

• API

Page 49: Agile x API x Documentation @ NGO [[MOPCON2015]]

unit tests

Page 50: Agile x API x Documentation @ NGO [[MOPCON2015]]

API e2e tests

Page 51: Agile x API x Documentation @ NGO [[MOPCON2015]]

API DOC

• Based on MOPCON

• flask-autodoc request/response

• apipie-rails

Page 52: Agile x API x Documentation @ NGO [[MOPCON2015]]

• code review

• GA / Ipython notebook / pandas

• scrum

• ab test (gae-bingo)

• pair

• prototype

• CI server

• unit tests

• api e2e tests

• api doc

Page 53: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

Page 54: Agile x API x Documentation @ NGO [[MOPCON2015]]

• API (MOPCON2013 slide)

• flask-autodoc (demo)

Page 55: Agile x API x Documentation @ NGO [[MOPCON2015]]

• Scrum

Page 56: Agile x API x Documentation @ NGO [[MOPCON2015]]

NGO

Page 57: Agile x API x Documentation @ NGO [[MOPCON2015]]

# TODO• unit tests / API e2e tests / API doc

• Be more agile (?)

• mobilized

Page 58: Agile x API x Documentation @ NGO [[MOPCON2015]]

• +

Page 59: Agile x API x Documentation @ NGO [[MOPCON2015]]

– * 2 + QA …

Page 60: Agile x API x Documentation @ NGO [[MOPCON2015]]

• * N

• * 1

• ... * N XD

Page 61: Agile x API x Documentation @ NGO [[MOPCON2015]]

Python • 11/8 .py Deep learning workshop

• 11 .py x MOSUT

• PyConTW2016 6.3 ~ 6.5 ( )

Page 62: Agile x API x Documentation @ NGO [[MOPCON2015]]

QA