I'm the sole developer and my responsibilities include development, maintenance, communication about new requirements and some consulting. I should add that I report to board member who supervises the financial results, and who don't get involved in the planning.
Estimating development tasks is the biggest issue for me as I tend to commit to the nearest possible deadline, but then get sidetracked by maintenance, consulting or higher priority tasks. I miss deadlines constantly.
I feel overwhelmed. In a different environment I could afford to have longer queues, stronger lines of communication, and more accurate requirements, but the environment is too dynamic for it.
How can I go about introducing more organization into all this?