Imagine a big plate of cookies. Each cookie is a service that your mommy or daddy can provide for you. Sometimes, you might want just one cookie, but other times you might want a whole bunch of cookies. A service granularity principle is like a rule that your mommy or daddy might use when they're giving you cookies. It says that they should only give you as many cookies as you need, but not too many that it might make you feel sick or that you don't really want.
In the same way, a service granularity principle is a rule that software engineers use when they're designing computer programs that provide different kinds of services. They want to make sure that each service they provide is just the right size – not too big and not too small – so that it's easy to use and it does what it's supposed to do. This helps them to build better programs that work well and are easy to understand.
For example, imagine a program that helps you find a recipe for making cookies. One service might be to search for recipes that use chocolate chips, another service might be to filter out recipes with nuts if you have a nut allergy, and another service might be to show you how to make the cookies step-by-step. Each of these services is designed to do one thing well, and they work together to make the program as a whole more helpful to you. This is what the service granularity principle is all about – designing programs with just the right size and number of services to make them easy to use and effective.