similar group - development team management principals
DESCRIPTION
This is the pitch I gave my new team at Similar Group. It describes the things that matters in a modern development team.TRANSCRIPT
WHYWe believe we can change web traffic analytics
HOWWe collect data from millions of users and analyse it
WHATWe created several websites and services that shows the
analysed data from various angles
OUR CHALLENGESmove fast - we need to develop new features quicklyget quick feedback - we need to know if our customerslike our product and apply changes fastfocus on value - we need to create a company-wide focuson the things that matters
OUR PROBLEMSour business is constantly evolvingwe are in a competitive marketwe are growingour architecture is evolvingdevelopment can take a lot of timeour load is increasingwe have more quality issues
WHAT CAN WE DOimprove communication and tasks managementstandardizationscalable architecture (human-wise and production-wise)faster and better quality assuranceautomate repeating processes
OUR GOALSWE SHOULD AIM FOR
staying focusedbeing flexibleshortening feedback loopsbeing quality oriented
AGILE METHODOLOGYADOPT CHANGE
Focus
small featuresiteration start / stand-up meetings / retrospectivesdefinition of readyless paper, more talktransparent
Flexible - quickly adopt to change
Short Feedback Loop - release when done
Quality Oriented
QA built indefinition of done
CVS - GITBRANCH FAST, MERGE FAST
Focus - isolate your environmentFlexible - working together without interruptionsShort Feedback Loop - commit often, rebase oftenQuality Oriented - test locally before commits
DOMAIN DRIVEN DESIGNEVOLVE TOGETHER
Focus
ubiquitous languagestructured code and logicAPIs as domains
Flexible - evolving model
Short Feedback Loop - allows testing domain logic first inisolationQuality Oriented
test locally before commitsNo SPOF
CODE STANDARDIZATIONUNITE AND GAIN
Focus
use common practices when possibleenjoy the open source community
Flexible - developers mobility
Short Feedback Loop - tooling that guide the developer
Quality Oriented - part of the build process
TDD/BDDQUALITY FIRST
Focus
focus on the taskstakeholder and developer work together
Flexible - allows safe changes
Short Feedback Loop - tooling that guide the developerQuality Oriented - quality before implementation(queuing theory)
TEAMS BASED ONPROFESSIONGROW TOGETHER
Focusdo one thing goodadvantage of size
Flexible - assign developers to tasks based on workloadShort Feedback Loop - change, test, spread acrossproductsQuality Oriented - use tools to guide and enforcestandards
OWNERSHIP BASED ONPRODUCT
OWN YOUR WORKFocus - distributed responsibilityFlexible - define responsibilities based on actual productShort Feedback Loop - alert the right personQuality Oriented - production is part of the process
A/B TESTING AND FEATUREFLAGS
STOP GUESSINGFocus - focus on resultsFlexible - experimenting several options at onceShort Feedback Loop - metrics tells what worksQuality Oriented - reduce risk in production
CONTINUOUSINTEGRATION /DEPLOYMENT
SHIP FAST AND SAFEFocus - release is not a ceremonyFlexible - develop mvp, ship, monitor, repeatShort Feedback Loop - (almost) instant feedbackQuality Oriented - safer, less human error prone
MONITORINGCONTROL PRODUCTION
Focus - results, not guessesFlexible - monitor everything with minimal impact onproduction serversShort Feedback Loop - real time dataQuality Oriented - detect errors before customers do