First decision: Will you do it alone or will you find a team?
Assembling a team:
This step is quite hard. The guiding rule here is to keep it small. Managing a team of people is
a full-time job, even when all the team resides in the same building.
If you're dealing with an on-line team, you can easily spend all your
time managing it, and that means you won't be spending any time on
making your mod. Adding more people to the team doesn't mean more work
will get done. The more people you have, the more time spent managing
It's also of major importance to ONLY look for people you can't make the mod without. Also, don't "hire" anyone if you haven't seen any of their work.
Creating the mod:
Before starting to randomly build things up you must ask yourself the question: "Why in hell would anyone play my mod?". When you can answer this question you will be ready for the next step.
Before proceeding you still need to think about a variety of important things, but always remember that you are not a commercial entity, and that brings around quite a lot of advantages.
The first thing you have that commercial games do that is the ability to create something that should work(but might not), such as new styles of gameplay and storytelling. Don't ever try to spend too much time on features that are characteristic from commercial games because you just don't have how to compete. Be creative, be innovative. But don't just think that your new gameplay technique is better just because it's different. That may cost you a lot of time because your mod may never be enjoyed by anyone.
Another advantage over commercial games is the fact that you can release your content sooner and keep it updated more frequently. But this is not to be abused as you still do not want to make people quit your mod before you even release the last version. But you don't need to wait until you think the game is perfect to release it and hope people like it, because if people don't, you just wasted quite a lot of time. So, release often. This will also help you getting bugs corrected quite faster. In Amnesia for instance, you can release your mod in chapters, more frequently, but always release quality content. Don't ever release unfinished, unpolished content because that will ruin your mod and no one will check it again.
One of the most important things in mod creation is to create realistic goals. You can't ever compare your mod to a commercial game, neither in size nor in content(quantity, not quality), so never expect to make a game bigger than you can manage because you will only fall in boredom and quit your project before it's finished.
In a more advanced part of your mod, don't ever hesitate in cutting of content and features, because it will only slow you down and reduce your mod quality. Make sure that only stays what needs to stay. This is how most commercial games work, some cut off up to 30% or more of their original features. Do not keep the garbage just because you had to work to create it.
Another important point of mod creation is to never start a mod without fully knowing what you will be working with, which will depend on what will you be, a modeller, coder, mapper. Starting to work without fully knowing the tools you're working with will only result in time wasting, since later on you'll realize how bad the things you did first are and will most likely cut them off the final release.
Plan, Decide, Test and Fix
The first thing you must decide is the estimate of the time it will take to develop the whole mod. I advise 4-6 weeks. The longer it is, the slower you'll work. This time will certainly depend on what kind of mod you're developing, but a mod, while worked by a team should never take much more than that for the first working build to be made, otherwise it'll be on the edge of being a standalone game.
Then, if you are working in the team, you must place someone in charge of certain things, such as keeping always the working full build of the mod, and orienting the other team members for their tasks. This person(called Shipping Leader/SL where I learned), must be very well chosen as he/she must be dedicated, show progress and preferably be a programmer(since most latest bug fixes are programming related). This person only oversees the project, so it isn't by any means more relevant than any other of the main team members.
Another thing the SL is responsible for is to keep the working build updated, which means that the other team members give him the content, he updates the main build, fixes anything that is required for it to work, renames the build to the next version specification and keeps it working until he receives or makes more fully working content.
As you progress trough the development of your mod you'll find that certain parts are not to be changed. Then you must feature lock these parts(make them unchangeable), and avoid touching them again for anything other than bug fixing. By doing this you will ensure that your mod is progressing and you'll always have something to show some progress of your mod. By the ending of the time you estimated in the beginning, the whole mod should be feature locked, and unlocking anything must be avoided.
Once the whole content is feature locked, you must start play testing. This is a boring step and should be done, at first, by the team members. You must make an extensive, detailed inspection of the mod, which means that you will have to fully play it several times. This is one important step, because anything you won't find will be found by some random player and decrease the overall quality and impression of your mod. Use the engine debug functions to understand as best as possible the bugs in the game and always keep one or two externals to bug test the game. They always think of things you don't. As bugs are found they should be sent to the SL, which must keep a list of all bugs and assign to the respective member the task of fixing a specific bug for a certain field.
The worst part of mod creation is ahead: Cutting features. This is the part in which you will cut the feature you most love and probably mostly worked in because it simply will slow down the release time too much. You have to be realist and assume that the mod must be complete to cause an impression. Cutting features and reducing your content to a quality basis always improves the overall quality and impression of the mod causing a much more interesting play trough and avoiding problems of repetition. You must also remove features that you acknowledge that will take too much time to fix since they are broken. Be smart and cut out what you don't need.
Also, don't ever think that by doing a lot of things you're progressing a lot. You must be smart and make sure that you're working on the right thing or you might find out after a while that you've wasted your project time in useless stuff that you will most likely cut out in the latest phases of your mod.
Release time closing in
Now that your mod is basically complete and only a few changes are being made, the shipping leader must evaluate the right time for the release. A good practice is to always add more time when something is changed or fixed and always keep at least two days for troughout play testing after fully stopping the work on the mod. If in these 2 days you find a bug, your SL will add more time and delay the release, otherwise you're ready to release it and must make sure you do it in the right place.
After releasing the content you must be extraordinarily active on the place where you released it on, so you can fix anything that comes up in the less amount of time possible. If no bugs are reported and people like your mod, you've achieved what you signed up for.
Now it's time to listen to people's opinions and improve your next mod/project/game in the ways that they tell you to. You're now on the right track.
Special thanks to the Valve Community and Developers who taught me all this.
I hope I was helpful.
Today I dreamt the life I could live forever. You only know that when you feel it for you know not what you like until you've experienced it.