If my sourdough starter does not float in water, does that mean it is not ready?
Passing the float test is a good indicator that your starter is ready to use, however, it is not a perfect science. An active starter will produce pockets of CO2, as well as alcohol, which is less dense than water, and will result in buoyancy. This buoyancy is a good indicator of a very active starter that will go on to produce a decent rise. That being said, I have used starters that did not float, yet went on to make a decent loaf.
It's important to note that the flour-to-water ratio (aka. hydration) of your starter also impacts its buoyancy. I encourage you to try this out for yourself.
Pour 1/4 cup of your active starter into two separate containers, reserving some of the mother starter, of course. Feed one container with a 2/1 ratio of water-to-flour. Feed the other with a 2/1 ratio of flour-to-water. Mix them up and immediately try the float test. The mixture with more flour (less hydration) is more likely to stay composed and not desegregate upon contact with water. This, combined with the fact that partially dry flour less dense than water give it a better chance of floating.
Answering the "is it ready" question is tricky as there are far too many factors in play for anyone to look at a starter and say "this starter is ready and is going to make awesome bread".
My suggestion would be to take your current starter and branch it off into separate containers throughout your house. Experiment with different feeding techniques (I use 1 part organic whole wheat, 1 part bread flour, 2 parts bottled spring water). You might try altering the flour types and hydration ratios to encourage yeast production.