Presented during Tech in Asia's Product Development Conference 2017, we share the growth data for Bukalapak's product development group, and strategies that we took in order to achieve the following in just twelve months:
- Doubling our team size
- Tripling our product deliverables
- Reduction of emergency bugs by 70%
1. Scaling up Your Product
Development Process
Ibrahim Arief – @ibamarief
VP of Engineering – Bukalapak
Presented at Tech in Asia PDC’17
Strictly Confidential 1
2. Short Intro – Bukalapak
2
• One of the largest e-marketplace in Southeast Asia
• >1 Trillion IDR in monthly transactions
• ±800 Total Employees
• ±300 in Product Development Group
• ±120 in Product (PM, UX, UI, DS, QAT)
• ±150 in Engineering (FE, BE, QAE, MOB, AI)
• ±30 in Technology (SRE, SysEng)
• ±20 Product Development Teams
3. Our Dev Scale up in Numbers
All data between Q2 2016 and Q2 2017
Product engineers growth: +112%
Deliverables growth: +217%
Monthly emergency bugs: -70.6%
3
Productivity
Growth!
4. Our Dev Scale up in Numbers
All data between Q2 2016 and Q2 2017
Product engineers growth: +112% Size
Deliverables growth: +217% Speed
Monthly emergency bugs: -70.6% Quality
4
6. Scale Up KPI #1 – Size
6
• Building up the Team
• Basic online programming test
• Empower your team to interview
• Eliminate hiring bottlenecks
• Maintain uniform standard
7. Scale Up KPI #1 – Size
7
• Agile Organization
• Greiner's Growth Model
• Growth Crisis Point Next Phase Growth Crisis Point …
8. Scale Up KPI #1 – Size
8
• Phases depends on the complexity of your product. For Bukalapak:
• Phase 1 – Centralized single team (up to 12 people)
• Phase 2 – Multiple single-function pools of talents (12-36 people)
• Phase 3 – Multiple cross-functional teams (>36 people)
• For phase 3, ensure you have enough independent
teams to handle your verticals (e.g. complex
product = more verticals = delay Phase 3)
9. Scale Up KPI #2 – Speed
9
• Seek bottlenecks in your development process
• Talk with your stakeholders, PMs, engineers
• Example bottlenecks:
• Single-person knowledge base
• Design by committee
• Poor separation of responsibilities
• Recommended reading: The Phoenix Project (bl.id/p/7r25pk)
10. Scale Up KPI #2 – Speed
10
• Rapid cycle & deployment (and rollback!)
• Deploy often = smaller changes = less risk = faster dev cycle
• Deploy any time of the day, finish within 30 minutes
• Rolling deployment, zero downtime
• Canary server deployment
• Release branch & scheduled release trains
11. Scale Up KPI #3 – Quality
11
• QA Automation
• Manual test is NOT scalable
• QA Testers vis-à-vis QA Engineers, 3 days 30 minutes
• BukaTalks @ YouTube – QA Automation (in Indonesian)
• Parallel Web Testing: youtu.be/rT_DHGKIFT0 [13:40]
• Best Practice Patterns on Test Automation: youtu.be/eL5qe3EeObY [13:36]
• Rapid App Testing: youtu.be/Dq_PHL9_YfQ [16:46]
12. Scale Up KPI #3 – Quality
12
• Realtime health insight
• Sense the health of your production system
• Mistakes can happen fast detection and glanceable insight
• Deploy realtime monitoring & logging
• Prometheus/InfluxDB, Grafana, ELK
• Collect metrics on various vital points
• BukaTalks Realtime Operational Insight:
• youtu.be/YfCUBLzDG04 [43:04]
By Addshore (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons
13. Scale Up KPI #3 – Quality
13
• Automating Alerts
• Metrics Alert Rules Email/SMS/Call
• Prometheus & OpsGenie
• 24/7 Automated Watchdog
• 30 minutes test automation run every deploy chatbot alerts
• Works great with Canary
• Fire and forget deployment
14. Wrap Up
14
• Scaling up Development Process need to target
3 KPIs:
• Increasing team size
• Accelerating development speed
• Reducing emergency bugs or incidents
• Productivity (speed / size) should be measured
and maintained or increased as you scale up
• We share more details in our BukaTalks
YouTube videos
All non-Bukalapak images in this presentation, unless stated otherwise, are within
public domain or labelled for reuse with or without the need for proper attribution.