Based on our interpretation of
Agile Development
we think that we should choose the simplest approach to tackle a task.
Particularly, we always try to avoid optimizing things before it turns out that optimization is needed (see Donald Knuth). This applies, in the same way, to small things eg.
-
optimizing algorithms like SQL queries
-
choosing frameworks for persistence, offering rest endpoints, frontend frameworks
-
infrastructural topics like VCS build system
As well as it applies to "bigger" things eg.
-
Deciding architectural things like using CQRS
-
Using microservices vs. putting things into a monolith