[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam...

59
BEYOND & INSIGHTS OF AGILE ADOPTION: MINDSET & PRACTICES Agile Tour 2014 @ Hanoi 2014/11/09 Nguyen Vu Hung, CTO, Septeni Technology

Transcript of [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam...

Page 1: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

BEYOND & INSIGHTS OF AGILE ADOPTION:

MINDSET & PRACTICES

Agile Tour 2014 @ Hanoi2014/11/09Nguyen Vu Hung, CTO, Septeni Technology

Page 2: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Agenda

1. Introduction2. The philosophies3. Case studies (you vote! in random orders)

a. Toolsb. Processesc. Best practices

4. Closing & Conclusion & Q&A

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 3: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

About Septeni (Technology)

➔ HQ Septeni Group : 1990/10➔ Sep Tech: 2013/03➔ 50 staffs➔ Web service developement

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 4: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 5: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Self Introduction

1. Nguyễn Vũ Hưng, 19782. CTO, Septeni Technology 3. POS:

a. Agileb. Open Sourcec. Project Management

"Nguyen Vu Hung is the CTO of Septeni Technology, a development center of Tokyo based Septeni Group that focuses on developing and operating, mostly, web-based online advertisement systems. He has numerous years of IT and software development, project/product management in both Japan and Vietnam. Considering himself as a FOSS and Agile evangelist and being a Agile lover and an CTO, he is also interested in not-so-related domains such as human resource management and (organization) (re)structuring."

www.facebook.com/nguyenvuhung

[email protected]

+84-904-28-7878

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 6: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Disclaimer

What is talked and discussed here is my personal opinion and is NOT the opinion of my employer(s), associations and/or groups I join.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 7: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

What (NOT) to Covered?

1. In this session, we share our experiences, tools, practices,

2. We don’t cover basic information, defintion such as “what is Agile?”, “Is this really Agile or scrum-butt?” here,

3. Scrum. We follow Agile principles but not only scrum practices.

“At Septeni Technology, we've been trying to apply Agile practices and and its principles for over two years for IT projects as well as web-based services since the beginning of the company. In this session, as a case study, with the purpose of sharing our knowledge, I would like to share our best practices for applying Agile, the tools we are using, the mindset we must have for applying Agile successfully.”

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 8: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Who Should Join This Session

1. Basically, everyone can enjoy this session,2. However, a little experience with software

development, Agile/Scrum practices will make you feel more comfortable with this session.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 9: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

High Level Vision & Mission

Yes, A must-have thing on top of everything, we/you should/do have visions, missions and strategies for short-term, mid-term and long-term.

Note: Ask you managers/boss to define one -;)because any company needs one

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 10: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Japan-Originated Values

1. Scrum2. Genba (nơi làm việc)3. “Ba” (場, nơi, tình huống)4. Kanban (看板, bảng viết)5. Kaizen (改善, cải tiến) 6. Kata (型, meaning: dạng thức, trình tự)7. 3M: Muda, Muri, Mura (無駄, 無理, ムラ)

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 11: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

The Mindset of Agile

1. Continous learning2. Focus on result/goal3. Rythm is important4. Release often (one-

week sprint)5. Stability and quality

Empiricism

Note:Thanks Dương Trọng Tấn for the ideas.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 12: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

FOSS and Agile - A Great Combo

1. 100% FOSS frameworks adopted in SepTech,

2. With FOSS: a. No vendor lock-in;b. We are only limited by imagination,

3. “Open source improves agile practices and principles”,

4. Encourage the interactions over processes (Agile) and tools (FOSS),

5. FOSS shares principles with Agile manifesto.

Eric Steven RaymondThe Cathedral and the Bazaar

Martin Fowler The New Methodology

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 13: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Ngũ Luân Thư (五輪の書)

1. “Cuốn binh pháp kinh điển của người Nhật”2. Tinh thần chiến binh ở tử địa 3. "Go Rin No Sho mới là sách cho bậc vương"4. Triết lý chống lưng cho cả một dân tộc

Notes: This slide is in Vietnamese; Images taken from wikipedia.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 14: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Cultural Transition

Note: Thanks Kakeya-san for the slide

Most of the audiences agree that Vietnamese must/should and is more Amerian-like that Japanese.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 15: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Culture Comparation (2)

Note: Thanks Kakeya-san for the slide

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 16: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Culture Comparation (3)

Note: Thanks Kakeya-san for the slide2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 17: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Culture Comparation (4)

Note: Thanks Kakeya-san for the slide

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 18: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

TBD: Scaled Agility

1. Scaled Agile Framework ("SAFe") by Dean Leffingwell,

2. Disciplined Agile Development (DAD), by Scott Ambler,

3. Large Scale Scrum (LeSS), by Craig Larman and Bas Vodde.

Being agile at team-level is not enough. We should be agile at organizational level.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 19: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

(Task) Ownerships

1. Main responsiblity for each process is defined in RACI table

2. Each task/process has ONE person to take ownership on it

3. Team members help each other, but main ownership belongs to only ONE

4. “Trách nhiệm liên đới"/連帯責任5. "Cha chung không ai khóc"/"

bóng ở giữa sân"

Project organizational chart

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 20: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Rhythms of Agile (Scrum)1. Asa-kai (朝会=morning meeting)

a. All company staffs join2. Product P

a. Daily meetingi. Morning: Task for Yesterday and

today, issuesii. Evening: Do we need to work

overtime today?b. Teirei meeting (JP/PO/VN)

3. Release weekly on Tuesday4. Bug statistics at the end of every

months5. zabbix alert statistics at the end of

every weeks

Regular meeting calendar of a month.

Type of reports

Type of meetings

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 21: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

DevOps - The Next Target

1. Japan does business/requirement

2. All engineering thingies done by Vietnamese engineers

3. DEVelopment & OPerationS group becom ONE

4. Involving a. Developerb. Testerc. Sysadmin

5. Be cross-functional

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 22: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Let’s Vote for the Next Topics

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 23: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Topics in DetailA. Organizational:1. Organzation structure2. Technology overview3. KPIs (Key Performance

Indicator)4. Roles and Responsibilities5. Report Lines6. Bridge SE

B. Management:1. Knowledge

Management/Transfering

2. Result-Oriented Management

3. Planning4. Estimation5. Review Process

F. About the Project:1. Project P. Overview2. Agility in project P.

D. Important quality practices:1. TBD: Software Metrics to

Measure2. Quality = Measurement

C. Best practices:1. Jenkins - Continuous

Integration2. Integrated Test Automation3. Source Code Quality4. Code Coverage5. Unit Test - PHPUnit6. Test Code7. Test Driven Development8. Source Code Refactoring9. Source Code Quality

10. (git) branching modelE. Tools:1. Jira - Ticket Management2. JQL: Powerful Ticket Queries3. Collaboration with Confluence4. Stash - a git Repository5. Chatwork - Realtime Instant

Messenger6. Google Drive - Realtime

Collaboration Tool

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

G. Other1. Book we read

Page 24: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

WE ARE HIRING

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 25: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 26: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

APPENDIX

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 27: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Organzation Structure

1. Infrastructure2. Human Resource/Back Office3. Developement

a. Project P. We will talk about this project

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 28: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Technology Overview

1. Infra: Amazon EC,2. Framework: CakePHP, 3. Database: MySQL RDS, 4. External interface: Facebook API

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 29: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Project P Overview

1. Japan sidea. 01 Product ownerb. 02 facilitators

2. Non-technicala. 01 Project managerb. 03 Project leadc. 01 Quality assurance leadd. 01 Bridge SE

3. Technicala. 10 developersb. 08 testersc. 120 KLOC

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 30: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Agility in Project P.

1. Customized scrum practices2. Big team to run scrum? (~30 persons)3. 01 PMs, 01 Bridege SE4. 3 teams

a. One project leader in each teamb. One scrum master in each time

5. A half is QA6. A half is developers

Note: We are going to make this structure more flat and cross-functional

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 31: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Knowledge Management/Transfering

1. Confluence (wiki)2. Blog labs.septeni-technology.jp3. Training (external, internal)4. Pair programming5. Review processes

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 32: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Planning

1. Long-terma. 3-month after the FB API update

planb. (For development) We don’t plan

longer than 3 months (the market changes too fast)

c. New requirements are queued on the backlog

2. Mid-termsa. Per projects

3. Short-termsa. Weekly, per-sprintsb. Daily Product backlog for a quater

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 33: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Estimation

1. We have not yet using planning poker

2. Consensus-based estimation

3. Quite buffered by individuals

4. Must follow FB’s deadlines

Topic: What is the accuracy of the estimation

Estimation by team member, at man-day level, using GDrive

Estimation, Gantt chart wth Jira

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 34: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Test Code

1. 1534 + 1115 tests / 116 KLOC

2. Using PHPUnit3. Integrated with Jenkins4. A part of test automation

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 35: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Test Driven Development

1. This is a technical debt we are paying

2. We applied it late, not in the first place

3. We keep updating test cases/test code during development

4. Code coverage is an KPI we measure how good is TDD/test code

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Failed test cases

Stack trace for a failed test case

Test result trend: failed test cases over builds

Page 36: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Source Code Refactoring1. This is a technical debt we

are paying 2. The sooner the better3. What we (will) do?

a. Remove dead codeb. Optimizationc. Simplify the source

code (logic, function)d. Keep all test cases

“green” (don’t break TC)4. Jenkins’ pmd code size

rules are the KPI for refactoring

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

PMD evaluation result

Duplicated code warning using DRY plugin

Notes: Image taken from jenkins-ci.org

Page 37: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Source Code Quality

1. Source code quality metricsa. Degree of code duplicationb. Degree of code complexityc. Number of warnings by code static analysis toolsd. Coding conventions (naming rules)

2. Toolsa. Jenkins’ plugins (such as pmd, dry…)b. Sonar’s pluginsc. <Your tools?>

Bonus: Cyclomatic Complexity (CC)

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 38: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

(git) Branching Model1. Based on Vincent Driessen’s git

branching model,2. Defined use of earch branches,3. Mapping betweens (servers’)

environments and branches,4. Defined input/output, definition of

done, RACI on each phases, processes,

5. Sample flow for hotfix and single/multiple projects developments

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Original git flowSepTech’s custimized process

Branching for hotfix Branching for multiple projects

Page 39: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

TBD: Software Metrics to Measure

(Some) software metrics used for measuring source code quality:

Duplicated codeCoding standards

Unit testsComplex codePotential bugsCommentsDesign and architectureLines

Lines of codeComment linesClassesFunctionsStatementsPublic API

Cyclomatic Complexity

Note: We are planning to do it with Sonar

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 40: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Review Process

1. Basically,we review all output2. “Cusomters”/PO involves reviewing3. Review group

a. Source codeb. Release note

4. Design document reviewed bya. Cross-reviewb. Project leadc. Japan side

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 41: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Roles and Responsibilities

1. As clear as possible.2. But not so clear to encourage

cross-functionality.3. RaR (RACI) based on output.4. RaR (RACI) based on steps in

software/system development process.

RACI matrix for all roles in projects

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 42: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Report Lines

1.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 43: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Bridge SE

1. Fill the communication/language gap between Vietnam and Japan,

2. A must-have position when working with Japanese,

3. Communication skill is important,4. We require BrSE to be good at Vietnamese,

Japanese and English.

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 44: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Result-Oriented Management

1. Đánh giá bằng kết quả?2. Hay đánh giá bằng quá trình?3. Hay đánh giá bằng mục tiêu?4. Với phần mềm, có thể đánh giá bằng KPI

cứng không?

Note: This slide is in Vietnamese

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 45: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Quality = Measurement

1. Common KPIs to measurea. Product KPIsb. Project KPIsc. Operation KPIsd. Customers’ satisfaction

2. Specific KPIs in our producta. Number of operation

bugs after releaseb. Number of alert emails

after release Number of system monthly alert

Number of system monthly bugs

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 46: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Jenkins - Continuous Integration

We are learning about Jenkins, a powerful CI tool. Here is the list of major plugins in we are using

1. PHP messy detector: pmd2. Code duplication: dry3. Code coverage: clover4. Automation test WebDriver5. Unit test: PHPUnit

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 47: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Integrated Test Automation

1. (headless) browsersa. htmlunit, phamtomjs, b. Firefox (runs on a slave machine)

2. 97 test cases (simple and complicated)3. Integrated with Jenkins4. Run with cronjob5. Coding in Java is a little pain

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 48: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Source Code Quality

We (aim to) measure source code quality 1. Without human being involved2. Automatically generated by Jenkins’ plugins by

● Degree of code duplication● PMD (PHP mess detector)

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 49: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Code Coverage1. Source code static analysis2. Visualized trending 3. Code coverage

a. Targeted: i. Minimum: 80%, ii. Better 90%

b. Actual: 80% and 61% (for C0 - statement coverage)

4. PHP_CodeCoverage, integrated with Jenkins

5. Clover PHP6. TODO: Build triggers on

commits7. Run by cronjob

Code coverage report for module “Controler”

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Coverage tree map

Coverage report

Images taken from: jenkins-ci.org

Page 50: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Unit Test - PHPUnit

1. Training/seminar2. Integrated with Jenkins3. Number of test cases

a. Batch: 1115 casesb. Web: 1543 casesc. Failure rate: < 1%

4. TODO: Build triggers on commits5. Run by cronjob

Page 51: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Jira - Ticket Management1. Jira is the heart of our team

a. Ticket (task) managementb. Project management

2. Master tasks3. Gantt chart4. Text

a. Richtext formattingb. Tablec. Quotingd. Collaboration: Tagging

5. Watching: update notification by email

6. Dashboard7. JQL: JIRA query language8. Scrum board, Kanban,

Master ticket

Gantt chart

Dashboard

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Note: Images taken from atlassian.com

Page 52: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

JQL: Powerful Ticket Queries

Issues in last 24 hoursproject = PPP and createdDate > -24h AND parent IN (pyx-669) ORDER BY createdDate ASC

Tasks to remind customersproject = PPP and createdDate <= -2w AND parent IN (ppp-142,ppp-669,ppp-124) AND status not in (closed, reject) AND assignee in(po1, custumer1, customer2) ORDER BY createdDate ASC

Remind us important issuesproject = PPP and createdDate <= -2w AND parent IN (ppp-142,ppp-669,ppp-124) AND status not in (closed, reject) AND assignee in(po1, custumer1, customer2) and priority in (critical, blocker)

My tasks:project = PPP and assignee = currentUser() AND status not in (Closed, Reject)

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 53: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Collaboration with Confluence1. Collaboration wiki2. Tracking changes/history3. WYSIWYG richtext editor4. Integrated with JIRA5. Lots of plugins

a. Source code beatifulizerb. Tablec. Diagramd. Table of content

6. Process document7. Detail design8. Rules & guidelines

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 54: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Stash - a git Repository

1. Following git-flow branching model2. Commit (pull request)/source code

review3. Source code browsing4. Merging permission5. Fork, clone, download6. All in one place

a. Everyoneb. Everything

7. Integrated with JIRA, Confluence

Code Review in Action

Branching “network”

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Note: Images taken from atlassian.com

Page 55: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Chatwork - Realtime Instant Messenger

1. Realtime2. Tagging3. TODO/Scheduling/reminder4. Text/message quoting5. Cloud-based webapp6. TV conference (sucks on Linux)7. 20+ chat groups for project P8. RESTful API9. Suports mobile (iOS, Android) 1. Group chat

2. Mobile support

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Picture take from http://www.kddi.com/business/cloud/cloud-app/chatwork/

Page 56: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Google Drive - Realtime Collaboration

1. (One of) the best real-time collaboration tool2. Cloud based, only requires a browser3. Real-time editing my multiple people4. Review-and-resolve feature5. Tracking document changes/history6. Good for Q&A7. Sharing with permission8. We mostly use

a. Google Sheetsb. (and sometimes) Google Docs

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 57: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

KPIs

1. KPI for an online servicea. Number of bugs reported by usersb. Numbers of zabbix alerts

2. KPI for (development) projectsa. Customer satisfaction surveyb. Number of bugs

i. On production serverii. Operation/Integration test phase

c. Deadline

Zabbix: An open-source (network/OS/service) monitoring system

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Page 58: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

Books We Read

2014/11/09, Agile Tour 2014 @ Hanoi - Nguyen Vu Hung

Ngũ Luân Thư (五輪の書) Continuous Delivery

Management 3.0 Agile Product Management with Scrum

Page 59: [Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Hanoi 2014)

BEYOND AGILE:

PRACTICES and MINDSET

Agile Tour 2014 @ Hanoi2014/11/09Nguyen Vu Hung, CTO, Septeni Technology