“Simplicity is prerequisite for reliability.”
Edsger Dijkstra.
Regular readers will note my stance on seeking simplicity in OSS.
OSS have many moving parts – hardware, software, processes, people, interfaces, etc all have inherent complexity. But put them all together and you have the main reason why so many OSS projects go over time, over budget and/or fail to deliver against initial target objectives – they are just too complex.
The primary goal of every OSS project should be the same – ruthless simplification. Requirements, platforms, interfaces, organisation structures, processes, services, etc. You and every member of the team should seek simplification at every step.
Automations are the perfect example. At first glance you would think that automations increase simplicity. At a user-level they should if they’re doing their job properly. However, at system-level it is likely that significant complexity is required to pull all the moving parts together. I always suggest to make sure the end-to-end process or tool is working well when followed manually, it’s refined and reliable, and only then think about automating it.