2. WHY
We believe we can change web traffic analytics
HOW
We collect data from millions of users and analyse it
WHAT
We created several websites and services that shows the
analysed data from various angles
3. OUR CHALLENGES
move fast - we need to develop new features quickly
get quick feedback - we need to know if our customers
like our product and apply changes fast
focus on value - we need to create a company-wide focus
on the things that matters
4. OUR PROBLEMS
our business is constantly evolving
we are in a competitive market
we are growing
our architecture is evolving
development can take a lot of time
our load is increasing
we have more quality issues
5. WHAT CAN WE DO
improve communication and tasks management
standardization
scalable architecture (human-wise and production-wise)
faster and better quality assurance
automate repeating processes
6. OUR GOALS
WE SHOULD AIM FOR
staying focused
being flexible
shortening feedback loops
being quality oriented
7. AGILE METHODOLOGY
ADOPT CHANGE
Focus
small features
iteration start / stand-up meetings / retrospectives
definition of ready
less paper, more talk
transparent
Flexible - quickly adopt to change
Short Feedback Loop - release when done
Quality Oriented
QA built in
definition of done
8. CVS - GIT
BRANCH FAST, MERGE FAST
Focus - isolate your environment
Flexible - working together without interruptions
Short Feedback Loop - commit often, rebase often
Quality Oriented - test locally before commits
9. DOMAIN DRIVEN DESIGN
EVOLVE TOGETHER
Focus
ubiquitous language
structured code and logic
APIs as domains
Flexible - evolving model
Short Feedback Loop - allows testing domain logic first in
isolation
Quality Oriented
test locally before commits
No SPOF
10. CODE STANDARDIZATION
UNITE AND GAIN
Focus
use common practices when possible
enjoy the open source community
Flexible - developers mobility
Short Feedback Loop - tooling that guide the developer
Quality Oriented - part of the build process
11. TDD/BDD
QUALITY FIRST
Focus
focus on the task
stakeholder and developer work together
Flexible - allows safe changes
Short Feedback Loop - tooling that guide the developer
Quality Oriented - quality before implementation
(queuing theory)
12. TEAMS BASED ON
PROFESSION
GROW TOGETHER
Focus
do one thing good
advantage of size
Flexible - assign developers to tasks based on workload
Short Feedback Loop - change, test, spread across
products
Quality Oriented - use tools to guide and enforce
standards
13. OWNERSHIP BASED ON
PRODUCT
OWN YOUR WORK
Focus - distributed responsibility
Flexible - define responsibilities based on actual product
Short Feedback Loop - alert the right person
Quality Oriented - production is part of the process
14. A/B TESTING AND FEATURE
FLAGS
STOP GUESSING
Focus - focus on results
Flexible - experimenting several options at once
Short Feedback Loop - metrics tells what works
Quality Oriented - reduce risk in production
15. CONTINUOUS
INTEGRATION /
DEPLOYMENT
SHIP FAST AND SAFE
Focus - release is not a ceremony
Flexible - develop mvp, ship, monitor, repeat
Short Feedback Loop - (almost) instant feedback
Quality Oriented - safer, less human error prone
16. MONITORING
CONTROL PRODUCTION
Focus - results, not guesses
Flexible - monitor everything with minimal impact on
production servers
Short Feedback Loop - real time data
Quality Oriented - detect errors before customers do