Context is key, but I have to admit that outside-in approach has worked better for me much of the times. Usually it associated to London approach since starting from outside requires to use some mocks to substitute the component you have not implemented yet.
However, my approach is different. Start from outside writing just enough code to make the test pass, paying attention to the API you are exposing and less on the internal implementation.
Once you have covered the behavior you want to implement, you can move inside to put some design and adding tests if required. Thoughts?