Published on March 14, 2014
A glance at a scrum team in real software company 杜秉穎 email@example.com Senior Software Engineer Mobile Cloud Innovation Division, GASH PLUS
About me • Before the doom, I received the Ph.D. degree – 2000 – 2004, Dept. of Electronic Engineering – 2006, received M.S. degree in CSIE from NTUT – 2012, received Ph.D. degree in CSIE from NTUT • Now, I am a Senior Software Engineer – Mobile Cloud Innovation Division, GASH PLUS 2
The experiences • I often update my profile on Link-in – A distributed wireless communication protocol (WiMAX) simulator and emulator (Project Manager, Aug 2006 – July 2009) – An embedded DVB-H transport stream decoder (Scrum Master, Aug 2009 – July 2011) – A configurable conference management system & A distributed load testing framework (Consultant and test planner, Aug 2011 – July 2012) – An Android game framework for teaching OOP Lab (Major refactoring for release, Jan 2012 – Apr 2012) – Senior Program Analyst, GSS (A two-tier web-based software, Oct 2012 – May 2013) 3
Do you believe? 4 Really? Do you believe that many waterfall teams declare they are agile?
The office & team member overview 6
Sprint timetable • 2 weeks / sprint – Daily scrum held on 11:45 – 12:00 • For better user’s experience – Polish & tuning (debugging) 7 Mon Tue Wed Thu Fri Planning Refinement Planning Refinement Mon The Wed Thu Fri Tuning Review Polish Tuning Retrospective Week 1 Week 2
Refinement meeting • Concept slide, prototype, or documents – Understand what the PO or placeholders want – Feasibility study – Break down the concept to user stories – Define DoD – Estimate the story points 8
Sprint planning meeting • From the product backlog – Points = velocity * % of real working days • About 100 points per sprint – Pick stories from high priority to low priority • Also pick some bugs labeled as fix ASAP – Break down to tasks • Estimate the time in hours for each tasks • Move some stories back to backlog if the total time in hours > real working days * # of persons * 5 – QE involved • DoD -> pass the acceptance tests 9
Task board 10
Burn down chart 11
Daily scrum live show 12
Development • Fully cooperated with each other • Pass all test cases before commit – If the commit failed, a warning alerted – If the commit fixed the failure, a victory sound played • Pair programming – Introduce the program design to the freshmen – One writes tests and one write program to pass the tests 13
Polish & tuning • Every commit -> installable app – Configured with the internal test server – PO can install the latest version anytime • Trigger the build job on the Jenkins – Configured with the real AWS server • All team member install and use the app on the real devices for any use cases – Report bugs or enhancements • Fix bugs and refine the app as soon as possible 14
Sprint review meeting • Trigger the build job on the Jenkins, again – Team member install the app and demonstrate the planned stories one-by-one – PO accept the story -> move the story to done – PO accept the story, but finds some issues not listed in DoD -> move the story to done, and add bugs or enhancements – PO reject the story -> move the story from the ready to verify back to in progress 15
Sprint retrospective meeting • Hold in the meeting room outside the office – No computer – A sheet of paper to write down good things, bad things, and special thanks in the sprint • 10 minutes – Everyone has to talk what he/she wrote down – Scrum master summarize the issues – All team member discuss the methods or solutions to solve the issues • Arrange another meeting for complicated issues 16
The fire support • To deliver an installable iOS app and deployable server every commit and sprint – Continuous integration • Jenkins and Subversion – Unit tests, iOS client as an example • 27k LOC • 2k+ test cases and line coverage near 70% – Acceptance tests • Robot framework – Duplicated code detection • From over 200 duplicates to 0 17
Coverage report 18
Duplicated code trend 19
Build pipeline 20 Unit test Release Each commit Each polish or the end of sprint Client Server Run Acceptance Test Each day Trail Version Deploy Server to AWS Publish Version?
Documentation • Working software over comprehensive documentation – Design decision and result • UML diagrams if necessary • Take a picture from the whiteboard – API (hackpad.com) 21
Hiring interview • The applicant is interviewed by all roles of the team – Programmer, QE, Product manager, Artist, and Scrum master – Experiences • When I involved in A project, the team met a serious B problem, and I used C method or design to solve the problem. • If more than 2 roles don’t like to cooperate with the applicant, the application is rejected – http://goo.gl/soRPnQ 22
Requirement (1/2) • Unit testing is the minimum requirement 23 在 打 倒 臭 蟲 ， 寫 出 值 得 上 架 的 產 品 之 前 … 絕 對 不 會 再 偷 懶 不 寫 單 元 測 試 了 ！
Requirement (2/2) • Good attitude to learn new technologies – Utilize the technologies, not used by them – Active • OOAD concept – Design patterns • Cooperation – Communication skills 24 你 一 定 會 遇 到 願 意 寫 好 程 式 的 夥 伴
Summary • We are a scrum team – Principled and creative – Like to improve our product, process, and team quality – Welcome good engineers to join us 25
software; image; logo; Toggle navigation. ABOUT; CONTACT; BLOG; PROJECTS; HELP; DONATE; TERMS; JOBS; VOLUNTEER; PEOPLE; search. Search the Archive. upload ...
1. A glance at a scrum team in real software company 杜秉穎 firstname.lastname@example.org Senior Software Engineer Mobile Cloud Innovation Division, GASH PLUS
... Agile Software Development with Scrum, ... The value to a company of hiring its own team of ... Reflection and Improvement A scrum team ...
Download A Glance At Scrum. ... Global Solutions Software Dev Is ... Global Solutions Scrum Even Grows A Team By Killing Patrick Lencioni ...
Artifacts in Scrum Project Management. Scrum Project Management requires very few artifacts, concentrating instead on delivering software that produces ...
Powerful Scrum software that adapts to your team. ... us apart from other Scrum tools. We have real live people who will provide ... Why Axosoft; Company ...
View Richard Hsiao’s professional ... 那些年我不在scrum team的日子 by Ken Kuan (2) A glance at a scrum team in real software company. by ...
... Agile Project Management using TFS 2012. ... Server 2012 and the Scrum template. Team maturity and ... Agile_software_development; Scrum ...
View 120006 Certified Scrum ... Certified Scrum Master, Agile Team member at ... I highly recommend Haim to any software company that is willing to ...