3. Extreme Programming (XP) is
a software development methodology which
is intended to improve software quality and
responsiveness to changing customer requirements.
Regional Scrum Gathering® Shanghai 2014
11. 5000 query per second &
500MB network traffic at peak
Regional Scrum Gathering® Shanghai 2014
12. • We have 3 people for all business analysis, architecture, coding,
testing work, and some operation work.!
!
• High availability is a must, our service down almost means sites down.!
!
• Business keeps growing, which means new requirements coming and
users growing.
Challenges
Regional Scrum Gathering® Shanghai 2014
13. simplicity
( ̄口 ̄)!! !
19 svn repositories for 1 project? !
Are you serious?
Regional Scrum Gathering® Shanghai 2014
15. • Much less learning costs
— imagine when programmers grows 2x in 1 year!
!
• No need to invest on customizing tools !
!
• Much easier to use open source tools
Follow The Convention, Keep It Simple
Regional Scrum Gathering® Shanghai 2014
16. We need streamed file
download support!
In 2 weeks!
The Way Requirements Usually Comes:
Regional Scrum Gathering® Shanghai 2014
17. The Way We Usually React:
Ok, let’s do it. (god knows how much time it takes)
Ok, let’s do it, but we need 2 months.
Sorry, don’t you see I’m already very busy?
Regional Scrum Gathering® Shanghai 2014
18. communication
Why you need streamed file download support?
We need to play audios and videos.
In what scenario you need this feature?
We have mobile users, they want to send
audios and videos.
Mobiles users, hmm… what is the size of the
audios/videos?
Let me think, … 5mb at most, usually no
more than 2 mb.
Then you don’t need streamed file download,
just download it and play it locally.
Regional Scrum Gathering® Shanghai 2014
respect our customers
19. • Think code as the last way to solve a problem
more code == more code to maintain
more feature == more complex
more complex == less stable
more complex == harder to change
simplicity
Regional Scrum Gathering® Shanghai 2014
22. Regional Scrum Gathering® Shanghai 2014
• TDD, CI, ATDD/BDD, Pair are great for getting feedback.!
!
• But we need more, mainly from Ops point of view.
25. Regional Scrum Gathering® Shanghai 2014
img cluster
img-compress cluster
fileserver2-content cluster
task: merge 2 clusters
• For saving network traffic (>3GB/s) and machines (>30 4core VM)!
• Legacy code with 100+ apache regex url rewrite rules!
• Service must not get down during migration.
26. Regional Scrum Gathering® Shanghai 2014
courage
LETS DO IT!
We have the because:
• We believe it’s valuable.!
• We spend days parsing real access log and from which make many test cases.!
• We use canary deployment to minimize risks.
respect our users