IMHO, it doesn't make since to package a program for deployment until it gets closer to time to make the code public. It gets to be tedious having to issue all the commands to create a *.deb package after every code change.
My work flow has always been:
write the code
run locally (compiling if necessary)
make corrections if there are any errors
repeat steps 3 and 4 until desired results are reached
copy the code to the remote platform and run there
package for release
test the package to make sure it installs/uninstalls correctly
My work flow has always been: