roman bugaev - engineering driven culture
TRANSCRIPT
ENGINEERING DRIVEN CULTURERoman Bugaev
CULTURE
CULTURE
CULTURE
INTERESTING FACTS
INTERESTING FACTS
INTERESTING FACTS
Unpredictable environment: 3X load in 2 months
PROCESS
AGILE - CONTINUOUS IMPROVEMENTS
Retrospectives / standups Up to 30 releases to prod per day (CD)Fast feedback loop / Fail fast“Feel the pain" sessionsWeek in support for onboarding On duty scheduleGet involved
AGILE VS ENGINEERING
Deal with “tech debt”Limit yourself (e.g. DB freeze)20% of sprint dedicated to technical backlogMeasure (code quality, bugs, time to market)
Avoid “boiler rooms”Measure twice, cut once (sometimes)Agile architecture
ESTIMATES
2 weeks sprint - 26 data points for a year - insufficient data to draw conclusions from“Units of time”Commitment vs. Forecast
Commitment to be professional/achieve goals/incrementForecast for deliverables
CONCLUSION
Only add processes that reduce significant actual risk
Ship it when it’s ready, not before, not after.Let engineers do their work, think things through and write 15 lines of code instead of 150. Use code reviews, testing, etc. The cost of shipping the wrong thing is much higher than the cost of slipping arbitrary deadlines to ship the right thing.
DEVOPS
DEVOPS
Dev – add new featureOps – keep system stable, fast and available
DevOps – combine both
DEVOPS
One teamTestsMetrics & monitoringAutomate everything
Infrastructure as a codeTests Deployment
AlertingAtomic increments
ARCHITECTURE
ARCHITECTURE
Cross functional teamsOrganized around capabilities Nothing shared
Separate repo, DB, independent deployment
Design for failureAsynchronous design
Evolutionary design / Postpone decisions Polyglot persistence & environment
TROUBLE SHOOTING / QA
RELEASES
Blue/green deployment & Feature toggling Atomic updateMetrics/Logs/AlertsProduction tests
SUMMARY
Agile on steroids AgileDevOps Engineering
@adforminsider