1) The best place to start is a white board. If your company does not have whiteboards, tell them to order some. Jokes aside. You will wonder how you lived without it.
2) Create a prototype paper with stakeholders or create them. They take maybe 30 minutes to make and solve a ton of user interface arguments that would otherwise be “defects”
3) Code. This is the easy part.
4) Refactoring when fixing defects. You will notice the best things you could do, shortcuts, duplicate code. Take time to fix the defect correctly and the quality of the code will improve. This is an iterative process.
5) Visio, if you postpone the process (to support or something else). This may be step 4 as a kind of state machine, but prototypes of paper should be sufficient for you to start with turning on, turning off, etc.
If you are developing and writing computer code before you have a prototype, and you have a white version, you will need to invest a lot more time in the Refactor step. Visio and other state design applications will show you what is happening, but the whiteboard marker is the excalibur of the development world.
I know that this does not answer the question that you asked, literally; however, solid processes are infinitely more valuable than tools.
source share