2. Tommy Sullivan
• software engineer at
PivotalLabs KMKOnline
• ~45 startups in San
Francisco and Singapore
• worked with a few billion
dollar companies
- telecom ~200B
- music label ~2B
- advertising ~1B
- banking ~ 60B
- KMKOnline 😁
3. • Anecdotal - based on my experience and theirs
• KMK doesn’t do everything right
• Where we are and want to go
• What we think works, love to know what works for you
WARNING!
4. KMK is:
● BBM.com
○ Millions of daily active users on
iOS & Android
○ Indonesia’s local messenger
○ 1M requests per second 🔥
● Vidio.com
○ Peaks of 600k concurrent users
○ Best video content in Indonesia
○ 25k events per second 🔥
• Extreme Programming
Investors of 💵 in:
○ dana.id
○ bukalapak.com
○ rumah.com (Property Guru)
○ kly.id
○ reservasi.com
○ oto.com
○ hijup.com
○ bobobobo.com
○ bridestory.com
○ suitmedia.com
○ hometestersclub.com
6. One of the quotes that I used to flash around
people was "if you're doing Extreme
Programming the same way as you were
doing it a year ago, you're no longer doing
Extreme Programming". Because if you don't
take charge and you don't alter things to fit
your circumstance, then you are missing the
key part of it.
- Martin Fowler
https://martinfowler.com/articles/agile-aus-2018.html
7.
8.
9. enterprise fun
• EMC bought VMWare
• EMC bought Pivotal
• EMC moved all the enterprisey software to Pivotal
(including CF & Spring)
• Dell bought EMC
• Dell/EMC spun off Pivotal
10. “The thing I found most interesting is that this project should have
failed. A HUGE incredibly complicated body of enterprise software
with near-100% team turnover? I would have bet against it ever
working.
But all that pair programming and rotation and writing stories and
backfilling tests etc just eventually ground the problem down.
It was expensive as hell and it took years but it looks like a success story
now.
I don't know of any other big takeover project like this that worked.”
- Hacker News comments on Pivotal’s ~ 5B IPO
https://news.ycombinator.com/item?id=16664024
11. “Most of the over 100 companies Pivotal works
with every year come to them because they
think they just need more development
support to ship faster or manage their growth.
But more often than not, Hieatt believes the
problem is actually related to the broader issue
of development culture…”
- Edward Hieatt
12. KMK’s Culture:
• Build & release incrementally
• Work in cross functional teams
• Code by pair programming
• Deploy with continous integration
• Use test driven development
• Automate the boring stuff
• Engineer at a sustainable pace
29. ok...
• People development:
training!
• No silos
• Higher “bus count”
• Greater team cohesion
through rotation
• More flexibility for people to
move between teams
30. ok...
• Higher code quality
• More maintainable code
• More job satisfaction
32. CS141
• Share
• Play Fair
• Clean Up
• Hold hands and stay
together
• Say you’re sorry
cs.wm.edu/~noonan/pairprog.html
33.
34. • Plan
- What are we working on today? What do we plan to achieve?
- Syncronize breaks - pomodoro or otherwise, but opposite-sync is silly
• Respect
- Pairing is a democratic process, not a competition where another individual is made to feel inferior
- Type at a reasonable speed lah!
• Take Notes!
- When your pair is coding, take notes on things you think will need attention later. Do not interrupt or
flag issues immediately – breaking their flow. Once your pair is done with the typing, discuss
• Vocalize / Communicate
- What was just done, what is being done, and what is going to be done next.
- Pre-empt and analyze expected test results.
• Team Leads: Check in, evaluate, rotate
- Not always easy, but team leads need to work on how to do it
KMK’s pairing rules:
40. how to fail!
• Forcing people to pair
They will sandbag the project
• Totally flexible hours
• Taking on too many changes
at the same time: Scrum,
TDD, DevOps...
• Not adquate seating /
infrastructure
42. how to succeed!
• Solicit people actually
interested in pairing!
• Coordinate their schedule
Come & leave on time
• Step-by-step if implementing
XP
Solve your main pain points first
• Give them keyboard, mice, and
proper desk space
46. Pomodoro Technique
• Decide on the task to be done
• Set the pomodoro timer to n
minutes (traditionally 25)
• Work on the task until the
timer rings
• Take a short break (3–5
minutes)
• After four pomodori, take a
longer break (15–30 minutes)