Microsoft Power Automate embodies the principle of 'Keep It Simple, Stupid' (KISS), a design principle first noted by the U.S. Navy in 1960. The necessity to keep the code simple is even more relevant in LowCode and particularly in Power Automate.
The key reasons advocating simplicity include:
However, it could be challenging to define simple in coding with factors contradicting each other; for example, fewer expressions would mean more actions and vice versa. However, tailoring simplistic and efficient codes will evolve from practice and experience.
Take a hypothetical example automation project where the basic process involves gathering data via an MS form, selecting a Word Template based on the inputs, updating the template with the inputs, and finally, sending the template.
This process might initially sound simple but considering various factors, it could be pretty complex. Here is where you have to invoke 'simple logic' and 'dynamic' modelling based on your requirements, considering the trade-off between simplicity and efficiency.
The 'simple logic approach' is easy to follow, but the process's simplicity might add complications during the development and upgradation phase because of manual efforts, precision required, and potential room for errors.
However, a 'dynamic approach' is more sophisticated as it centrally maintains the templates and variables, optimizing the developer's time. This method is highly scalable and does not accrue added complexity while adding more templates.
In summary, simplicity does not always equate to 'quicker' or 'easier', and similarly, complexity doesn't always offer benefits. Developers should use a design review as a platform to identify the elementary needs, and the complexity can be built on top if necessary.
In essence, the thought process should be building a simple process while adhering to basic non-functional requirements like Naming convention, Environment Variables, Connection References, Exception Handling, etc., then enhance the process and ultimately future proof it.
The perfect coding approach chimes well with the saying 'balance in everything.'.
Ultimately the choice between a simple and complex coding approach depends on the specifics of the project, the developer's expertise, and the intended outcome. It's crucial to remember that simplicity does not always equate to efficiency or effectiveness, and a more complex code can sometimes yield better results for specific tasks. However, maintaining a balance and understanding the consequences of both complexity and simplicity is crucial in effective coding. A pragmatic approach would always propel optimised results, devoid of unnecessary complications.
The text discusses the importance of the KISS (Keep It Simple, Stupid) principle in the context of coding and developing using Power Automate, a Microsoft tool for automating workflows. The KISS principle, originating from the U.S. Navy in 1960, advocates for simplicity in design. The text suggests that this principle is not often applied when developing in LowCode or using Power Automate, although the author argues that it should be. Simplicity becomes important with the varied skill levels of developers, the simplified Power Automate tool set, and the potential costs associated with overcomplicating things. The text encourages readers to consider what simplicity might look like in their next flow.
Microsoft consulting, Microsoft professional services, certified Microsoft specialist, Microsoft certified consultant, Microsoft solutions expert