SlideShare une entreprise Scribd logo
1  sur  78
Télécharger pour lire hors ligne
A Case Study at Septeni
Technology:
Being Agile in a Cross-
Cultural Environment
XP Day 2015 @ Da Nang, Vietnam
2015/04/18
Nguyen Vu Hung, CTO, Septeni Technology
AGENDA
1. Introduction
2. Highlighted Case Studies in Random Order
a. Tools
b. Processes
c. Best practices
3. Q&A
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
About Septeni (Technology)
epteni Group: 1990/10
Tech: 2013/03
affs
service developement
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Self Introduction
1. Nguyễn Vũ Hưng, 1978
2. CTO, Septeni Technology
3. POS:
a. Agile
b. Open Source
c. Project Management
d. Bridge SE (!)
"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
vuhung16plus@gmail.com
+84-904-28-7878
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Disclaimer (2)
I am too young to understand XP.
And I am here to talk what I think
when looking back to XP. And not
about XP itself.
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
What (NOT) to Cover?
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. XP and Scrum. We follow Agile principles
but not only XP and 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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,
3. You are in a (offshore/outsourcing)
development center in Vietnam.
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
OK, Let’s Start
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Which came first?
1. Agile,
2. Scrum,
3. XP?
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Which is Most Important?
1. People,
2. Process (quy trình),
3. Tools?
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
People
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Tool
Process
Japanese
Vietnamese
Agile
Scrum
XP
JIRA
Wiki
Skype
The Organizations
1. Septeni Group
a. Based in Tokyo
b. (Internet) Marketing
2. Two development centers
a. Japan/Tokyo (~50 staffs)
b. Vietnam/Hanoi (~50 staffs)
3. Operation centers
a. (Mainly in) Japan
b. U.S.
c. EU, Korea, APAC
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Project::Communication Gap
Operator
ProductOwner
BridgeSE
DevelopmentTeam
Sysadmin
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Gaps in Definition of Done
1. Be proactive
2. We define our DoD and defense it
3. Clear DoD is a good thing
4. Ambiguity for rooms of improvement
5. Have an RACI table
6. Done when reviewing is finished.
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Problems of Language Gap
1. 80% understandable
2. English, Japanese and Vietnamese
3. We are not English native speakers
4. Speakings & Writing
a. Criticial cases: Native languages
b. English is OK
5. When to speak and when to write?
6. TV Conferences
7. Translators/Bridge SE
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
The Importance of Business Analyst
1. We don’t BA officially
2. Bridge SE, PM, PO have to act as BA
3. Fill the business gaps between business and
technical
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Getting Things Done is not Enough
1. Japan
a. More process oriented than,
b. Result oriented
2. Vietnam
a. Which one is more importance? Process or Result?
3. Scrum (as a process) is a (Agile) toolkit or
the goal?
4. Balacing the two
5. Short-term and long-term goals
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Seeking for a Standard
1. Does it exist: “Standard” Scrum?
2. The Scrum way in Japan,
3. The Scrum way that make Vietnamese
happy?
4. Customized Septeni Scrum way.
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Meetings and Reports
1. Do we need 2 daily meetings?
a. Morning meetings,
b. Afternoon meetings
c. Why?
2. Issues/Progress tracking for all stakeholders
3. Managers/PO in Japan and Vietnam can
track easier,
4. Prepare for Overtime if needed
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Test Automation
1. Not directly improve quality
2. Types of AT
a. Unit level
b. Function level
c. Integration Test (IT), UAT
3. Tools
a. Selenium/Web Drive
b. Cucumber
c. Shouldbee (?)
4. The goals
a. +80% coverage for unit test
b. +50% coverage for IT, UAT (webapps), by number
of test cases
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Test Automation (Developers)
1. PHP Unit
2. Ruby: Rspec
3. Scala: Scalatest
4. The goals
a. +80% coverage for unit test
b. +50% coverage for IT, UAT (webapps), by number
of test cases
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Test Automation (Manual Testers)
1. Selection criteria
a. No or little programming skills required
b. Quick learn, low cost to start
2. What to apply
a. TDD, BDD
3. Shared goals among testers/developers
a. +80% coverage for unit test
b. +50% coverage for IT, UAT (webapps), by number
of test cases
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Culture Comparation (2)
Note: Thanks Kakeya-san for the slide
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Culture Comparation (3)
Note: Thanks Kakeya-san for the slide2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Culture Comparation (4)
Note: Thanks Kakeya-san for the slide
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
(Task/Collective) 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Rhythms of Agile (Scrum)
1. Asa-kai (朝会=morning meeting)
a. All company staffs join
2. Product P
a. Daily meeting
i. Morning: Task for Yesterday and
today, issues
ii. Evening: Do we need to work
overtime today?
b. Teirei meeting (JP/PO/VN)
3. Release weekly on Tuesday
4. Bug statistics at the end of every
months
5. zabbix alert statistics at the end of
every weeks
Regular meeting calendar of a month.
Type of reports
Type of meetings
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Platform Team - The Next Target
1. DOs
a. Build technical common foundation through our
company
b. Adopt it to application development with
communicating with application development team
2. DONTs
a. Develop applications
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
DDD: Domain-Driven Design
1. Ubiquitous language to fill the cutural
gaps
2. Business and technical friendly
3. New and still immature
4. Why not try it?
5. Full cycle: from requirements to operation
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Scala: New Development Stack
1. (Ubuntu)
2. Scala 2
3. JDK/JRE 8
4. Play Framework
a. backend, application server
5. IntelliJ IDEA
6. Amazon AIM Linux (server)
7. Frontend: AngularJS
8. Amazon MySQL RDS
9. Specs2
10. Vagrant, VirtualBox
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Kanban
1. Big Backlog
2. 4 lanes: Todo, Doing, Resolved,
Done
3. “Release” with Jira Kanban
4. One-week iteration
5. Limit WIP (TBD)
6. Mainly for operation and research
tasks
Planning Poker
1. 1, 2, 4 8... vs. 1, 2, 3, 5, 8…
2. Qualitative Measure
3. Planning poker cards
4. 10 months from ideas to
implementation
Typical Vietnamese :)
1. Resistance to change
2. Always start with a “NO” statement
3. Don’t speak
4. Don’t open
DRIVE THEM!
(Some) XP Rules We Follows
1. We follow most of XP Rules
2. Test first (TDD)
3. Automation Test
4. Small Iteration
5. Unit test
Let’s Vote for the Next Topics
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Topics in Detail
A. Organizational:
1. Organzation structure
2. Technology overview
3. KPIs (Key Performance
Indicator)
4. Roles and Responsibilities
5. Report Lines
6. Bridge SE
7. (TBD) Scaled Agile
B. Management:
1. Knowledge
Management/Transferin
g
2. Result-Oriented
Management
3. Planning
4. Estimation
5. Review Process
F. About the Project:
1. Project P. Overview
2. Agility in project P.
D. Important quality practices:
1. TBD: Software Metrics to
Measure
2. Quality = Measurement
C. Best practices:
1. Jenkins - Continuous
Integration
2. Integrated Test Automation
3. Source Code Quality
4. Code Coverage
5. Unit Test - PHPUnit
6. Test Code
7. Test Driven Development
8. Source Code Refactoring
9. Source Code Quality
10. (git) branching model
E. Tools:
1. Jira - Ticket Management
2. JQL: Powerful Ticket Queries
3. Collaboration with Confluence
4. Stash - a git Repository
5. Chatwork - Realtime Instant
Messenger
6. Google Drive - Realtime
Collaboration Tool
G. Other
1. Book we read
2. What are the gaps?
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
WE ARE HIRING
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
APPENDIX
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Organzation Structure
1. Infrastructure
2. Human Resource/Back Office
3. Developement
a. Project P. We will talk about this project
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Technology Overview
1. Infra: Amazon EC,
2. Framework: CakePHP,
3. Database: MySQL RDS,
4. External interface: Facebook API
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Project P Overview
1. Japan side
a. 01 Product owner
b. 02 facilitators
2. Non-technical
a. 01 Project manager
b. 03 Project lead
c. 01 Quality assurance lead
d. 01 Bridge SE
3. Technical
a. 10 developers
b. 08 testers
c. 120 KLOC
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Agility in Project P.
1. Customized scrum practices
2. Big team to run scrum? (~30 persons)
3. 01 PMs, 01 Bridege SE
4. 3 teams
a. One project leader in each team
b. One scrum master in each time
5. A half is QA
6. A half is developers
Note: We are going to make this structure more flat and cross-functional
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Knowledge Management/Transfering
1. Confluence (wiki)
2. Blog labs.septeni-technology.jp
3. Training (external, internal)
4. Pair programming
5. Review processes
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Planning
1. Long-term
a. 3-month after the FB API update
plan
b. (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-terms
a. Per projects
3. Short-terms
a. Weekly, per-sprints
b. Daily
Product backlog for a quater
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Test Code
1. 1534 + 1115 tests / 116
KLOC
2. Using PHPUnit
3. Integrated with Jenkins
4. A part of test automation
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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
Failed test cases
Stack trace for a failed test case
Test result trend: failed test cases over builds
Source Code Refactoring
1. This is a technical debt we
are paying
2. The sooner the better
3. What we (will) do?
a. Remove dead code
b. Optimization
c. 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
PMD evaluation result
Duplicated code warning using DRY plugin
Notes: Image taken from jenkins-ci.org
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Source Code Quality
1. Source code quality metrics
a. Degree of code duplication
b. Degree of code complexity
c. Number of warnings by code static analysis tools
d. Coding conventions (naming rules)
2. Tools
a. Jenkins’ plugins (such as pmd, dry…)
b. Sonar’s plugins
c. <Your tools?>
Bonus: Cyclomatic Complexity (CC)
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
(git) Branching Model
1. 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
Original git flowSepTech’s custimized process
Branching for hotfix Branching for multiple projects
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
TBD: Software Metrics to Measure
(Some) software metrics used for measuring source code
quality:
Duplicated code
Coding standards
Unit tests
Complex code
Potential bugs
Comments
Design and architecture
Lines
Lines of code
Comment lines
Classes
Functions
Statements
Public API
Cyclomatic Complexity
Note: We are planning to do it with Sonar
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Review Process
1. Basically,we review all output
2. “Cusomters”/PO involves reviewing
3. Review group
a. Source code
b. Release note
4. Design document reviewed by
a. Cross-review
b. Project lead
c. Japan side
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Report Lines
1.
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Quality = Measurement
1. Common KPIs to
measure
a. Product KPIs
b. Project KPIs
c. Operation KPIs
d. Customers’ satisfaction
2. Specific KPIs in our
product
a. Number of operation
bugs after release
b. Number of alert emails
after release Number of system monthly alert
Number of system monthly bugs
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
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: pmd
2. Code duplication: dry
3. Code coverage: clover
4. Automation test WebDriver
5. Unit test: PHPUnit
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Integrated Test Automation
1. (headless) browsers
a. htmlunit, phamtomjs,
b. Firefox (runs on a slave machine)
2. 97 test cases (simple and complicated)
3. Integrated with Jenkins
4. Run with cronjob
5. Coding in Java is a little pain
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Source Code Quality
We (aim to) measure source code quality
1. Without human being involved
2. Automatically generated by Jenkins’ plugins by
● Degree of code duplication
● PMD (PHP mess detector)
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Code Coverage
1. Source code static analysis
2. 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 PHP
6. TODO: Build triggers on
commits
7. Run by cronjob
Coverage tree map
Coverage report
Images taken from: jenkins-ci.org
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Unit Test - PHPUnit
1. Training/seminar
2. Integrated with Jenkins
3. Number of test cases
a. Batch: 1115 cases
b. Web: 1543 cases
c. Failure rate: < 1%
4. TODO: Build triggers on commits
5. Run by cronjob
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Jira - Ticket Management
1. Jira is the heart of our team
a. Ticket (task) management
b. Project management
2. Master tasks
3. Gantt chart
4. Text
a. Richtext formatting
b. Table
c. Quoting
d. Collaboration: Tagging
5. Watching: update notification
by email
6. Dashboard
7. JQL: JIRA query language
8. Scrum board, Kanban,
Master ticket
Gantt chart
Dashboard
Note: Images taken from atlassian.com
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
JQL: Powerful Ticket Queries
Issues in last 24 hours
project = PPP and createdDate > -24h AND parent IN (pyx-669) ORDER BY
createdDate ASC
Tasks to remind customers
project = 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 issues
project = 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Collaboration with Confluence
1. Collaboration wiki
2. Tracking changes/history
3. WYSIWYG richtext editor
4. Integrated with JIRA
5. Lots of plugins
a. Source code beatifulizer
b. Table
c. Diagram
d. Table of content
6. Process document
7. Detail design
8. Rules & guidelines
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Stash - a git Repository
1. Following git-flow branching model
2. Commit (pull request)/source code
review
3. Source code browsing
4. Merging permission
5. Fork, clone, download
6. All in one place
a. Everyone
b. Everything
7. Integrated with JIRA, Confluence
Code Review in Action
Branching “network”
Note: Images taken from atlassian.com
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Chatwork - Realtime Instant Messenger
1. Realtime
2. Tagging
3. TODO/Scheduling/reminder
4. Text/message quoting
5. Cloud-based webapp
6. TV conference (sucks on Linux)
7. 20+ chat groups for project P
8. RESTful API
9. Suports mobile (iOS, Android) 1. Group chat
2. Mobile support
Picture take from http://www.kddi.com/business/cloud/cloud-app/chatwork/
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Google Drive - Realtime Collaboration
1. (One of) the best real-time collaboration tool
2. Cloud based, only requires a browser
3. Real-time editing my multiple people
4. Review-and-resolve feature
5. Tracking document changes/history
6. Good for Q&A
7. Sharing with permission
8. We mostly use
a. Google Sheets
b. (and sometimes) Google Docs
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
KPIs
1. KPI for an online service
a. Number of bugs reported by users
b. Numbers of zabbix alerts
2. KPI for (development) projects
a. Customer satisfaction survey
b. Number of bugs
i. On production server
ii. Operation/Integration test phase
c. Deadline
Zabbix: An open-source (network/OS/service) monitoring system
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
Books We Read
Ngũ Luân Thư (五輪の書) Continuous Delivery
Management 3.0
Agile Product Management
with Scrum
Programming in Scala
Domain-Driven Design:
Tackling Complexity in the
Heart of Software
2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
What are the Gaps?
1. Technical
2. Languagues
3. Culture
4. Knowledge
5. Background
A case study at Septeni
Technology:
Being Agile in a Cross-
Cultural Environment
XP Day 2015 @ Da Nang
2015/04/18
Nguyen Vu Hung, CTO, Septeni Technology
References
http://c2.com/cgi/wiki?ExtremeProgramming
http://www.extremeprogramming.org/rules.html
http://xpday.vn/
https://www.facebook.
com/groups/agilevietnam/

Contenu connexe

Plus de Agile đây Vietnam

[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam DanangAgile đây Vietnam
 
[Thang nguyen] Best practices for Agile dispered team
[Thang nguyen] Best practices for Agile dispered team[Thang nguyen] Best practices for Agile dispered team
[Thang nguyen] Best practices for Agile dispered teamAgile đây Vietnam
 
[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...
[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...
[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...Agile đây Vietnam
 
[Christopher Ngo] Intro DevOPS XP Day 2015
[Christopher Ngo] Intro DevOPS XP Day 2015[Christopher Ngo] Intro DevOPS XP Day 2015
[Christopher Ngo] Intro DevOPS XP Day 2015Agile đây Vietnam
 
[Chris shayan] Agility at Vietnamworks
[Chris shayan] Agility at Vietnamworks[Chris shayan] Agility at Vietnamworks
[Chris shayan] Agility at VietnamworksAgile đây Vietnam
 
[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...
[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...
[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...Agile đây Vietnam
 
[HanoiScrum.net] Scrum foundation
[HanoiScrum.net] Scrum foundation[HanoiScrum.net] Scrum foundation
[HanoiScrum.net] Scrum foundationAgile đây Vietnam
 
[XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015]
[XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015][XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015]
[XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015]Agile đây Vietnam
 
[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...
[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...
[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...Agile đây Vietnam
 
[XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015]
[XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015][XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015]
[XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015]Agile đây Vietnam
 
[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...
[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...
[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...Agile đây Vietnam
 
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015][XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]Agile đây Vietnam
 

Plus de Agile đây Vietnam (12)

[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
 
[Thang nguyen] Best practices for Agile dispered team
[Thang nguyen] Best practices for Agile dispered team[Thang nguyen] Best practices for Agile dispered team
[Thang nguyen] Best practices for Agile dispered team
 
[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...
[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...
[Pascal & Thien Que] Why XP is important for us and why XP could be very impo...
 
[Christopher Ngo] Intro DevOPS XP Day 2015
[Christopher Ngo] Intro DevOPS XP Day 2015[Christopher Ngo] Intro DevOPS XP Day 2015
[Christopher Ngo] Intro DevOPS XP Day 2015
 
[Chris shayan] Agility at Vietnamworks
[Chris shayan] Agility at Vietnamworks[Chris shayan] Agility at Vietnamworks
[Chris shayan] Agility at Vietnamworks
 
[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...
[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...
[Agile tour 2014- HN] Nguyen Vu Hung: Beyond Agile - Practices and Mindset - ...
 
[HanoiScrum.net] Scrum foundation
[HanoiScrum.net] Scrum foundation[HanoiScrum.net] Scrum foundation
[HanoiScrum.net] Scrum foundation
 
[XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015]
[XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015][XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015]
[XPday.vn] XP? not Windows XP {presentation} (at) [XP Day Vietnam 2015]
 
[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...
[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...
[XPday.vn] what make software flexible (presentation) {at} [XP Day Vietnam 20...
 
[XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015]
[XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015][XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015]
[XPday.vn] is XP still eXtreme? {keynote talk} (at) [XP Day Vietnam 2015]
 
[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...
[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...
[XPday.vn] XP practices as scaffolding for breakthrough companies (presentati...
 
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015][XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
 

Dernier

Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Dernier (20)

Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

[Vu Hung] Being Agile in across cultural environment - XPDay 2015 Vietnam - NguyenVuHung

  • 1. A Case Study at Septeni Technology: Being Agile in a Cross- Cultural Environment XP Day 2015 @ Da Nang, Vietnam 2015/04/18 Nguyen Vu Hung, CTO, Septeni Technology
  • 2. AGENDA 1. Introduction 2. Highlighted Case Studies in Random Order a. Tools b. Processes c. Best practices 3. Q&A 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 3. About Septeni (Technology) epteni Group: 1990/10 Tech: 2013/03 affs service developement 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 4. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 5. Self Introduction 1. Nguyễn Vũ Hưng, 1978 2. CTO, Septeni Technology 3. POS: a. Agile b. Open Source c. Project Management d. Bridge SE (!) "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 vuhung16plus@gmail.com +84-904-28-7878 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 6. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 7. Disclaimer (2) I am too young to understand XP. And I am here to talk what I think when looking back to XP. And not about XP itself. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 8. What (NOT) to Cover? 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. XP and Scrum. We follow Agile principles but not only XP and 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 9. 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, 3. You are in a (offshore/outsourcing) development center in Vietnam. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 10. OK, Let’s Start 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 11. Which came first? 1. Agile, 2. Scrum, 3. XP? 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 12. Which is Most Important? 1. People, 2. Process (quy trình), 3. Tools? 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 13. People 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung Tool Process Japanese Vietnamese Agile Scrum XP JIRA Wiki Skype
  • 14. The Organizations 1. Septeni Group a. Based in Tokyo b. (Internet) Marketing 2. Two development centers a. Japan/Tokyo (~50 staffs) b. Vietnam/Hanoi (~50 staffs) 3. Operation centers a. (Mainly in) Japan b. U.S. c. EU, Korea, APAC 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 16. Gaps in Definition of Done 1. Be proactive 2. We define our DoD and defense it 3. Clear DoD is a good thing 4. Ambiguity for rooms of improvement 5. Have an RACI table 6. Done when reviewing is finished. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 17. Problems of Language Gap 1. 80% understandable 2. English, Japanese and Vietnamese 3. We are not English native speakers 4. Speakings & Writing a. Criticial cases: Native languages b. English is OK 5. When to speak and when to write? 6. TV Conferences 7. Translators/Bridge SE 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 18. The Importance of Business Analyst 1. We don’t BA officially 2. Bridge SE, PM, PO have to act as BA 3. Fill the business gaps between business and technical 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 19. Getting Things Done is not Enough 1. Japan a. More process oriented than, b. Result oriented 2. Vietnam a. Which one is more importance? Process or Result? 3. Scrum (as a process) is a (Agile) toolkit or the goal? 4. Balacing the two 5. Short-term and long-term goals 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 20. Seeking for a Standard 1. Does it exist: “Standard” Scrum? 2. The Scrum way in Japan, 3. The Scrum way that make Vietnamese happy? 4. Customized Septeni Scrum way. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 21. Meetings and Reports 1. Do we need 2 daily meetings? a. Morning meetings, b. Afternoon meetings c. Why? 2. Issues/Progress tracking for all stakeholders 3. Managers/PO in Japan and Vietnam can track easier, 4. Prepare for Overtime if needed 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 22. Test Automation 1. Not directly improve quality 2. Types of AT a. Unit level b. Function level c. Integration Test (IT), UAT 3. Tools a. Selenium/Web Drive b. Cucumber c. Shouldbee (?) 4. The goals a. +80% coverage for unit test b. +50% coverage for IT, UAT (webapps), by number of test cases 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 23. Test Automation (Developers) 1. PHP Unit 2. Ruby: Rspec 3. Scala: Scalatest 4. The goals a. +80% coverage for unit test b. +50% coverage for IT, UAT (webapps), by number of test cases 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 24. Test Automation (Manual Testers) 1. Selection criteria a. No or little programming skills required b. Quick learn, low cost to start 2. What to apply a. TDD, BDD 3. Shared goals among testers/developers a. +80% coverage for unit test b. +50% coverage for IT, UAT (webapps), by number of test cases 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 25. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 26. Culture Comparation (2) Note: Thanks Kakeya-san for the slide 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 27. Culture Comparation (3) Note: Thanks Kakeya-san for the slide2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 28. Culture Comparation (4) Note: Thanks Kakeya-san for the slide 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 29. (Task/Collective) 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 30. Rhythms of Agile (Scrum) 1. Asa-kai (朝会=morning meeting) a. All company staffs join 2. Product P a. Daily meeting i. Morning: Task for Yesterday and today, issues ii. Evening: Do we need to work overtime today? b. Teirei meeting (JP/PO/VN) 3. Release weekly on Tuesday 4. Bug statistics at the end of every months 5. zabbix alert statistics at the end of every weeks Regular meeting calendar of a month. Type of reports Type of meetings 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 31. Platform Team - The Next Target 1. DOs a. Build technical common foundation through our company b. Adopt it to application development with communicating with application development team 2. DONTs a. Develop applications 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 32. DDD: Domain-Driven Design 1. Ubiquitous language to fill the cutural gaps 2. Business and technical friendly 3. New and still immature 4. Why not try it? 5. Full cycle: from requirements to operation 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 33. Scala: New Development Stack 1. (Ubuntu) 2. Scala 2 3. JDK/JRE 8 4. Play Framework a. backend, application server 5. IntelliJ IDEA 6. Amazon AIM Linux (server) 7. Frontend: AngularJS 8. Amazon MySQL RDS 9. Specs2 10. Vagrant, VirtualBox 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 34. Kanban 1. Big Backlog 2. 4 lanes: Todo, Doing, Resolved, Done 3. “Release” with Jira Kanban 4. One-week iteration 5. Limit WIP (TBD) 6. Mainly for operation and research tasks
  • 35. Planning Poker 1. 1, 2, 4 8... vs. 1, 2, 3, 5, 8… 2. Qualitative Measure 3. Planning poker cards 4. 10 months from ideas to implementation
  • 36. Typical Vietnamese :) 1. Resistance to change 2. Always start with a “NO” statement 3. Don’t speak 4. Don’t open DRIVE THEM!
  • 37. (Some) XP Rules We Follows 1. We follow most of XP Rules 2. Test first (TDD) 3. Automation Test 4. Small Iteration 5. Unit test
  • 38. Let’s Vote for the Next Topics 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 39. Topics in Detail A. Organizational: 1. Organzation structure 2. Technology overview 3. KPIs (Key Performance Indicator) 4. Roles and Responsibilities 5. Report Lines 6. Bridge SE 7. (TBD) Scaled Agile B. Management: 1. Knowledge Management/Transferin g 2. Result-Oriented Management 3. Planning 4. Estimation 5. Review Process F. About the Project: 1. Project P. Overview 2. Agility in project P. D. Important quality practices: 1. TBD: Software Metrics to Measure 2. Quality = Measurement C. Best practices: 1. Jenkins - Continuous Integration 2. Integrated Test Automation 3. Source Code Quality 4. Code Coverage 5. Unit Test - PHPUnit 6. Test Code 7. Test Driven Development 8. Source Code Refactoring 9. Source Code Quality 10. (git) branching model E. Tools: 1. Jira - Ticket Management 2. JQL: Powerful Ticket Queries 3. Collaboration with Confluence 4. Stash - a git Repository 5. Chatwork - Realtime Instant Messenger 6. Google Drive - Realtime Collaboration Tool G. Other 1. Book we read 2. What are the gaps? 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 40. WE ARE HIRING 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 41. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 42. APPENDIX 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 43. Organzation Structure 1. Infrastructure 2. Human Resource/Back Office 3. Developement a. Project P. We will talk about this project 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 44. Technology Overview 1. Infra: Amazon EC, 2. Framework: CakePHP, 3. Database: MySQL RDS, 4. External interface: Facebook API 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 45. Project P Overview 1. Japan side a. 01 Product owner b. 02 facilitators 2. Non-technical a. 01 Project manager b. 03 Project lead c. 01 Quality assurance lead d. 01 Bridge SE 3. Technical a. 10 developers b. 08 testers c. 120 KLOC 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 46. Agility in Project P. 1. Customized scrum practices 2. Big team to run scrum? (~30 persons) 3. 01 PMs, 01 Bridege SE 4. 3 teams a. One project leader in each team b. One scrum master in each time 5. A half is QA 6. A half is developers Note: We are going to make this structure more flat and cross-functional 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 47. Knowledge Management/Transfering 1. Confluence (wiki) 2. Blog labs.septeni-technology.jp 3. Training (external, internal) 4. Pair programming 5. Review processes 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 48. Planning 1. Long-term a. 3-month after the FB API update plan b. (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-terms a. Per projects 3. Short-terms a. Weekly, per-sprints b. Daily Product backlog for a quater 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 49. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 50. Test Code 1. 1534 + 1115 tests / 116 KLOC 2. Using PHPUnit 3. Integrated with Jenkins 4. A part of test automation 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 51. 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 Failed test cases Stack trace for a failed test case Test result trend: failed test cases over builds
  • 52. Source Code Refactoring 1. This is a technical debt we are paying 2. The sooner the better 3. What we (will) do? a. Remove dead code b. Optimization c. 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 PMD evaluation result Duplicated code warning using DRY plugin Notes: Image taken from jenkins-ci.org 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 53. Source Code Quality 1. Source code quality metrics a. Degree of code duplication b. Degree of code complexity c. Number of warnings by code static analysis tools d. Coding conventions (naming rules) 2. Tools a. Jenkins’ plugins (such as pmd, dry…) b. Sonar’s plugins c. <Your tools?> Bonus: Cyclomatic Complexity (CC) 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 54. (git) Branching Model 1. 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 Original git flowSepTech’s custimized process Branching for hotfix Branching for multiple projects 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 55. TBD: Software Metrics to Measure (Some) software metrics used for measuring source code quality: Duplicated code Coding standards Unit tests Complex code Potential bugs Comments Design and architecture Lines Lines of code Comment lines Classes Functions Statements Public API Cyclomatic Complexity Note: We are planning to do it with Sonar 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 56. Review Process 1. Basically,we review all output 2. “Cusomters”/PO involves reviewing 3. Review group a. Source code b. Release note 4. Design document reviewed by a. Cross-review b. Project lead c. Japan side 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 57. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 58. Report Lines 1. 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 59. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 60. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 61. 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 62. Quality = Measurement 1. Common KPIs to measure a. Product KPIs b. Project KPIs c. Operation KPIs d. Customers’ satisfaction 2. Specific KPIs in our product a. Number of operation bugs after release b. Number of alert emails after release Number of system monthly alert Number of system monthly bugs 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 63. 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: pmd 2. Code duplication: dry 3. Code coverage: clover 4. Automation test WebDriver 5. Unit test: PHPUnit 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 64. Integrated Test Automation 1. (headless) browsers a. htmlunit, phamtomjs, b. Firefox (runs on a slave machine) 2. 97 test cases (simple and complicated) 3. Integrated with Jenkins 4. Run with cronjob 5. Coding in Java is a little pain 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 65. Source Code Quality We (aim to) measure source code quality 1. Without human being involved 2. Automatically generated by Jenkins’ plugins by ● Degree of code duplication ● PMD (PHP mess detector) 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 66. Code Coverage 1. Source code static analysis 2. 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 PHP 6. TODO: Build triggers on commits 7. Run by cronjob Coverage tree map Coverage report Images taken from: jenkins-ci.org 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 67. Unit Test - PHPUnit 1. Training/seminar 2. Integrated with Jenkins 3. Number of test cases a. Batch: 1115 cases b. Web: 1543 cases c. Failure rate: < 1% 4. TODO: Build triggers on commits 5. Run by cronjob 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 68. Jira - Ticket Management 1. Jira is the heart of our team a. Ticket (task) management b. Project management 2. Master tasks 3. Gantt chart 4. Text a. Richtext formatting b. Table c. Quoting d. Collaboration: Tagging 5. Watching: update notification by email 6. Dashboard 7. JQL: JIRA query language 8. Scrum board, Kanban, Master ticket Gantt chart Dashboard Note: Images taken from atlassian.com 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 69. JQL: Powerful Ticket Queries Issues in last 24 hours project = PPP and createdDate > -24h AND parent IN (pyx-669) ORDER BY createdDate ASC Tasks to remind customers project = 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 issues project = 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/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 70. Collaboration with Confluence 1. Collaboration wiki 2. Tracking changes/history 3. WYSIWYG richtext editor 4. Integrated with JIRA 5. Lots of plugins a. Source code beatifulizer b. Table c. Diagram d. Table of content 6. Process document 7. Detail design 8. Rules & guidelines 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 71. Stash - a git Repository 1. Following git-flow branching model 2. Commit (pull request)/source code review 3. Source code browsing 4. Merging permission 5. Fork, clone, download 6. All in one place a. Everyone b. Everything 7. Integrated with JIRA, Confluence Code Review in Action Branching “network” Note: Images taken from atlassian.com 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 72. Chatwork - Realtime Instant Messenger 1. Realtime 2. Tagging 3. TODO/Scheduling/reminder 4. Text/message quoting 5. Cloud-based webapp 6. TV conference (sucks on Linux) 7. 20+ chat groups for project P 8. RESTful API 9. Suports mobile (iOS, Android) 1. Group chat 2. Mobile support Picture take from http://www.kddi.com/business/cloud/cloud-app/chatwork/ 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 73. Google Drive - Realtime Collaboration 1. (One of) the best real-time collaboration tool 2. Cloud based, only requires a browser 3. Real-time editing my multiple people 4. Review-and-resolve feature 5. Tracking document changes/history 6. Good for Q&A 7. Sharing with permission 8. We mostly use a. Google Sheets b. (and sometimes) Google Docs 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 74. KPIs 1. KPI for an online service a. Number of bugs reported by users b. Numbers of zabbix alerts 2. KPI for (development) projects a. Customer satisfaction survey b. Number of bugs i. On production server ii. Operation/Integration test phase c. Deadline Zabbix: An open-source (network/OS/service) monitoring system 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 75. Books We Read Ngũ Luân Thư (五輪の書) Continuous Delivery Management 3.0 Agile Product Management with Scrum Programming in Scala Domain-Driven Design: Tackling Complexity in the Heart of Software 2014/04/18, XP Day Vietnam 2015 @Da Nang, Vietnam - Nguyen Vu Hung
  • 76. What are the Gaps? 1. Technical 2. Languagues 3. Culture 4. Knowledge 5. Background
  • 77. A case study at Septeni Technology: Being Agile in a Cross- Cultural Environment XP Day 2015 @ Da Nang 2015/04/18 Nguyen Vu Hung, CTO, Septeni Technology