The Business Value of Elegance
1. Software in the digital age is about flows, not assets
2. Digital software is the fruit of collaboration
3. Today’s main challenge for software is the increasing word complexity
- Elegance is necessary to break the “time barrier” – allow long-lasting software improvements
- Elegance is necessary to break the “distance barrier” – enabling the collaboration of remote viewpoints to produce better software
- Elegance is necessary to break the “complexity barrier” – in order to design antifragile systems.
- Elegant design borrows heavily on abstraction and genericity. However, units (from functions or classes to module) have a clear and well defined purpose.
- Elegant design is mindful of waste, in the lean tradition. Everything is used, and constant refactoring tracks useless replication of features.
- Elegant design is geared toward self-dissemination because it “welcomes you” through a self-explanatory structure. This is greatly helped by reification / introspection when design elements are self-aware.
- Elegant design is open by nature – it embraces the philosophy of “fragment weaving” mentioned early on through facilitating (hence the importance of API) and selflessness (the design principle that the code will always be used by something more important than itself).