BG and Zombie have both provided some great info. I'll add this.
BG said the key factors in tournament length are blind level times, starting stack size, and number of players. He's right, though I'd add starting blinds and average blinds increase to the factors. Alter any one of those 5 things and you alter the length of time a tournament will last.
I don't use any software to determine tournament structure, unless you count an Excel spreadsheet though I use it to calculate things when I change factors by hand. I use two formulas. When the total of all blinds and antes = 5% of the total chips, the tournament should end. A second formula (referred to earlier in this thread) is when the BB = 5% of the total chips, the tournament will end. Here are the two formulas spelled out:
A+SB+BB=#*$*.05 (Formula A)
BB=#*$*.05 (Formula B)
Key
A = Ante
SB = Small Blind
BB = Big Blind
# = Number of players
$ = Value of chips players receive
* = x (these formulas were pulled out of Excel so you could plug them in as is.
While those two formulas yield different results, reality should be between the two, 80-90% of the time, the time falls within that range. I use the two formulas to bracket the length of time a tournament should last. Sometimes it goes faster than Formula B. From there I identify a round where it should end, and by going +/-1, I know that it should end within 3 blind levels -- the target level and +1 or -1.
We had a tournament recently that despite more than normal chips and more than normal players, it ended much sooner than normal. I attribute that to an unusual number of hands where at least two players had really strong hands and good players were knocked out in situations where there wouldn't normally have been two players in the hand. I've also seen the opposite happen, but those are definitely the exception and not the rule.
I've developed several "model" blind structures with steady increases from 25% to 100%. Any of those models can be well-designed to reliably end a tournament at a particular time. Any can be designed to be very attractive to highly skilled players. I then take the model and develop a structure that fits the chip set. Our current structure has blinds increasing by 50-67% every round except Round 2 where it doubles. For some reason, my players don't like an increase between the first two that doesn't double. In the interest of giving them what they say they want, I double the blinds in Round 2 and adjusted the started blinds slightly upward to accommodate that.
If a tournament goes beyond the anticipated time, I say it "red lined," meaning it went over. Red line tournaments may happen 10% of the time. Eventually they will happen. Others are right about "nits" playing, if by that term they mean players who are very tight and not willing to take risks late in the tournament when it affects whether they get in the money or not.
Now let me use a couple of examples to demonstrate how factors work together. Suppose you want a 20 player tournament to last 4 hours (bracket 3:20 to 4:20), 20 minute blinds, with BB = SBx2, and where skilled players have the best chance (our model tournament):
A -- Using a Fibonacci sequence to determine the next blind level (Round 1 + Round 2 = Round 3; Round 2 + Round 3 = Round 4; etc.), your increase is going to average 1.62 the previous blinds. 250 BB to start yields that result. Decrease the increases to 1.5x the previous blind levels and you will add 2 blind levels to the end time, or (4:00 to 5:00).
B -- Use 1.4x increases, you could accomplish that time with with only 50 BB, but the luck factor increases considerably. To have the same skill factor, your tournament needs to be 2 rounds longer, or (4:00 to 5:00).
C -- Doubling the blinds every time requires 2000 BB to start.
If you have a hard stop on time, and you can reliably start at the planned starting time, there are many possible ways to do it, but I've found some structures are easier to design than others.
I am happy to share the spreadsheet I use with anyone. It provides an incredible amount of information about a tournament and will work for any size tournament.