This may sound cliche, however, in my experience through being in a situation like yours and what I have learnt from academia, choosing a methodology is very difficult - the biggest two problems being, you can't really evaluate whether a methodology is appropriate until you have used it and gained experience and a successful use of a methodology is highly dependant on you and your surroundings - just because your boss is hands-off, what is the rest of the staff like? Have they been burned with poor IT projects before, what is the average competency / acceptance level of IT?
From my experience working in small teams;
Linear Methodologies (SSADM etc.)
Advantages
- Normally simple, rigid structure to
follow (as detailed in your question)
- High levels of verbosity and ceremony
= happy management (they normally think in phases/milestones that can
be 'signed off')
Disadvantages
- Inherently averse to change late on
(without cost / time)
Iterative Methodologies (RAD, UP)
Advantages
- Values constant change and
improvement Delivering work in small
but useful parts (happy management)
Disadvantages
- Requires self-discipline to follow
what may seem 'un-natural' at first.
- Management's adversity to what may be
perceived as 'new/risky'
How does this apply to you? It depends on how you feel you can manage yourself like this (have you had previous experience in being a sole developer like this?) - I personally find it very difficult to stick to a strict methodology once I have lost interest.
Although you mentioned that your management is quite hands off - this could actually be an issue - without someone taking a role in oversight - self-motivation may drop and I have found hands-off people tend to come down on you harder when the proverbial hits the fan!
You mentioned you didn't want to get into bad habits, this sounds like you may be suited to a more regimented methodology - so you may find the methodology I use quite often, also good. OpenUP is an iterative, but moderately documented methodology, with the cherry on the top that means you can customise the methodology to your needs - for example, out of the box it IS too heavyweight for a one man band - however it does have sound advice.
Requirements
I can't stress how much to document as much as you can and keep a good version control system (even if it means you create a new version of your word documents every significant change).
Embrace 'agile' analysis methods - whiteboards are your friend.
Also consider using rapid prototyping tools if are able to get time to use them with your end-users
Design & implementation
I would have to say that this is quite dependant on your tool set / platform. Just use tools you are comfortable with. And use Source Control.
Testing
If it all possible get a development and live system, this is even more important if you are doing something iterative, push your delivered parts of the code onto live while you play on development.
UAT
A minefield, you need to make sure that you don't get swamped with 'this button is 1 pixel too far to the right' kind of problems and focus on the core problems, prioritise them on complexity and time they will take to fix.
And my final piece - everyone hates it, everyone should do it, everyone says they will, nobody does - PLANNING. Every post-mortem if mine has been plan better.