Making Sharewares 
by iDog
This should also be suitable for a tiny/small software company if it wants to have its own products.
-  Get an idea
 -  Market investigation: 
-  Find existing similar software products, try them or analyze them, list their pros and cons
 -  decide if it's necessary or meaningful to make this idea a software product
 
 -  Analysis
-  Use the analysis result, decide the shining point of the product
 -  Make a list of features: ones included in the first release, and ones to be added.
 
 -  Design
-  High level design, document it.
 -  Choose programming language
 -  Search for existing reusable code/algorithm, analyze their copyright.
 -  Detailed design, document it
 
 -  Programming & Testing
-  Write code, test cases
 -  Debug
 -  Write comments and documents
 -  Write manual
 
 -  Releasing, Promoting & Selling
 -  Customer Support
 -  Bug fix, Version up.