Personally, whether it is ICE or scripting or C++, I’ll focus on specific pieces of the puzzle before I put everything together.
For example, for a simple bulge effect in ICE, I started by making sure I knew how to get the distance between a null and a mesh, and provide some sort of distance fall-off.
As has been noted by many others in many other [more detailed] videos, ICE is pretty good at giving you ways to visualize and debug:
In this case, to help me visualize how many points would be “bulged”, I just had show some vectors: