Obtaining better software product by using test first programming technique | Synapse