Here is some laws to take into consideration when developing a software:
It always takes longer than you expect, even when you take Hofstadter’s Law into account.
Adding manpower to a late software project makes it later.
People under time pressure don’t think faster.
The ninety-ninety rule
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.
Worse is better (New Jersey style)
Describes how a seemingly “inferior” product can be better from a user perspective. A limited but easy-to-use software may be more popular among users than a “better”, more comprehensive one.
Software is getting slower more rapidly than hardware becomes faster.
Source: pingdom blog