There are many approaches to algorithm design, and there are many different purposes for algorithms. Conceptually, the broadest set of criteria is the desired function of the algorithm: you design it to do what you want it to do. Within that process, depending on your application, there may be many sets of criteria that limit your possibilities. Imagination broadens them.
An algorithm is a set of rules to systematically solve a problem. In practice, algorithms can sometimes be thought of as procedural definitions, rather than just problem-solving routines. Either way, the primary criteria is the objective or purpose you are seeking. Define what you want your algorithm to do. Your definition becomes your most important criteria.
Algorithms vary greatly, from design frameworks for computer programs to military implementation plans. The context of your objective will superimpose additional criteria. For example, if your algorithm's objective is a building evacuation plan, you have a specific set of possibilities: you have a building full of people and potentially a fire. This context provides additional criteria of what things can be acted upon and what actions can take place.
Algorithms can also take many forms. They can be written in human language, like English. They can take the form of a flow chart. They can be written with symbols. They can be written in a programming code. The form your algorithm takes may superimpose additional criteria. It's possible for algorithms to take different forms and be functionally the same. But each form has a somewhat different set of criteria. For example, it may be cumbersome and difficult to communicate in English what you can communicate graphically in a flow chart or with specialized symbols.
The final form your algorithm will take may superimpose even more criteria. For example, if you know your algorithm will be translated into a specific programming language, it makes sense to design the algorithm with forethought and understanding of the language's limitations, possibilities and conventions.
It's easy to focus on the rules and limitations in algorithms. Don't get so caught up in the restrictions that you forget one of the most important criteria: imagination. Imagination is a key element in algorithm design. Your willingness to imagine, try and fail, learn from the outcome and try again are processes that guide successful algorithm design.