There appears to be a couple bugs in your pictures. PC2 has a gateway that is the same as its IP, PC2 probably should have a gateway of 172.16.15.1. PC0, and ISP Fa0/0 are connected but have a different mask (one is 16, and the other 24), I will assume a 24 bit mask below.
When working out routing, I find it is easiest to draw a picture that looks like the image below. Basically you draw a picture with all the IP and subnet written next to each device.
e below that start adding route table information. The basic rule is that a router will need a static route for every network that it is not directly attached to, and cannot be handled by a default route. So Branch1 is not attached to 172.16.15.0/24 (Branch2/PC2), so you will need a route on Branch1 for Branch1 or PC1 to reach that network.
Another step that helps is to build yourself a table of the IP networks. So in the above network these are mentioned.
Once you have your table, look at a single router, and figure out what the next hop will be for each network. So Branch1 is connected to 3 of these networks. This means that the Branch1 router will most likely need 3 routes for it to forward traffic to the correct locations (assuming no default).
So the route table of Branch1 would look like this
10.10.0.0/24 via 192.168.1.5
172.16.4.0/24 no route - Directly connected
172.16.15.0/24 via 192.168.2.2
192.168.1.4/30 no route - Directly connected
192.168.3.8/30 via 192.168.2.2
192.168.2.0/30 no route - Directly connected
Because of your topology you could also add a couple more routes with a different metric to handle the case of one of the links going down between the routers.
10.10.0.0/24 via 192.168.2.2
172.16.15.0/24 via 192.168.1.5
192.168.3.8/30 via 192.168.1.5