23
Applying Lean Startup and Agile Architecture in an Enterprise u Tang Tze Chin & Mazharul Anwar

Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Applying Lean Startup and Agile Architecture in an Enterpriseu Tang Tze Chin & Mazharul Anwar

Page 2: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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

Page 3: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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

Page 4: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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.

Page 5: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Concepts at Play

Page 6: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Lean Startup

Source: http://bit.ly/roach_startupSource: http://bit.ly/lean_startup_sgsin

Page 7: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Architecture Runway

Source: http://bit.ly/sbde_sgsinSource: http://bit.ly/arch_runway_sgsin

vs

Page 8: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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

Page 9: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

The How of ScalingScaling Quantums

1 100 10,000 100,000 All

Page 10: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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.

Page 11: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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.

Page 12: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

What Happens at Each Quantum?

All• Release to all

markets and brands.

Page 13: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Hypothesis Testing About Us

• Build hypothesis around your idea• Measure everything• Support your hypothesis with data• Does the legacy behavior make sense ?

Page 14: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Greenfield project• Build for 1 user• Delivery pipeline

• Build a fastest possible delivery pipeline• Use the fastest possible way to production• Metrics, metrics , metrics!

Page 15: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Version Zero

If you aren't embarrassed by the first version of your product, you shipped too late. - Reid Hoffman

Page 16: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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 ?

Page 17: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Decoupling

• A good way to understand a legacy software is to try and decouple them

• Decoupled module can be built and scaled independently

Page 18: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

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

Page 19: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Strangler Pattern

https://umtrees.files.wordpress.com/2015/10/strangler.jpg

Page 20: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Rebuilding Safely

Event InterceptionTransform, Coexist, Eliminate

https://www.martinfowler.com/bliki/StranglerApplication.html

Page 21: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Case #1: Post-apply Job Recommendation

Page 22: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Case #2: Real time notification system

Page 23: Applying Lean Startup and Agile Architecture in an Enterprise · • Run hypothesis-driven experiments. • Begin solutioning, start development from scratch if required. Use what

Q&A

Tze Chin Tanglinkedin.com/in/tzetang/@[email protected]

Mazharul Anwarlinkedin.com/in/mazharul@[email protected]