Slide 1

Slide 1 text

a day of 
 agile 
 software developer 敏敏捷
 软件开发者 的⼀一天

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

agilemanifesto.org

Slide 8

Slide 8 text

software dev life-cycle

Slide 9

Slide 9 text

me - Huiming 辉明 • Senior Engineer, BlackTangent.io • consulting company - build large 
 telco system using agile engineering • previously, Lead Engineer at ShopVenture.com, ReferralCandy.com, Principle Engineer at FavoriteMedium.com

Slide 10

Slide 10 text

9am - start my day

Slide 11

Slide 11 text

daily standup • 5-minute team meeting • what I did yesterday? • what I plan to do today? • any blocking issues / do I need help?

Slide 12

Slide 12 text

implement user story

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

write test ➡ write code ➡ refactoring ➡ repeat Write 
 Test Write 
 Code Refactoring test multiply(2,3) == 6 multiply(a, b) { for(i=0;i

Slide 15

Slide 15 text

take baby steps, 
 gather feedback
 
 build 
 the right software right

Slide 16

Slide 16 text

build the right software build the software right 适合顾客 功能正确

Slide 17

Slide 17 text

requirements not clear… how?
 ask user to clarify

Slide 18

Slide 18 text

push code to CI server

Slide 19

Slide 19 text

code review - accept/reject my code

Slide 20

Slide 20 text

merge into main code

Slide 21

Slide 21 text

deploy to staging
 ask user to accept/reject

Slide 22

Slide 22 text

story cycle New Story Develop CI, Code Review Deploy User 
 Acceptance

Slide 23

Slide 23 text

take baby steps, 
 gather feedback
 
 build 
 the right software right 适合顾客 功能正确

Slide 24

Slide 24 text

New Story Develop CI, Code Review Deploy User 
 Acceptance story cycle

Slide 25

Slide 25 text

New Story Develop CI, Code Review Deploy User 
 Acceptance 适合顾客? story cycle

Slide 26

Slide 26 text

New Story Develop CI, Code Review Deploy User 
 Acceptance 功能正确? 适合顾客? story cycle

Slide 27

Slide 27 text

GO HOME

Slide 28

Slide 28 text

a day of agile dev Daily Standup Implement
 User Stories Go Home

Slide 29

Slide 29 text

an iteration of agile dev Mon Tue Wed Thu Fri Mon Tue Wed Start End!

Slide 30

Slide 30 text

1. go live! • One-click deploy to production

Slide 31

Slide 31 text

2. team feedback meeting • reflect and improve how we do work, no blaming
 检讨会 — 对事不不对⼈人 • what went well? :-) • what need to change? :-( • next actions

Slide 32

Slide 32 text

3. user feedback meeting • meeting with users • give updates, collect feedback

Slide 33

Slide 33 text

0. iteration planning • Select and prepare stories for next iteration

Slide 34

Slide 34 text

an iteration of agile dev Iteration
 Planning Team 
 Feedback User 
 Feedback Go Live! Execute

Slide 35

Slide 35 text

agilemanifesto.org

Slide 36

Slide 36 text

an iteration of agile dev Iteration
 Planning Team 
 Feedback User 
 Feedback Go Live! Execute

Slide 37

Slide 37 text

software dev life-cycle

Slide 38

Slide 38 text

software company types Explore Expand Extract Project-based Product-based Project + Product

Slide 39

Slide 39 text

salary (singapore market) Junior Mid Senior Average $ 3-4K $ 5-7K $ 7-12K Above Average Below Average

Slide 40

Slide 40 text

mindset & skills • Good developer understands this job is to provide solutions to problems, not write code.
 http://mattbriggs.net/blog/2015/06/01/the-role-of-a-senior-developer/ • Help your customers to get their job done • Help your company to be sustainable • What you can start today — learn by doing: • Communicate your idea clearly in simple way • Git workflow (code review, continuous integration) • Test driven development (write test, write code, refactoring)

Slide 41

Slide 41 text

ask me anything :)