1. On a computing system comprising a processor, a method of detecting phrase confusion risk in a proposed speech grammar for a computer program, the method comprising: providing, by downloading to a remote computing device, via the processor a speech grammar development tool executable by the remote computing device to receive input of a text representation of each of a plurality of proposed speech grammar terms, for each proposed speech grammar term, convert the text representation to a phonetic representation of the speech grammar term, determine whether a portion of the proposed speech grammar term has a spoken duration below a threshold duration, and if the portion of the proposed speech grammar term has a spoken duration below the threshold duration, then omit the portion from the phonetic representation of the proposed speech grammar term, compare via a speech recognition engine the phonetic representation of the speech grammar term to the phonetic representations of other speech grammar terms using a weighted similarity matrix, and provide an output regarding risk of confusion between two proposed speech grammar terms based upon a comparison by the speech recognition engine of the phonetic representations of the two proposed speech grammar terms; receiving via the processor data regarding incorrect speech grammar term identification; and modifying via the processor speech grammar used by the speech recognition engine, wherein modifying the speech grammar comprises modifying one or more weights in the weighted similarity matrix based upon the data.