For example (personal mnemonic to cover my own blind spots) when designing my feature, consider:
* Flighting, especially protocol changes, will this change cause clients to be unable to talk to services?
* Risk: if this change breaks its service, what else breaks? What is the recovery path?
* Security: does this unintentionally relax or circumvent existing security boundaries? How much damage can an abuse of any code that writes/modifies do?
This is not a complete list on purpose. I use it to shore up the things I tend to forget to think about.
For example (personal mnemonic to cover my own blind spots) when designing my feature, consider:
* Flighting, especially protocol changes, will this change cause clients to be unable to talk to services?
* Risk: if this change breaks its service, what else breaks? What is the recovery path?
* Security: does this unintentionally relax or circumvent existing security boundaries? How much damage can an abuse of any code that writes/modifies do?
This is not a complete list on purpose. I use it to shore up the things I tend to forget to think about.