Designing cryptoeconomical systems is far more complicated from the classical software engineering, mostly because they do not only contain crpytography and software engineering but part of such systems work purely economical. Such systems usually contain one or several tokens that are being actively traded and priced on internal and external markets. Despite its complexity economical properties of the system have to be guaranteed, like stable price niveau of the service, low transaction cost or increasing value of the "investment" tokens.
Designing such systems is far more something as economical engineering than classical empirical economics. The main reason for that is that such a systems provide artificially designed limited economical systems, in which most baseline rules of the system are simply "hard-coded" into the blockchain. In this sense choosing the adequate rules for the system must be carried out with the help of a careful analysis in which most of the possible consequences of the chosen rules must be carefully analysed. Such an engineering process is much more a deductive reasoning process and it is much closer to the Austrian School of Economics than to the classical empirical economical directions.
Certainly, it is illusory to assume that working cryptoeconomical systems can be always derived by pure deduction without any possibility for correction at the end, similarly as in software engineering: although most of the programming is based on logic and mathematics, a good software design usually require some iterations at the end. Similar methodology is foreseen in cryptoeconomical system design as well: although economic engineering is best carried out by a pure logical analysis of the hard coded economical premises and implications in a pure Austrian School of Economics style, real applications will probably need a couple engineering cycle to reach the desired state.