...and it differs dependent on your application. When your BBB is running with Linux, you can do development and debugging using the usual tools (except for the PRU-code, which is more tricky).
But when you want to do bare-metal programming, tools are quite different (CCS as already mentioned) and you will need a hardware debugger (JTAG) except you want to do printf()-debugging via serial console only.
In case of a bare-metal approach I would recommend StarterWareFree from
https://sourceforge.net/projects/starterwarefree/ which is similar to TI's official bare-metal programming package but comes with a lot of bug fixes and additional features.