applying lean startup and agile architecture in an enterprise · • run hypothesis-driven...
TRANSCRIPT
Applying Lean Startup and Agile Architecture in an Enterpriseu Tang Tze Chin & Mazharul Anwar
About SEEK Asia
Market Challenges● 53% of South East Asian live in
rural areas with limited access to jobs.
● 72% of employees are not happy at work.
● 96% of employers can’t find the right talent.
Our Business
● We operate in seven countries:● Malaysia, Singapore, Thailand,
Hong Kong, Indonesia, Philippines, Vietnam
● Multiple Brands
Improving Lives Through Better Careers
About Us
About Tze• Change-maker• Ex-Engineer / Agile Coach
/ Manager• 12+ years in the agile
space.• Agile Malaysia Community
Organizer• Startup mentor
About Maz• Software Engineer• @mazharul_anwar• [email protected]• Multiple-startup founder
The Constraints
Scale
Pace of CompetitionLegacy
Scale● ~20 million applies per month.● 99.997% target uptime.
Speed of Competition● We compete against Indeed.com, Monster.com,
LinkedIn● Facebook & Google on the horizon.
Legacy● We were part of the .com boom, the FIRST one!● Twenty years of accumulated history and systems.
Concepts at Play
Lean Startup
Source: http://bit.ly/roach_startupSource: http://bit.ly/lean_startup_sgsin
Architecture Runway
Source: http://bit.ly/sbde_sgsinSource: http://bit.ly/arch_runway_sgsin
vs
Legacy RetirementDefinition
A system which currently delivers business value, however is in need of replacement.
Considerations for Retirement• Effort Cost
• To maintain vs to rebuild• Risk
• Business loss vs Opportunity Cost
• Value• Current business value vs
future value
The How of ScalingScaling Quantums
1 100 10,000 100,000 All
What Happens at Each Quantum?
At 1• Separate the problem and technical solution domains. Under the
problem at the single user level.• Hack it out.
At 100: • Scale understanding of the problem to a group of users. • Scale the hack.
What Happens at Each Quantum?
At 10,000: • Test the solution for solution / problem fit. • Run hypothesis-driven experiments.• Begin solutioning, start development from scratch if required.
Use what has been previously learnt.
At 100,000• Continue validation of problem. Test with more users, multiple-
segments of users.• Validate architectural assumptions, adjust if necessary.
What Happens at Each Quantum?
All• Release to all
markets and brands.
Hypothesis Testing About Us
• Build hypothesis around your idea• Measure everything• Support your hypothesis with data• Does the legacy behavior make sense ?
Greenfield project• Build for 1 user• Delivery pipeline
• Build a fastest possible delivery pipeline• Use the fastest possible way to production• Metrics, metrics , metrics!
Version Zero
If you aren't embarrassed by the first version of your product, you shipped too late. - Reid Hoffman
Legacy Software
• Understand when to re-build• Obsolete technology• Maintainer still alive ?• First law of holes: When you are in one, stop digging.
• Are you just rebuilding your legacy software or delivering value to the user ?
Decoupling
• A good way to understand a legacy software is to try and decouple them
• Decoupled module can be built and scaled independently
A/B testing ( Split Testing)
• Understand the difference and production output from both old and new system
• Detect anomalies • Helps to do incremental changes and performance
iterations• Measure outcomes
Strangler Pattern
https://umtrees.files.wordpress.com/2015/10/strangler.jpg
Rebuilding Safely
Event InterceptionTransform, Coexist, Eliminate
https://www.martinfowler.com/bliki/StranglerApplication.html
Case #1: Post-apply Job Recommendation
Case #2: Real time notification system
Q&A
Tze Chin Tanglinkedin.com/in/tzetang/@[email protected]
Mazharul Anwarlinkedin.com/in/mazharul@[email protected]