25
A glance at a scrum team in real software company 杜杜杜 [email protected] Senior Software Engineer Mobile Cloud Innovation Division, GASH PLUS

A glance at a scrum team in real software company

  • Upload
    -

  • View
    1.833

  • Download
    1

Embed Size (px)

Citation preview

  • 1. A glance at a scrum team in real software company [email protected] Senior Software Engineer Mobile Cloud Innovation Division, GASH PLUS

2. 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 3. 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 4. Do you believe? 4 Really? Do you believe that many waterfall teams declare they are agile? 5. 5 6. The office & team member overview 6 7. Sprint timetable 2 weeks / sprint Daily scrum held on 11:45 12:00 For better users 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 8. 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 9. 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 10. Task board 10 11. Burn down chart 11 12. Daily scrum live show 12 13. 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 14. 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 15. 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 16. 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 17. 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 18. Coverage report 18 19. Duplicated code trend 19 20. 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? 21. Documentation Working software over comprehensive documentation Design decision and result UML diagrams if necessary Take a picture from the whiteboard API (hackpad.com) 21 22. 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 dont like to cooperate with the applicant, the application is rejected http://goo.gl/soRPnQ 22 23. Requirement (1/2) Unit testing is the minimum requirement 23 24. 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 25. 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