Logo

dev-resources.site

for different kinds of informations.

Recovery over perfection

Published at
8/2/2022
Categories
technology
principles
development
Author
stefvanhooijdonk
Categories
3 categories in total
technology
open
principles
open
development
open
Author
16 person written this
stefvanhooijdonk
open
Recovery over perfection

Recovery over Perfection means that, as Tech, we would rather focus our energy on ensuring that we can recover from issues quickly and effectively, rather than try to prevent all possible failures.

This supports us in the following quest: to keep speed and momentum in our release of value to the customers and users. to avoid being held back in innovation. to seek the right balance for Coolblue between cost of development and cost of maintenance.

This philosophy leads us to the following: Recovery must be β€˜instantaneous’ (or super fast, at the very least).

This means we must be able to do the following things very quickly:

  • Discover failure
  • Restore acceptable behaviour
  • Diagnose issues
  • Solve issues
  • Apply permanent solutions
  • Learn from our observations (Apart from discovering failure all of the other actions could be applied in various ways/orders).

Discovering and diagnosing failure requires effective monitoring and logging. Restoring acceptable behaviour requires easy, reproducible deployments. Solving and applying solutions requires maintainable code, accompanied by automated tests (see our other principles).

Essentially, this comes down to the following: monitoring, logging, alteration, integration, deployment and testing should be a priority. How much of each is a balance question, but in our principles we will set out minimum expectations.

It doesn't relieve you from programming or designing defensively. Networks will fail, dependencies might break down, users tend to be very creative in their input for the application. You have to expect this will happen and handle it accordingly without breaking your application. Recovery over perfection doesn't relieve you from your responsibility to handle failure gracely. It requires you to make conscious decisions around safety nets and the amount of effort needing to spend.

Go to the overview of our Tech Principles.

principles Article's
30 articles in total
Favicon
Tell Don't Ask principle explained
Favicon
THE M.O.I.S.T Principle
Favicon
Functional Programming (FP) Principles with examples
Favicon
SOLID Principles in Functional Programming (FP) with examples
Favicon
16 Principles for Tech-led Start-ups as a Software Engineer
Favicon
Applying the four principles of accessibility
Favicon
Mastering SOLID principles in Flutter
Favicon
We got 3 main principles for writing Technical Blog posts. Here’s what we learned.
Favicon
Testing Without the Tears: How Mocking Boundaries Can Strengthen Your Tests
Favicon
Advantages of Modularity: Simplified Development Process
Favicon
SOLID Principles: It's That Easy! 😱 STANDOUT 🌟 with SOLID Principles! πŸ§™β€β™‚οΈβœ¨
Favicon
10 principles of good web design.
Favicon
πŸ“œ Novu's Communication Manifest: Lighting the Path to our Future πŸ’‘
Favicon
2023 Industry Trends in Mobile Application User Interface
Favicon
Web Design Principles: From Layout to Navigation, Master the Basics
Favicon
Agile Software Development: Principles, Practices, and Benefits
Favicon
Considering Agile Principles from a different angle
Favicon
SOLID Principles in Swift: A Practical Guide
Favicon
Development principles you should know
Favicon
One-page Software design cheat sheet
Favicon
Top 10 trending github repos for Java developers in this weekπŸ‘‰.
Favicon
What You Need To Know About Design Rules And Principles
Favicon
Security
Favicon
Monitoring/Observability
Favicon
Design to encapsulate volatility
Favicon
Testing
Favicon
Code Clean & Simple
Favicon
Automation
Favicon
Tech Principles @ Coolblue
Favicon
Recovery over perfection

Featured ones: