Great questions.
versioning, bug-tracking, project-management, etc.: Do you use any software-tool for that?
We use SVN for source control. Bug tracking and project management really depends on your situation. For a free .net bug tracking app I recommend BugNet. Depending on your style you can also use it for project management.
testing: How can I test my module best?How can I enable interested visitors to test the module before buying it?
1) Decide the minimum version of DotNetNuke you are going to support. Then create an install for each version until the latest. You will want to automate backing up and restoring these sites. Create a test plan which includes clean install, upgrade install and uninstall for your module. Our test plans are very detailed. We try and cover every possible interaction, document the intended behavior and account for multiple browsers.
2) Trial versions go along with your plan for licensing and protection. See below.
protecting: How can I protect my module against piracy?
You can't. You can only make it more difficult. Decide what you want to protect. Protecting your actual code is tough but you can use obfuscation. Code encryption is also an option, but doesn't work under medium trust. Protecting and enforcing your licensing is a little bit easier. Do you want to limit your product to a certain number of portals or module instances? Do you want customers to activate the product? Do you want to provide featured or time limited versions? How will you provide the customer with the serial number after purchase? There are products available to make this easier for you and we have tried most of them. We ended up building our own solution.
customer support: How many support requests do I have to expect? How can I efficiently handle them? What support do I have to provide and what requests are out of scope?
1) Customers give you money, they expect and deserve support. The level of support is up to you. Whatever you decide make sure it is very clear to your customers. You may want to provide different levels of support and charge extra for more time consuming issues. For example, offer installation support for free but charge extra for CSS support. You may want to offer an installation service where you will install and configure the module for a fee. In that situation, you want to make it clear what support options are available when just getting started.
2) Choose a support tool that allows you to efficiently manage support.
3) If you are just getting started, I would plan on 1 support request per sale. I'm not saying that's realistic, but you should be prepared. If you are getting a high number of support request then you should look at your documentation and the usability of your product.
selling: How and where can I sell the module best after it is finished?
Snowcovered, DNN Marketplace and your own site. Your goal should be to get people to buy directly from you. It took us over 3 years, but now 90% of our sales are direct through our own site. Snowcovered and the DNN Marketplace are great marketing tools and a great way to get started.
Couple other things...
1) Release schedule - How much time can you commit? As soon as you release 1.0 customers will be ready for 1.1. I would suggest releasing 1.0 and have a few features ready for 1.1 and 1.2 within 30-60 days. Show your customers you are commited.
2) Price - Do you want to make money or be popular? Free or cheap modules make you popular, not financially stable. Decide how much money you want to make each month from your module business. "Guestimate" the maximum and minimum number of licenses you think you can sell each month. Now set your price to meet your financial goals. You also need to consider the price points of your competition, but remember you don't have to be the cheapest. If sales are better than you expected raise your price with your next release.
3) Don't compete with me :)