aspects of good specifications: correct, precise, unambiguous, 
                    complete, verifiable, consistent, modifiable, traceable, usable 
                    during operation and maintenance, versioning. 
                   
                    1)Gain agreement on the problem being solved
                    2) identify stakeholders
                    3) define product boundaries (includes 
                      HW/SW requirements, architecture)
                    4) Identify constraints imposed on product 
                      
                    5) Define priorities, risks, critical 
                      features
                     6) Define performance, reliability, suportability 
                    
                    product = vision of desired solution